diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:24 +0000 |
commit | 8baab3c8d7a6f22888bd581cd5c6098fd2e4b5a8 (patch) | |
tree | 3537e168b860f2742f6029d70501b5ed7d15d345 /runtime/doc/version8.txt | |
parent | Initial commit. (diff) | |
download | vim-upstream.tar.xz vim-upstream.zip |
Adding upstream version 2:8.1.0875.upstream/2%8.1.0875upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | runtime/doc/version8.txt | 25795 |
1 files changed, 25795 insertions, 0 deletions
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt new file mode 100644 index 0000000..50ebf33 --- /dev/null +++ b/runtime/doc/version8.txt @@ -0,0 +1,25795 @@ +*version8.txt* For Vim version 8.1. Last change: 2018 May 17 + + + VIM REFERENCE MANUAL by Bram Moolenaar + + + *vim8* *vim-8* *version-8.0* *version8.0* +Welcome to Vim 8! A large number of bugs have been fixed and several nice +features have been added. This file mentions all the new items and changes to +existing features since Vim 7.4. The patches up to Vim 7.4 can be found here: +|vim-7.4|. + +Use this command to see the full version and features information of the Vim +program you are using: > + :version + +NEW FEATURES |new-8| + Vim script enhancements |new-vim-script-8| + Various new items |new-items-8| + +INCOMPATIBLE CHANGES |incompatible-8| + +IMPROVEMENTS |improvements-8| + +COMPILE TIME CHANGES |compile-changes-8| + +PATCHES |patches-8| + +VERSION 8.1 |version-8.1| +Changed |changed-8.1| +Added |added-8.1| +Patches |patches-8.1| + + +See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0. +See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for +differences between other versions. + +============================================================================== +NEW FEATURES *new-8* + +First an overview of the more interesting new features. A comprehensive list +is below. + + +Asynchronous I/O support, channels ~ + +Vim can now exchange messages with other processes in the background. This +makes it possible to have servers do work and send back the results to Vim. +See |channel-demo| for an example, this shows communicating with a Python +server. + +Closely related to channels is JSON support. JSON is widely supported and can +easily be used for inter-process communication, allowing for writing a server +in any language. The functions to use are |json_encode()| and |json_decode()|. + +This makes it possible to build very complex plugins, written in any language +and running in a separate process. + + +Jobs ~ + +Vim can now start a job, communicate with it and stop it. This is very useful +to run a process for completion, syntax checking, etc. Channels are used to +communicate with the job. Jobs can also read from or write to a buffer or a +file. See |job_start()|. + + +Timers ~ + +Also asynchronous are timers. They can fire once or repeatedly and invoke a +function to do any work. For example: > + let tempTimer = timer_start(4000, 'CheckTemp') +This will call the CheckTemp() function four seconds (4000 milli seconds) +later. See |timer_start()|. + + +Partials ~ + +Vim already had a Funcref, a reference to a function. A partial also refers +to a function, and additionally binds arguments and/or a dictionary. This is +especially useful for callbacks on channels and timers. E.g., for the timer +example above, to pass an argument to the function: > + let tempTimer = timer_start(4000, function('CheckTemp', ['out'])) +This will call CheckTemp('out') four seconds later. + + +Lambda and Closure ~ + +A short way to create a function has been added: {args -> expr}. See |lambda|. +This is useful for functions such as `filter()` and `map()`, which now also +accept a function argument. Example: > + :call filter(mylist, {idx, val -> val > 20}) + +A lambda can use variables defined in the scope where the lambda is defined. +This is usually called a |closure|. + +User defined functions can also be a closure by adding the "closure" argument +|:func-closure|. + + +Packages ~ + +Plugins keep growing and more of them are available than ever before. To keep +the collection of plugins manageable package support has been added. This is +a convenient way to get one or more plugins, drop them in a directory and +possibly keep them updated. Vim will load them automatically, or only when +desired. See |packages|. + + +New style tests ~ + +This is for Vim developers. So far writing tests for Vim has not been easy. +Vim 8 adds assert functions and a framework to run tests. This makes it a lot +simpler to write tests and keep them updated. Also new are several functions +that are added specifically for testing. See |test-functions|. + + +Window IDs ~ + +Previously windows could only be accessed by their number. And every time a +window would open, close or move that number changes. Each window now has a +unique ID, so that they are easy to find. See |win_getid()| and |win_id2win()|. + + +Viminfo uses timestamps ~ + +Previously the information stored in viminfo was whatever the last Vim wrote +there. Now timestamps are used to always keep the most recent items. +See |viminfo-timestamp|. + + +Wrapping lines with indent ~ + +The 'breakindent' option has been added to be able to wrap lines without +changing the amount of indent. + + +Windows: DirectX support ~ + +This adds the 'renderoptions' option to allow for switching on DirectX +(DirectWrite) support on MS-Windows. + + +GTK+ 3 support ~ + +The GTK+ 3 GUI works just like GTK+ 2 except for hardly noticeable technical +differences between them. Configure still chooses GTK+ 2 if both 2 and 3 are +available. See src/Makefile for how to use GTK+ 3 instead. See +|gui-x11-compiling| for other details. + + +Vim script enhancements *new-vim-script-8* +----------------------- + +In Vim script the following types have been added: + + |Special| |v:false|, |v:true|, |v:none| and |v:null| + |Channel| connection to another process for asynchronous I/O + |Job| process control + +Many functions and commands have been added to support the new types. + +On some systems the numbers used in Vim script are now 64 bit. This can be +checked with the |+num64| feature. + +Many items were added to support |new-style-testing|. + +printf() now accepts any type of argument for %s. It is converted to a string +like with string(). + + +Various new items *new-items-8* +----------------- + +Visual mode commands: ~ + +|v_CTRL-A| CTRL-A add N to number in highlighted text +|v_CTRL-X| CTRL-X subtract N from number in highlighted text +|v_g_CTRL-A| g CTRL-A add N to number in highlighted text +|v_g_CTRL-X| g CTRL-X subtract N from number in highlighted text + + +Insert mode commands: ~ + +|i_CTRL-G_U| CTRL-G U don't break undo with next cursor movement + + +Cmdline mode commands: ~ + +|/_CTRL-G| CTRL-G move to the next match in 'incsearch' mode +|/_CTRL-T| CTRL-T move to the previous match in 'incsearch' mode + + +Options: ~ + +'belloff' do not ring the bell for these reasons +'breakindent' wrapped line repeats indent +'breakindentopt' settings for 'breakindent'. +'emoji' emoji characters are considered full width +'fixendofline' make sure last line in file has <EOL> +'langremap' do apply 'langmap' to mapped characters +'luadll' name of the Lua dynamic library +'packpath' list of directories used for packages +'perldll' name of the Perl dynamic library +'pythondll' name of the Python 2 dynamic library +'pythonthreedll' name of the Python 3 dynamic library +'renderoptions' options for text rendering on Windows +'rubydll' name of the Ruby dynamic library +'signcolumn' when to display the sign column +'tagcase' how to handle case when searching in tags files +'tcldll' name of the Tcl dynamic library +'termguicolors' use GUI colors for the terminal + + +Ex commands: ~ + +|:cbottom| scroll to the bottom of the quickfix window +|:cdo| execute command in each valid error list entry +|:cfdo| execute command in each file in error list +|:chistory| display quickfix list stack +|:clearjumps| clear the jump list +|:filter| only output lines that (do not) match a pattern +|:helpclose| close one help window +|:lbottom| scroll to the bottom of the location window +|:ldo| execute command in valid location list entries +|:lfdo| execute command in each file in location list +|:lhistory| display location list stack +|:noswapfile| following commands don't create a swap file +|:packadd| add a plugin from 'packpath' +|:packloadall| load all packages under 'packpath' +|:smile| make the user happy + + +Ex command modifiers: ~ + +|:keeppatterns| following command keeps search pattern history +|<mods>| supply command modifiers to user defined commands + + +New and extended functions: ~ + +|arglistid()| get id of the argument list +|assert_equal()| assert that two expressions values are equal +|assert_exception()| assert that a command throws an exception +|assert_fails()| assert that a function call fails +|assert_false()| assert that an expression is false +|assert_inrange()| assert that an expression is inside a range +|assert_match()| assert that a pattern matches the value +|assert_notequal()| assert that two expressions values are not equal +|assert_notmatch()| assert that a pattern does not match the value +|assert_true()| assert that an expression is true +|bufwinid()| get the window ID of a specific buffer +|byteidxcomp()| like byteidx() but count composing characters +|ch_close()| close a channel +|ch_close_in()| close the in part of a channel +|ch_evalexpr()| evaluates an expression over channel +|ch_evalraw()| evaluates a raw string over channel +|ch_getbufnr()| get the buffer number of a channel +|ch_getjob()| get the job associated with a channel +|ch_info()| get channel information +|ch_log()| write a message in the channel log file +|ch_logfile()| set the channel log file +|ch_open()| open a channel +|ch_read()| read a message from a channel +|ch_readraw()| read a raw message from a channel +|ch_sendexpr()| send a JSON message over a channel +|ch_sendraw()| send a raw message over a channel +|ch_setoptions()| set the options for a channel +|ch_status()| get status of a channel +|execute()| execute an Ex command and get the output +|exepath()| full path of an executable program +|funcref()| return a reference to function {name} +|getbufinfo()| get a list with buffer information +|getcharsearch()| return character search information +|getcmdwintype()| return the current command-line window type +|getcompletion()| return a list of command-line completion matches +|getcurpos()| get position of the cursor +|gettabinfo()| get a list with tab page information +|getwininfo()| get a list with window information +|glob2regpat()| convert a glob pattern into a search pattern +|isnan()| check for not a number +|job_getchannel()| get the channel used by a job +|job_info()| get information about a job +|job_setoptions()| set options for a job +|job_start()| start a job +|job_status()| get the status of a job +|job_stop()| stop a job +|js_decode()| decode a JSON string to Vim types +|js_encode()| encode an expression to a JSON string +|json_decode()| decode a JSON string to Vim types +|json_encode()| encode an expression to a JSON string +|matchaddpos()| define a list of positions to highlight +|matchstrpos()| match and positions of a pattern in a string +|perleval()| evaluate Perl expression +|reltimefloat()| convert reltime() result to a Float +|setcharsearch()| set character search information +|setfperm()| set the permissions of a file +|strcharpart()| get part of a string using char index +|strgetchar()| get character from a string using char index +|systemlist()| get the result of a shell command as a list +|test_alloc_fail()| make memory allocation fail +|test_autochdir()| test 'autochdir' functionality +test_disable_char_avail() test without typeahead (removed later) +|test_garbagecollect_now()| free memory right now +|test_null_channel()| return a null Channel +|test_null_dict()| return a null Dict +|test_null_job()| return a null Job +|test_null_list()| return a null List +|test_null_partial()| return a null Partial function +|test_null_string()| return a null String +|test_settime()| set the time Vim uses internally +|timer_info()| get information about timers +|timer_pause()| pause or unpause a timer +|timer_start()| create a timer +|timer_stop()| stop a timer +|timer_stopall()| stop all timers +|uniq()| remove copies of repeated adjacent items +|win_findbuf()| find windows containing a buffer +|win_getid()| get window ID of a window +|win_gotoid()| go to window with ID +|win_id2tabwin()| get tab and window nr from window ID +|win_id2win()| get window nr from window ID +|wordcount()| get byte/word/char count of buffer + + +New Vim variables: ~ + +|v:beval_winid| Window ID of the window where the mouse pointer is +|v:completed_item| complete items for the most recently completed word +|v:errors| errors found by assert functions +|v:false| a Number with value zero +|v:hlsearch| indicates whether search highlighting is on +|v:mouse_winid| Window ID for a mouse click obtained with |getchar()| +|v:none| an empty String, used for JSON +|v:null| an empty String, used for JSON +|v:option_new| new value of the option, used by |OptionSet| +|v:option_old| old value of the option, used by |OptionSet| +|v:option_type| scope of the set command, used by |OptionSet| +|v:progpath| the command with which Vim was invoked +|v:t_bool| value of Boolean type +|v:t_channel| value of Channel type +|v:t_dict| value of Dictionary type +|v:t_float| value of Float type +|v:t_func| value of Funcref type +|v:t_job| value of Job type +|v:t_list| value of List type +|v:t_none| value of None type +|v:t_number| value of Number type +|v:t_string| value of String type +|v:testing| must be set before using `test_garbagecollect_now()` +|v:true| a Number with value one +|v:vim_did_enter| set just before VimEnter autocommands are triggered + + +New autocommand events: ~ + +|CmdUndefined| a user command is used but it isn't defined +|OptionSet| after setting any option +|TabClosed| after closing a tab page +|TabNew| after creating a new tab page +|TextChangedI| after a change was made to the text in Insert mode +|TextChanged| after a change was made to the text in Normal mode +|WinNew| after creating a new window + + +New highlight groups: ~ + +EndOfBuffer filler lines (~) after the last line in the buffer. + |hl-EndOfBuffer| + + +New items in search patterns: ~ + +|/\%C| \%C match any composing characters + + +New Syntax/Indent/FTplugin files: ~ + +AVR Assembler (Avra) syntax +Arduino syntax +Bazel syntax and indent and ftplugin +Dockerfile syntax and ftplugin +Eiffel ftplugin +Euphoria 3 and 4 syntax +Go syntax and indent and ftplugin +Godoc syntax +Groovy ftplugin +HGcommit ftplugin +Hog indent and ftplugin +Innovation Data Processing upstream.pt syntax +J syntax and indent and ftplugin +Jproperties ftplugin +Json syntax and indent and ftplugin +Kivy syntax +Less syntax and indent +Mix syntax +Motorola S-Record syntax +R ftplugin +ReStructuredText syntax and indent and ftplugin +Registry ftplugin +Rhelp indent and ftplugin +Rmd (markdown with R code chunks) syntax and indent +Rmd ftplugin +Rnoweb ftplugin +Rnoweb indent +Scala syntax and indent and ftplugin +SystemVerilog syntax and indent and ftplugin +Systemd syntax and indent and ftplugin +Teraterm (TTL) syntax and indent +Text ftplugin +Vroom syntax and indent and ftplugin + + +New Keymaps: ~ + +Armenian eastern and western +Russian jcukenwintype +Vietnamese telex and vni + +============================================================================== +INCOMPATIBLE CHANGES *incompatible-8* + +These changes are incompatible with previous releases. Check this list if you +run into a problem when upgrading from Vim 7.4 to 8.0. + + +Better defaults without a vimrc ~ + +When no vimrc file is found, the |defaults.vim| script is loaded to set more +useful default values for new users. That includes setting 'nocompatible'. +Thus Vim no longer starts up in Vi compatible mode. If you do want that, +either create a .vimrc file that does "set compatible" or start Vim with +"vim -C". + + +Support removed ~ + +The support for MS-DOS has been removed. It hasn't been working for a while +(Vim doesn't fit in memory) and removing it cleans up the code quite a bit. + +The support for Windows 16 bit (Windows 95 and older) has been removed. + +The support for OS/2 has been removed. It probably hasn't been working for a +while since nobody uses it. + +The SNiFF+ support has been removed. + + +Minor incompatibilities: ~ + +Probably... + +============================================================================== +IMPROVEMENTS *improvements-8* + +The existing blowfish encryption turned out to be much weaker than it was +supposed to be. The blowfish2 method has been added to fix that. Note that +this still isn't a state-of-the-art encryption, but good enough for most +usage. See 'cryptmethod'. + + +============================================================================== +COMPILE TIME CHANGES *compile-changes-8* + +The Vim repository was moved from Google code to github, since Google code +was shut down. It can now be found at https://github.com/vim/vim. + +Functions now use ANSI-C declarations. At least a C-89 compatible compiler is +required. + +The +visual feature is now always included. + +============================================================================== +PATCHES *patches-8* *bug-fixes-8* + +The list of patches that got included since 7.4.0. This includes all the new +features, but does not include runtime file changes (syntax, indent, help, +etc.) + +Patch 7.4.001 +Problem: Character classes such as [a-z] do not react to 'ignorecase'. + Breaks man page highlighting. (Mario Grgic) +Solution: Add separate items for classes that react to 'ignorecase'. Clean + up logic handling character classes. Add more tests. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.002 +Problem: Pattern with two alternative look-behind matches does not match. + (Amadeus Demarzi) +Solution: When comparing PIMs also compare their state ID to see if they are + different. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.003 +Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) +Solution: Refresh stale pointer. (James McCoy) +Files: src/regexp_nfa.c + +Patch 7.4.004 +Problem: When closing a window fails ":bwipe" may hang. +Solution: Let win_close() return FAIL and break out of the loop. +Files: src/window.c, src/proto/window.pro, src/buffer.c + +Patch 7.4.005 +Problem: Using "vaB" while 'virtualedit' is set selects the wrong area. + (Dimitar Dimitrov) +Solution: Reset coladd when finding a match. +Files: src/search.c + +Patch 7.4.006 +Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett) +Solution: Remove the trailing slash. (lcd) +Files: src/eval.c + +Patch 7.4.007 +Problem: Creating a preview window on startup leaves the screen layout in a + messed up state. (Marius Gedminas) +Solution: Don't change firstwin. (Christian Brabandt) +Files: src/main.c + +Patch 7.4.008 +Problem: New regexp engine can't be interrupted. +Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto) +Files: src/regexp_nfa.c, src/regexp.c + +Patch 7.4.009 +Problem: When a file was not decrypted (yet), writing it may destroy the + contents. +Solution: Mark the file as readonly until decryption was done. (Christian + Brabandt) +Files: src/fileio.c + +Patch 7.4.010 (after 7.4.006) +Problem: Crash with invalid argument to mkdir(). +Solution: Check for empty string. (lcd47) +Files: src/eval.c + +Patch 7.4.011 +Problem: Cannot find out if "acl" and "xpm" features are supported. +Solution: Add "acl" and "xpm" to the list of features. (Ken Takata) +Files: src/eval.c, src/version.c + +Patch 7.4.012 +Problem: MS-Windows: resolving shortcut does not work properly with + multi-byte characters. +Solution: Use wide system functions. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.013 +Problem: MS-Windows: File name buffer too small for utf-8. +Solution: Use character count instead of byte count. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.014 +Problem: MS-Windows: check for writing to device does not work. +Solution: Fix #ifdefs. (Ken Takata) +Files: src/fileio.c + +Patch 7.4.015 +Problem: MS-Windows: Detecting node type does not work for multi-byte + characters. +Solution: Use wide character function when needed. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.016 +Problem: MS-Windows: File name case can be wrong. +Solution: Add fname_casew(). (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.017 +Problem: ":help !!" does not find the "!!" tag in the help file. (Ben + Fritz) +Solution: When reading the start of the tags file do parse lines that are + not header lines. +Files: src/tag.c + +Patch 7.4.018 +Problem: When completing item becomes unselected. (Shougo Matsu) +Solution: Revert patch 7.3.1269. +Files: src/edit.c + +Patch 7.4.019 +Problem: MS-Windows: File name completion doesn't work properly with + Chinese characters. (Yue Wu) +Solution: Take care of multi-byte characters when looking for the start of + the file name. (Ken Takata) +Files: src/edit.c + +Patch 7.4.020 +Problem: NFA engine matches too much with \@>. (John McGowan) +Solution: When a whole pattern match is found stop searching. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.021 +Problem: NFA regexp: Using \ze in one branch which doesn't match may cause + end of another branch to be wrong. (William Fugh) +Solution: Set end position if it wasn't set yet. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.022 +Problem: Deadlock while exiting, because of allocating memory. +Solution: Do not use gettext() in deathtrap(). (James McCoy) +Files: src/os_unix.c, src/misc1.c + +Patch 7.4.023 +Problem: Compiler warning on 64 bit windows. +Solution: Add type cast. (Mike Williams) +Files: src/edit.c + +Patch 7.4.024 +Problem: When root edits a file the undo file is owned by root while the + edited file may be owned by another user, which is not allowed. + (cac2s) +Solution: Accept an undo file owned by the current user. +Files: src/undo.c + +Patch 7.4.025 (after 7.4.019) +Problem: Reading before start of a string. +Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle) +Files: src/edit.c + +Patch 7.4.026 +Problem: Clang warning for int shift overflow. +Solution: Use unsigned and cast back to int. (Dominique Pelle) +Files: src/misc2.c + +Patch 7.4.027 (after 7.4.025) +Problem: Another valgrind error when using CTRL-X CTRL-F at the start of + the line. (Dominique Pelle) +Solution: Don't call mb_ptr_back() at the start of the line. Add a test. +Files: src/edit.c, src/testdir/test32.in + +Patch 7.4.028 +Problem: Equivalence classes are not working for multi-byte characters. +Solution: Copy the rules from the old to the new regexp engine. Add a test + to check both engines. +Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in, + src/testdir/test99.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile + +Patch 7.4.029 +Problem: An error in a pattern is reported twice. +Solution: Remove the retry with the backtracking engine, it won't work. +Files: src/regexp.c + +Patch 7.4.030 +Problem: The -mno-cygwin argument is no longer supported by Cygwin. +Solution: Remove the arguments. (Steve Hall) +Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak + +Patch 7.4.031 +Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles + Cooper) +Solution: Only resets related options in a window where 'diff' is set. +Files: src/diff.c + +Patch 7.4.032 +Problem: NFA engine does not match the NUL character. (Jonathon Merz) +Solution: Use 0x0a instead of NUL. (Christian Brabandt) +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.033 +Problem: When the terminal has only 20 lines test 92 and 93 overwrite the + input file. +Solution: Explicitly write test.out. Check that the terminal is large enough + to run the tests. (Hirohito Higashi) +Files: src/testdir/test92.in, src/testdir/test93.in, + src/testdir/test1.in, src/testdir/Makefile + +Patch 7.4.034 +Problem: Using "p" in Visual block mode only changes the first line. +Solution: Repeat the put in all text in the block. (Christian Brabandt) +Files: runtime/doc/change.txt, src/ops.c, src/normal.c, + src/testdir/test20.in, src/testdir/test20.ok + +Patch 7.4.035 +Problem: MS-Windows: The mouse pointer flickers when going from command + line mode to Normal mode. +Solution: Check for WM_NCMOUSEMOVE. (Ken Takata) +Files: src/gui_w48.c + +Patch 7.4.036 +Problem: NFA engine does not capture group correctly when using \@>. (ZyX) +Solution: Copy submatches before doing the recursive match. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.037 +Problem: Using "\ze" in a sub-pattern does not result in the end of the + match to be set. (Axel Bender) +Solution: Copy the end of match position when a recursive match was + successful. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.038 +Problem: Using "zw" and "zg" when 'spell' is off give a confusing error + message. (Gary Johnson) +Solution: Ignore the error when locating the word. Explicitly mention what + word was added. (Christian Brabandt) +Files: src/normal.c, src/spell.c + +Patch 7.4.039 +Problem: MS-Windows: MSVC10 and earlier can't handle symlinks to a + directory properly. +Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h + +Patch 7.4.040 +Problem: Valgrind error on exit when a script-local variable holds a + reference to the scope of another script. +Solution: First clear all variables, then free the scopes. (ZyX) +Files: src/eval.c + +Patch 7.4.041 (after 7.4.034) +Problem: Visual selection does not remain after being copied over. (Axel + Bender) +Solution: Move when VIsual_active is reset. (Christian Brabandt) +Files: src/ops.c + +Patch 7.4.042 +Problem: When using ":setlocal" for 'spell' and 'spelllang' then :spelldump + doesn't work. (Dimitar Dimitrov) +Solution: Copy the option variables to the new window used to show the dump. + (Christian Brabandt) +Files: src/spell.c + +Patch 7.4.043 +Problem: VMS can't handle long function names. +Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik) +Files: src/main.c, src/term.c, src/proto/term.pro + + +Patch 7.4.044 (after 7.4.039) +Problem: Can't build with old MSVC. (Wang Shoulin) +Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly. +Files: src/os_mswin.c + +Patch 7.4.045 +Problem: substitute() does not work properly when the pattern starts with + "\ze". +Solution: Detect an empty match. (Christian Brabandt) +Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok + +Patch 7.4.046 +Problem: Can't use Tcl 8.6. +Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans) +Files: src/if_tcl.c + +Patch 7.4.047 +Problem: When using input() in a function invoked by a mapping it doesn't + work. +Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.048 +Problem: Recent clang version complains about -fno-strength-reduce. +Solution: Add a configure check for the clang version. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure + +Patch 7.4.049 +Problem: In Ex mode, when line numbers are enabled the substitute prompt is + wrong. +Solution: Adjust for the line number size. (Benoit Pierre) +Files: src/ex_cmds.c + +Patch 7.4.050 +Problem: "gn" selects too much for the pattern "\d" when there are two + lines with a single digit. (Ryan Carney) +Solution: Adjust the logic of is_one_char(). (Christian Brabandt) +Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok + +Patch 7.4.051 +Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston) +Solution: Copy the pim structure before calling addstate() to avoid it + becoming invalid when the state list is reallocated. +Files: src/regexp_nfa.c + +Patch 7.4.052 +Problem: With 'fo' set to "a2" inserting a space in the first column may + cause the cursor to jump to the previous line. +Solution: Handle the case when there is no comment leader properly. (Tor + Perkins) Also fix that cursor is in the wrong place when spaces + get replaced with a Tab. +Files: src/misc1.c, src/ops.c, src/testdir/test68.in, + src/testdir/test68.ok + +Patch 7.4.053 +Problem: Test75 has a wrong header. (ZyX) +Solution: Fix the text and remove leading ". +Files: src/testdir/test75.in + +Patch 7.4.054 +Problem: Reading past end of the 'stl' string. +Solution: Don't increment pointer when already at the NUL. (Christian + Brabandt) +Files: src/buffer.c + +Patch 7.4.055 +Problem: Mac: Where availability macros are defined depends on the system. +Solution: Add a configure check. (Felix Bünemann) +Files: src/config.h.in, src/configure.in, src/auto/configure, + src/os_mac.h + +Patch 7.4.056 +Problem: Mac: Compilation problem with OS X 10.9 Mavericks. +Solution: Include AvailabilityMacros.h when available. (Kazunobu Kuriyama) +Files: src/os_unix.c + +Patch 7.4.057 +Problem: byteidx() does not work for composing characters. +Solution: Add byteidxcomp(). +Files: src/eval.c, src/testdir/test69.in, src/testdir/test69.ok, + runtime/doc/eval.txt + +Patch 7.4.058 +Problem: Warnings on 64 bit Windows. +Solution: Add type casts. (Mike Williams) +Files: src/ops.c + +Patch 7.4.059 +Problem: set_last_cursor() may encounter w_buffer being NULL. (Matt + Mkaniaris) +Solution: Check for NULL. +Files: src/mark.c + +Patch 7.4.060 +Problem: Declaration has wrong return type for PyObject_SetAttrString(). +Solution: Use int instead of PyObject. (Andreas Schwab) +Files: src/if_python.c, src/if_python3.c + +Patch 7.4.061 (after 7.4.055 and 7.4.056) +Problem: Availability macros configure check in wrong place. +Solution: Also check when not using Darwin. Remove version check. +Files: src/configure.in, src/auto/configure, src/os_unix.c + +Patch 7.4.062 (after 7.4.061) +Problem: Configure check for AvailabilityMacros.h is wrong. +Solution: Use AC_CHECK_HEADERS(). +Files: src/configure.in, src/auto/configure + +Patch 7.4.063 +Problem: Crash when using invalid key in Python dictionary. +Solution: Check for object to be NULL. Add tests. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.064 +Problem: When replacing a character in Visual block mode, entering a CR + does not cause a repeated line break. +Solution: Recognize the situation and repeat the line break. (Christian + Brabandt) +Files: src/normal.c, src/ops.c, src/testdir/test39.in, + src/testdir/test39.ok + +Patch 7.4.065 +Problem: When recording, the character typed at the hit-enter prompt is + recorded twice. (Urtica Dioica) +Solution: Avoid recording the character twice. (Christian Brabandt) +Files: src/message.c + +Patch 7.4.066 +Problem: MS-Windows: When there is a colon in the file name (sub-stream + feature) the swap file name is wrong. +Solution: Change the colon to "%". (Yasuhiro Matsumoto) +Files: src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro + +Patch 7.4.067 +Problem: After inserting comment leader, CTRL-\ CTRL-O does move the + cursor. (Wiktor Ruben) +Solution: Avoid moving the cursor. (Christian Brabandt) +Files: src/edit.c + +Patch 7.4.068 +Problem: Cannot build Vim on Mac with non-Apple compilers. +Solution: Remove the -no-cpp-precomp flag. (Misty De Meo) +Files: src/configure.in, src/auto/configure, src/osdef.sh + +Patch 7.4.069 +Problem: Cannot right shift lines starting with #. +Solution: Allow the right shift when 'cino' contains #N with N > 0. + (Christian Brabandt) + Refactor parsing 'cino', store the values in the buffer. +Files: runtime/doc/indent.txt, src/buffer.c, src/edit.c, src/eval.c, + src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, + src/proto/misc1.pro, src/proto/option.pro, src/structs.h, + src/option.c + +Patch 7.4.070 (after 7.4.069) +Problem: Can't compile with tiny features. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/buffer.c + +Patch 7.4.071 (after 7.4.069) +Problem: Passing limits around too often. +Solution: Use limits from buffer. +Files: src/edit.c, src/misc1.c, src/proto/misc1.pro + +Patch 7.4.072 +Problem: Crash when using Insert mode completion. +Solution: Avoid going past the end of pum_array. (idea by Francisco Lopes) +Files: src/popupmnu.c + +Patch 7.4.073 +Problem: Setting undolevels for one buffer changes undo in another. +Solution: Make 'undolevels' a global-local option. (Christian Brabandt) +Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h + src/structs.h, src/undo.c + +Patch 7.4.074 +Problem: When undo'ing all changes and creating a new change the undo + structure is incorrect. (Christian Brabandt) +Solution: When deleting the branch starting at the old header, delete the + whole branch, not just the first entry. +Files: src/undo.c + +Patch 7.4.075 +Problem: Locally setting 'undolevels' is not tested. +Solution: Add a test. (Christian Brabandt) +Files: src/testdir/test100.in, src/testdir/test100.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, src/Makefile + +Patch 7.4.076 +Problem: "cgn" does not wrap around the end of the file. (Dimitar Dimitrov) +Solution: Restore 'wrapscan' earlier. (Christian Brabandt) +Files: src/search.c + +Patch 7.4.077 +Problem: DOS installer creates shortcut without a path, resulting in the + current directory to be C:\Windows\system32. +Solution: Use environment variables. +Files: src/dosinst.c + +Patch 7.4.078 +Problem: MSVC 2013 is not supported. +Solution: Recognize and support MSVC 2013. (Ed Brown) +Files: src/Make_mvc.mak + +Patch 7.4.079 +Problem: A script cannot detect whether 'hlsearch' highlighting is actually + displayed. +Solution: Add the "v:hlsearch" variable. (ZyX) +Files: src/eval.c, src/ex_docmd.c, + src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h, + src/testdir/test101.in, src/testdir/test101.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.080 (after 7.4.079) +Problem: Missing documentation for v:hlsearch. +Solution: Include the right file in the patch. +Files: runtime/doc/eval.txt + +Patch 7.4.081 (after 7.4.078) +Problem: Wrong logic when ANALYZE is "yes". +Solution: Use or instead of and. (KF Leong) +Files: src/Make_mvc.mak + +Patch 7.4.082 +Problem: Using "gf" in a changed buffer suggests adding "!", which is not + possible. (Tim Chase) +Solution: Pass a flag to check_changed() whether adding ! make sense. +Files: src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h, + src/ex_cmds.c, src/ex_docmd.c + +Patch 7.4.083 +Problem: It's hard to avoid adding a used pattern to the search history. +Solution: Add the ":keeppatterns" modifier. (Christian Brabandt) +Files: runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c, + src/ex_getln.c, src/structs.h + +Patch 7.4.084 +Problem: Python: interrupt not being properly discarded. (Yggdroot Chen) +Solution: Discard interrupt in VimTryEnd. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.085 +Problem: When inserting text in Visual block mode and moving the cursor the + wrong text gets repeated in other lines. +Solution: Use the '[ mark to find the start of the actually inserted text. + (Christian Brabandt) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.086 +Problem: Skipping over an expression when not evaluating it does not work + properly for dict members. +Solution: Skip over unrecognized expression. (ZyX) +Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok + +Patch 7.4.087 +Problem: Compiler warning on 64 bit Windows systems. +Solution: Fix type cast. (Mike Williams) +Files: src/ops.c + +Patch 7.4.088 +Problem: When spell checking is enabled Asian characters are always marked + as error. +Solution: When 'spelllang' contains "cjk" do not mark Asian characters as + error. (Ken Takata) +Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c, + src/option.c, src/spell.c, src/structs.h + +Patch 7.4.089 +Problem: When editing a file in a directory mounted through sshfs Vim + doesn't set the security context on a renamed file. +Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes) +Files: src/fileio.c + +Patch 7.4.090 +Problem: Win32: When a directory name contains an exclamation mark, + completion doesn't complete the contents of the directory. +Solution: Escape the exclamation mark. (Jan Stocker) +Files: src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.091 (after 7.4.089) +Problem: Missing semicolon. +Solution: Add the semicolon. +Files: src/fileio.c + +Patch 7.4.092 (after 7.4.088) +Problem: Can't build small version. +Solution: Add #ifdef where the b_cjk flag is used. (Ken Takata) +Files: src/spell.c + +Patch 7.4.093 +Problem: Configure can't use LuaJIT on ubuntu 12.04. +Solution: Adjust the configure regexp that locates the version number. + (Charles Strahan) +Files: src/configure.in, src/auto/configure + +Patch 7.4.094 +Problem: Configure may not find that -lint is needed for gettext(). +Solution: Check for gettext() with empty $LIBS. (Thomas De Schampheleire) +Files: src/configure.in, src/auto/configure + +Patch 7.4.095 (after 7.4.093) +Problem: Regexp for LuaJIT version doesn't work on BSD. +Solution: Use "*" instead of "\+" and "\?". (Ozaki Kiichi) +Files: src/configure.in, src/auto/configure + +Patch 7.4.096 +Problem: Can't change directory to an UNC path. +Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt) +Files: src/os_win32.c + +Patch 7.4.097 (after 7.4.034) +Problem: Unexpected behavior change related to 'virtualedit'. (Ingo Karkat) +Solution: Update the valid cursor position. (Christian Brabandt) +Files: src/ops.c + +Patch 7.4.098 +Problem: When using ":'<,'>del" errors may be given for the visual line + numbers being out of range. +Solution: Reset Visual mode in ":del". (Lech Lorens) +Files: src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.099 +Problem: Append in blockwise Visual mode with "$" is wrong. +Solution: After "$" don't use the code that checks if the cursor was moved. + (Hirohito Higashi, Ken Takata) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.100 +Problem: NFA regexp doesn't handle backreference correctly. (Ryuichi + Hayashida, Urtica Dioica) +Solution: Always add NFA_SKIP, also when it already exists at the start + position. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.101 +Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little) +Solution: Only advance the match end for the matched characters in the last + line. +Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.102 +Problem: Crash when interrupting "z=". +Solution: Add safety check for word length. (Christian Brabandt, Dominique + Pelle) +Files: src/spell.c + +Patch 7.4.103 +Problem: Dos installer uses an old way to escape spaces in the diff + command. +Solution: Adjust the quoting to the new default shellxquote. (Ben Fritz) +Files: src/dosinst.c + +Patch 7.4.104 +Problem: ":help s/\_" reports an internal error. (John Beckett) +Solution: Check for NUL and invalid character classes. +Files: src/regexp_nfa.c + +Patch 7.4.105 +Problem: Completing a tag pattern may give an error for invalid pattern. +Solution: Suppress the error, just return no matches. +Files: src/tag.c + +Patch 7.4.106 +Problem: Can't build with Ruby using Cygwin. +Solution: Fix library name in makefile. (Steve Hall) +Files: src/Make_cyg.mak + +Patch 7.4.107 +Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the + Python code doesn't catch it. (Yggdroot Chen) +Solution: Throw exceptions on errors in vim.eval(). (ZyX) +Files: src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.108 +Problem: "zG" and "zW" leave temp files around on MS-Windows. +Solution: Delete the temp files when exiting. (Ken Takata) +Files: src/memline.c, src/proto/spell.pro, src/spell.c + +Patch 7.4.109 +Problem: ColorScheme autocommand matches with the current buffer name. +Solution: Match with the colorscheme name. (Christian Brabandt) +Files: runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c + +Patch 7.4.110 +Problem: "gUgn" cannot be repeated. (Dimitar Dimitrov) +Solution: Don't put "gn" in a different order in the redo buffer. Restore + 'wrapscan' when the pattern isn't found. (Christian Wellenbrock) +Files: src/normal.c, src/search.c, src/test53.in, src/test53.ok + +Patch 7.4.111 +Problem: Memory leak in Python OptionsAssItem. (Ken Takata) +Solution: Call Py_XDECREF() where needed. (ZyX) +Files: src/if_py_both.h + +Patch 7.4.112 +Problem: The defaults for 'directory' and 'backupdir' on MS-Windows do not + include a directory that exists. +Solution: Use $TEMP. +Files: src/os_dos.h + +Patch 7.4.113 +Problem: MSVC static analysis gives warnings. +Solution: Avoid the warnings and avoid possible bugs. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.114 +Problem: New GNU make outputs messages about changing directory in another + format. +Solution: Recognize the new format. +Files: src/option.h + +Patch 7.4.115 +Problem: When using Zsh expanding ~abc doesn't work when the result + contains a space. +Solution: Off-by-one error in detecting the NUL. (Pavol Juhas) +Files: src/os_unix.c + +Patch 7.4.116 +Problem: When a mapping starts with a space, the typed space does not show + up for 'showcmd'. +Solution: Show "<20>". (Brook Hong) +Files: src/normal.c + +Patch 7.4.117 +Problem: Can't build with Cygwin/MingW and Perl 5.18. +Solution: Add a linker argument for the Perl library. (Cesar Romani) + Adjust CFLAGS and LIB. (Cesar Romani) + Move including inline.h further down. (Ken Takata) +Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs + +Patch 7.4.118 +Problem: It's possible that redrawing the status lines causes + win_redr_custom() to be called recursively. +Solution: Protect against recursiveness. (Yasuhiro Matsumoto) +Files: src/screen.c + +Patch 7.4.119 +Problem: Vim doesn't work well on OpenVMS. +Solution: Fix various problems. (Samuel Ferencik) +Files: src/os_unix.c, src/os_unix.h, src/os_vms.c + +Patch 7.4.120 (after 7.4.117) +Problem: Can't build with Perl 5.18 on Linux. (Lcd 47) +Solution: Add #ifdef. (Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.121 +Problem: Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw) +Solution: Skip over letters after ":py3". +Files: src/ex_docmd.c + +Patch 7.4.122 +Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage + is cp932 then ":grep" and other commands don't work for multi-byte + characters. +Solution: (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.123 +Problem: Win32: Getting user name does not use wide function. +Solution: Use GetUserNameW() if possible. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.124 +Problem: Win32: Getting host name does not use wide function. +Solution: Use GetComputerNameW() if possible. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.125 +Problem: Win32: Dealing with messages may not work for multi-byte chars. +Solution: Use pDispatchMessage(). (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.126 +Problem: Compiler warnings for "const" and incompatible types. +Solution: Remove "const", add type cast. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.127 +Problem: Perl 5.18 on Unix doesn't work. +Solution: Move workaround to after including vim.h. (Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.128 +Problem: Perl 5.18 for MSVC doesn't work. +Solution: Add check in makefile and define __inline. (Ken Takata) +Files: src/Make_mvc.mak, src/if_perl.xs + +Patch 7.4.129 +Problem: getline(-1) returns zero. (mvxxc) +Solution: Return an empty string. +Files: src/eval.c + +Patch 7.4.130 +Problem: Relative line numbers mix up windows when using folds. +Solution: Use hasFoldingWin() instead of hasFolding(). (Lech Lorens) +Files: src/misc2.c + +Patch 7.4.131 +Problem: Syncbind causes E315 errors in some situations. (Liang Li) +Solution: Set and restore curbuf in ex_syncbind(). (Christian Brabandt) +Files: src/ex_docmd.c, src/testdir/test37.ok + +Patch 7.4.132 (after 7.4.122) +Problem: Win32: flags and inherit_handles arguments mixed up. +Solution: Swap the argument. (cs86661) +Files: src/os_win32.c + +Patch 7.4.133 +Problem: Clang warns for using NUL. +Solution: Change NUL to NULL. (Dominique Pelle) +Files: src/eval.c, src/misc2.c + +Patch 7.4.134 +Problem: Spurious space in MingW Makefile. +Solution: Remove the space. (Michael Soyka) +Files: src/Make_ming.mak + +Patch 7.4.135 +Problem: Missing dot in MingW test Makefile. +Solution: Add the dot. (Michael Soyka) +Files: src/testdir/Make_ming.mak + +Patch 7.4.136 (after 7.4.096) +Problem: MS-Windows: When saving a file with a UNC path the file becomes + read-only. +Solution: Don't mix up Win32 attributes and Unix attributes. (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c + +Patch 7.4.137 +Problem: Cannot use IME with Windows 8 console. +Solution: Change the user of ReadConsoleInput() and PeekConsoleInput(). + (Nobuhiro Takasaki) +Files: src/os_win32.c + +Patch 7.4.138 (after 7.4.114) +Problem: Directory change messages are not recognized. +Solution: Fix using a character range literally. (Lech Lorens) +Files: src/option.h + +Patch 7.4.139 +Problem: Crash when using :cd in autocommand. (François Ingelrest) +Solution: Set w_localdir to NULL after freeing it. (Dominique Pelle) +Files: src/ex_docmd.c, src/window.c + +Patch 7.4.140 +Problem: Crash when wiping out buffer triggers autocommand that wipes out + only other buffer. +Solution: Do not delete the last buffer, make it empty. (Hirohito Higashi) +Files: src/buffer.c + +Patch 7.4.141 +Problem: Problems when building with Borland: st_mode is signed short; + can't build with Python; temp files not ignored by Mercurial; + building with DEBUG doesn't define _DEBUG. +Solution: Fix the problems. (Ken Takata) +Files: src/Make_bc5.mak, src/if_py_both.h, src/os_win32.c + +Patch 7.4.142 (after 7.4.137) +Problem: On MS-Windows 8 IME input doesn't work correctly. +Solution: Work around the problem. (Nobuhiro Takasaki) +Files: src/os_win32.c + +Patch 7.4.143 +Problem: TextChangedI is not triggered. +Solution: Reverse check for "ready". (lilydjwg) +Files: src/edit.c + +Patch 7.4.144 +Problem: MingW also supports intptr_t for OPEN_OH_ARGTYPE. +Solution: Adjust #ifdef. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.145 +Problem: getregtype() does not return zero for unknown register. +Solution: Adjust documentation: return empty string for unknown register. + Check the register name to be valid. (Yukihiro Nakadaira) +Files: runtime/doc/eval.txt, src/ops.c + +Patch 7.4.146 +Problem: When starting Vim with "-u NONE" v:oldfiles is NULL. +Solution: Set v:oldfiles to an empty list. (Yasuhiro Matsumoto) +Files: src/main.c + +Patch 7.4.147 +Problem: Cursor moves to wrong position when using "gj" after "$" and + virtual editing is active. +Solution: Make "gj" behave differently when virtual editing is active. + (Hirohito Higashi) +Files: src/normal.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.148 +Problem: Cannot build with Cygwin and X11. +Solution: Include Xwindows.h instead of windows.h. (Lech Lorens) +Files: src/mbyte.c + +Patch 7.4.149 +Problem: Get E685 error when assigning a function to an autoload variable. + (Yukihiro Nakadaira) +Solution: Instead of having a global no_autoload variable, pass an autoload + flag down to where it is used. (ZyX) +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok, + src/testdir/test60.in, src/testdir/test60.ok, + src/testdir/sautest/autoload/footest.vim + +Patch 7.4.150 +Problem: :keeppatterns is not respected for :s. +Solution: Check the keeppatterns flag. (Yasuhiro Matsumoto) +Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok + +Patch 7.4.151 +Problem: Python: slices with steps are not supported. +Solution: Support slices in Python vim.List. (ZyX) +Files: src/eval.c, src/if_py_both.h, src/if_python3.c, src/if_python.c, + src/proto/eval.pro, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.152 +Problem: Python: Cannot iterate over options. +Solution: Add options iterator. (ZyX) +Files: src/if_py_both.h, src/option.c, src/proto/option.pro, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok, src/vim.h + +Patch 7.4.153 +Problem: Compiler warning for pointer type. +Solution: Add type cast. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 7.4.154 (after 7.4.149) +Problem: Still a problem with auto-loading. +Solution: Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira) +Files: src/eval.c + +Patch 7.4.155 +Problem: ":keeppatterns /pat" does not keep search pattern offset. +Solution: Restore the offset after doing the search. +Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok + +Patch 7.4.156 +Problem: Test file missing from distribution. +Solution: Add new directory to file list. +Files: Filelist + +Patch 7.4.157 +Problem: Error number used twice. (Yukihiro Nakadaira) +Solution: Change the one not referred in the docs. +Files: src/undo.c + +Patch 7.4.158 (after 7.4.045) +Problem: Pattern containing \zs is not handled correctly by substitute(). +Solution: Change how an empty match is skipped. (Yukihiro Nakadaira) +Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok + +Patch 7.4.159 +Problem: Completion hangs when scanning the current buffer after doing + keywords. (Christian Brabandt) +Solution: Set the first match position when starting to scan the current + buffer. +Files: src/edit.c + +Patch 7.4.160 +Problem: Win32: Crash when executing external command. +Solution: Only close the handle when it was created. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.161 +Problem: Crash in Python exception handling. +Solution: Only use exception variables if did_throw is set. (ZyX) +Files: src/if_py_both.h + +Patch 7.4.162 +Problem: Running tests in shadow dir doesn't work. +Solution: Add testdir/sautest to the shadow target. (James McCoy) +Files: src/Makefile + +Patch 7.4.163 (after 7.4.142) +Problem: MS-Windows input doesn't work properly on Windows 7 and earlier. +Solution: Add a check for Windows 8. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.164 (after 7.4.163) +Problem: Problem with event handling on Windows 8. +Solution: Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki) +Files: src/os_win32.c + +Patch 7.4.165 +Problem: By default, after closing a buffer changes can't be undone. +Solution: In the example vimrc file set 'undofile'. +Files: runtime/vimrc_example.vim + +Patch 7.4.166 +Problem: Auto-loading a function for code that won't be executed. +Solution: Do not auto-load when evaluation is off. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.167 (after 7.4.149) +Problem: Fixes are not tested. +Solution: Add a test for not autoloading on assignment. (Yukihiro Nakadaira) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/sautest/autoload/Test104.vim, src/testdir/test104.in, + src/testdir/test104.ok + +Patch 7.4.168 +Problem: Can't compile with Ruby 2.1.0. +Solution: Add support for new GC. (Kohei Suzuki) +Files: src/if_ruby.c + +Patch 7.4.169 +Problem: ":sleep" puts cursor in the wrong column. (Liang Li) +Solution: Add the window offset. (Christian Brabandt) +Files: src/ex_docmd.c + +Patch 7.4.170 +Problem: Some help tags don't work with ":help". (Tim Chase) +Solution: Add exceptions. +Files: src/ex_cmds.c + +Patch 7.4.171 +Problem: Redo does not set v:count and v:count1. +Solution: Use a separate buffer for redo, so that we can set the counts when + performing redo. +Files: src/getchar.c, src/globals.h, src/normal.c, src/proto/getchar.pro, + src/structs.h + +Patch 7.4.172 +Problem: The blowfish code mentions output feedback, but the code is + actually doing cipher feedback. +Solution: Adjust names and comments. +Files: src/blowfish.c, src/fileio.c, src/proto/blowfish.pro, + src/memline.c + +Patch 7.4.173 +Problem: When using scrollbind the cursor can end up below the last line. + (mvxxc) +Solution: Reset w_botfill when scrolling up. (Christian Brabandt) +Files: src/move.c + +Patch 7.4.174 +Problem: Compiler warnings for Python interface. (Tony Mechelynck) +Solution: Add type casts, initialize variable. +Files: src/if_py_both.h + +Patch 7.4.175 +Problem: When a wide library function fails, falling back to the non-wide + function may do the wrong thing. +Solution: Check the platform, when the wide function is supported don't fall + back to the non-wide function. (Ken Takata) +Files: src/os_mswin.c, src/os_win32.c + +Patch 7.4.176 +Problem: Dictionary.update() throws an error when used without arguments. + Python programmers don't expect that. +Solution: Make Dictionary.update() without arguments do nothing. (ZyX) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test87.in + +Patch 7.4.177 +Problem: Compiler warning for unused variable. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/move.c + +Patch 7.4.178 +Problem: The J command does not update '[ and '] marks. (William Gardner) +Solution: Set the marks. (Christian Brabandt) +Files: src/ops.c + +Patch 7.4.179 +Problem: Warning for type-punned pointer. (Tony Mechelynck) +Solution: Use intermediate variable. +Files: src/if_py_both.h + +Patch 7.4.180 (after 7.4.174) +Problem: Older Python versions don't support %ld. +Solution: Use %d instead. (ZyX) +Files: src/if_py_both.h + +Patch 7.4.181 +Problem: When using 'pastetoggle' the status lines are not updated. (Samuel + Ferencik, Jan Christoph Ebersbach) +Solution: Update the status lines. (Nobuhiro Takasaki) +Files: src/getchar.c + +Patch 7.4.182 +Problem: Building with mzscheme and racket does not work. (David Chimay) +Solution: Adjust autoconf. (Sergey Khorev) +Files: src/configure.in, src/auto/configure + +Patch 7.4.183 +Problem: MSVC Visual Studio update not supported. +Solution: Add version number. (Mike Williams) +Files: src/Make_mvc.mak + +Patch 7.4.184 +Problem: match() does not work properly with a {count} argument. +Solution: Compute the length once and update it. Quit the loop when at the + end. (Hirohito Higashi) +Files: src/eval.c, src/testdir/test53.in, src/testdir/test53.ok + +Patch 7.4.185 +Problem: Clang gives warnings. +Solution: Adjust how bigness is set. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.4.186 (after 7.4.085) +Problem: Insert in Visual mode sometimes gives incorrect results. + (Dominique Pelle) +Solution: Remember the original insert start position. (Christian Brabandt, + Dominique Pelle) +Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h + +Patch 7.4.187 +Problem: Delete that crosses line break splits multi-byte character. +Solution: Advance a character instead of a byte. (Cade Foster) +Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok + +Patch 7.4.188 +Problem: SIZEOF_LONG clashes with similar defines in header files. +Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT. +Files: src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure, + src/config.h.in, src/fileio.c, src/if_python.c, src/message.c, + src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h, + src/os_win16.h, src/structs.h + +Patch 7.4.189 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/eval.c + +Patch 7.4.190 +Problem: Compiler warning for using %lld for off_t. +Solution: Add type cast. +Files: src/fileio.c + +Patch 7.4.191 +Problem: Escaping a file name for shell commands can't be done without a + function. +Solution: Add the :S file name modifier. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test105.in, src/testdir/test105.ok, + runtime/doc/cmdline.txt, runtime/doc/eval.txt, + runtime/doc/map.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, runtime/doc/usr_30.txt, + runtime/doc/usr_40.txt, runtime/doc/usr_42.txt, + runtime/doc/vi_diff.txt, src/eval.c, src/misc2.c, src/normal.c, + src/proto/misc2.pro + +Patch 7.4.192 +Problem: Memory leak when giving E853. +Solution: Free the argument. (Dominique Pelle) +Files: src/eval.c + +Patch 7.4.193 +Problem: Typos in messages. +Solution: "then" -> "than". (Dominique Pelle) +Files: src/if_py_both.h, src/spell.c + +Patch 7.4.194 +Problem: Can't build for Android. +Solution: Add #if condition. (Fredrik Fornwall) +Files: src/mbyte.c + +Patch 7.4.195 (after 7.4.193) +Problem: Python tests fail. +Solution: Change "then" to "than" in more places. (Dominique Pelle, Taro + Muraoka) +Files: src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.196 +Problem: Tests fail on Solaris 9 and 10. +Solution: Use "test -f" instead of "test -e". (Laurent Blume) +Files: src/testdir/Makefile + +Patch 7.4.197 +Problem: Various problems on VMS. +Solution: Fix several VMS problems. (Zoltan Arpadffy) +Files: runtime/doc/os_vms.txt, src/Make_vms.mms, src/fileio.c, + src/os_unix.c, src/os_unix.h, src/os_vms.c, src/os_vms_conf.h, + src/proto/os_vms.pro, src/testdir/Make_vms.mms, + src/testdir/test72.in, src/testdir/test77a.com, + src/testdir/test77a.in, src/testdir/test77a.ok src/undo.c + +Patch 7.4.198 +Problem: Can't build Vim with Perl when -Dusethreads is not specified for + building Perl, and building Vim with --enable-perlinterp=dynamic. +Solution: Adjust #ifdefs. (Yasuhiro Matsumoto) +Files: src/if_perl.xs + +Patch 7.4.199 +Problem: (issue 197) ]P doesn't paste over Visual selection. +Solution: Handle Visual mode specifically. (Christian Brabandt) +Files: src/normal.c + +Patch 7.4.200 +Problem: Too many #ifdefs in the code. +Solution: Enable FEAT_VISUAL always, await any complaints +Files: src/feature.h + +Patch 7.4.201 +Problem: 'lispwords' is a global option. +Solution: Make 'lispwords' global-local. (Sung Pae) +Files: runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c, + src/misc1.c, src/option.c, src/option.h, src/structs.h, + src/testdir/test100.in, src/testdir/test100.ok + +Patch 7.4.202 +Problem: MS-Windows: non-ASCII font names don't work. +Solution: Convert between the current code page and 'encoding'. (Ken Takata) +Files: src/gui_w48.c, src/os_mswin.c, src/proto/winclip.pro, + src/winclip.c + +Patch 7.4.203 +Problem: Parsing 'errorformat' is not correct. +Solution: Reset "multiignore" at the start of a multi-line message. (Lcd) +Files: src/quickfix.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test106.in, + src/testdir/test106.ok + +Patch 7.4.204 +Problem: A mapping where the second byte is 0x80 doesn't work. +Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro + Takasaki) +Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok + +Patch 7.4.205 +Problem: ":mksession" writes command to move to second argument while it + does not exist. When it does exist the order might be wrong. +Solution: Use ":argadd" for each argument instead of using ":args" with a + list of names. (Nobuhiro Takasaki) +Files: src/ex_docmd.c + +Patch 7.4.206 +Problem: Compiler warnings on 64 bit Windows. +Solution: Add type casts. (Mike Williams) +Files: src/gui_w48.c, src/os_mswin.c + +Patch 7.4.207 +Problem: The cursor report sequence is sometimes not recognized and results + in entering replace mode. +Solution: Also check for the cursor report when not asked for. +Files: src/term.c + +Patch 7.4.208 +Problem: Mercurial picks up some files that are not distributed. +Solution: Add patterns to the ignore list. (Cade Forester) +Files: .hgignore + +Patch 7.4.209 +Problem: When repeating a filter command "%" and "#" are expanded. +Solution: Escape the command when storing for redo. (Christian Brabandt) +Files: src/ex_cmds.c + +Patch 7.4.210 +Problem: Visual block mode plus virtual edit doesn't work well with tabs. + (Liang Li) +Solution: Take coladd into account. (Christian Brabandt) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.211 +Problem: ":lu" is an abbreviation for ":lua", but it should be ":lunmap". + (ZyX) +Solution: Move "lunmap" to above "lua". +Files: src/ex_cmds.h + +Patch 7.4.212 (after 7.4.200) +Problem: Now that the +visual feature is always enabled the #ifdefs for it + are not useful. +Solution: Remove the checks for FEAT_VISUAL. +Files: src/buffer.c, src/charset.c, src/edit.c, src/eval.c, + src/ex_cmds.c, src/ex_docmd.c, src/fold.c, src/getchar.c, + src/gui.c, src/gui_mac.c, src/gui_w48.c, src/main.c, src/mark.c, + src/menu.c, src/misc2.c, src/move.c, src/netbeans.c, src/normal.c, + src/ops.c, src/option.c, src/os_msdos.c, src/os_qnx.c, + src/quickfix.c, src/regexp.c, src/regexp_nfa.c, src/screen.c, + src/search.c, src/spell.c, src/syntax.c, src/term.c, src/ui.c, + src/undo.c, src/version.c, src/window.c, src/feature.h, + src/globals.h, src/option.h, src/os_win32.h, src/structs.h + +Patch 7.4.213 +Problem: It's not possible to open a new buffer without creating a swap + file. +Solution: Add the ":noswapfile" modifier. (Christian Brabandt) +Files: runtime/doc/recover.txt, src/ex_cmds.h, src/ex_docmd.c, + src/memline.c, src/structs.h + +Patch 7.4.214 +Problem: Compilation problems on HP_nonStop (Tandem). +Solution: Add #defines. (Joachim Schmitz) +Files: src/vim.h + +Patch 7.4.215 +Problem: Inconsistency: ":sp foo" does not reload "foo", unless "foo" is + the current buffer. (Liang Li) +Solution: Do not reload the current buffer on a split command. +Files: runtime/doc/windows.txt, src/ex_docmd.c + +Patch 7.4.216 +Problem: Compiler warnings. (Tony Mechelynck) +Solution: Initialize variables, add #ifdef. +Files: src/term.c, src/os_unix.h + +Patch 7.4.217 +Problem: When src/auto/configure was updated, "make clean" would run + configure pointlessly. +Solution: Do not run configure for "make clean" and "make distclean" when + the make program supports $MAKECMDGOALS. (Ken Takata) +Files: src/Makefile + +Patch 7.4.218 +Problem: It's not easy to remove duplicates from a list. +Solution: Add the uniq() function. (Lcd) +Files: runtime/doc/change.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c, + src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.219 +Problem: When 'relativenumber' or 'cursorline' are set the window is + redrawn much to often. (Patrick Hemmer, Dominique Pelle) +Solution: Check the VALID_CROW flag instead of VALID_WROW. +Files: src/move.c + +Patch 7.4.220 +Problem: Test 105 does not work in a shadow dir. (James McCoy) +Solution: Omit "src/" from the checked path. +Files: src/testdir/test105.in, src/testdir/test105.ok + +Patch 7.4.221 +Problem: Quickfix doesn't resize on ":copen 20". (issue 199) +Solution: Resize the window when requested. (Christian Brabandt) +Files: src/quickfix.c + +Patch 7.4.222 +Problem: The Ruby directory is constructed from parts. +Solution: Use 'rubyarchhdrdir' if it exists. (James McCoy) +Files: src/configure.in, src/auto/configure + +Patch 7.4.223 +Problem: Still using an older autoconf version. +Solution: Switch to autoconf 2.69. +Files: src/Makefile, src/configure.in, src/auto/configure + +Patch 7.4.224 +Problem: /usr/bin/grep on Solaris does not support -F. +Solution: Add configure check to find a good grep. (Danek Duvall) +Files: src/configure.in, src/auto/configure + +Patch 7.4.225 +Problem: Dynamic Ruby doesn't work on Solaris. +Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira) +Files: src/if_ruby.c + +Patch 7.4.226 (after 7.4.219) +Problem: Cursorline highlighting not redrawn when scrolling. (John + Marriott) +Solution: Check for required redraw in two places. +Files: src/move.c + +Patch 7.4.227 (after 7.4.225) +Problem: Can't build with Ruby 1.8. +Solution: Do include a check for the Ruby version. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.228 +Problem: Compiler warnings when building with Python 3.2. +Solution: Make type cast depend on Python version. (Ken Takata) +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 7.4.229 +Problem: Using ":let" for listing variables and the second one is a curly + braces expression may fail. +Solution: Check for an "=" in a better way. (ZyX) +Files: src/eval.c, src/testdir/test104.in, src/testdir/test104.ok + +Patch 7.4.230 +Problem: Error when using ":options". +Solution: Fix the entry for 'lispwords'. (Kenichi Ito) +Files: runtime/optwin.vim + +Patch 7.4.231 +Problem: An error in ":options" is not caught by the tests. +Solution: Add a test for ":options". Set $VIMRUNTIME for the tests so that + it uses the current runtime files instead of the installed ones. +Files: src/Makefile, src/testdir/Makefile, src/testdir/test_options.in, + src/testdir/test_options.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms + +Patch 7.4.232 +Problem: ":%s/\n//" uses a lot of memory. (Aidan Marlin) +Solution: Turn this into a join command. (Christian Brabandt) +Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 7.4.233 +Problem: Escaping special characters for using "%" with a shell command is + inconsistent, parentheses are escaped but spaces are not. +Solution: Only escape "!". (Gary Johnson) +Files: src/ex_docmd.c + +Patch 7.4.234 +Problem: Can't get the command that was used to start Vim. +Solution: Add v:progpath. (Viktor Kojouharov) +Files: runtime/doc/eval.txt, src/eval.c, src/main.c, src/vim.h + +Patch 7.4.235 +Problem: It is not easy to get the full path of a command. +Solution: Add the exepath() function. +Files: src/eval.c, src/misc1.c, src/os_amiga.c, src/os_msdos.c, + src/os_unix.c, src/os_vms.c, src/os_win32.c, + src/proto/os_amiga.pro, src/proto/os_msdos.pro, + src/proto/os_unix.pro, src/proto/os_win32.pro, + runtime/doc/eval.txt + +Patch 7.4.236 +Problem: It's not that easy to check the Vim patch version. +Solution: Make has("patch-7.4.123") work. (partly by Marc Weber) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test60.in, + src/testdir/test60.ok + +Patch 7.4.237 (after 7.4.236) +Problem: When some patches were not included has("patch-7.4.123") may return + true falsely. +Solution: Check for the specific patch number. +Files: runtime/doc/eval.txt, src/eval.c + +Patch 7.4.238 +Problem: Vim does not support the smack library. +Solution: Add smack support (Jose Bollo) +Files: src/config.h.in, src/configure.in, src/fileio.c, src/memfile.c, + src/os_unix.c, src/undo.c, src/auto/configure + +Patch 7.4.239 +Problem: ":e +" does not position cursor at end of the file. +Solution: Check for "+" being the last character (ZyX) +Files: src/ex_docmd.c + +Patch 7.4.240 +Problem: ":tjump" shows "\n" as "\\n". +Solution: Skip over "\" that escapes a backslash. (Gary Johnson) +Files: src/tag.c + +Patch 7.4.241 +Problem: The string returned by submatch() does not distinguish between a + NL from a line break and a NL that stands for a NUL character. +Solution: Add a second argument to return a list. (ZyX) +Files: runtime/doc/eval.txt, src/eval.c, src/proto/regexp.pro, + src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, + src/testdir/test80.in, src/testdir/test80.ok + +Patch 7.4.242 +Problem: getreg() does not distinguish between a NL used for a line break + and a NL used for a NUL character. +Solution: Add another argument to return a list. (ZyX) +Files: runtime/doc/eval.txt, src/eval.c src/ops.c, src/proto/ops.pro, + src/vim.h, src/Makefile, src/testdir/test_eval.in, + src/testdir/test_eval.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms + +Patch 7.4.243 +Problem: Cannot use setreg() to add text that includes a NUL. +Solution: Make setreg() accept a list. +Files: runtime/doc/eval.txt, src/eval.c, src/ops.c, src/proto/ops.pro, + src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.244 (after 7.4.238) +Problem: The smack feature causes stray error messages. +Solution: Remove the error messages. +Files: src/os_unix.c + +Patch 7.4.245 +Problem: Crash for "vim -u NONE -N -c '&&'". +Solution: Check for the pattern to be NULL. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.4.246 +Problem: Configure message for detecting smack are out of sequence. +Solution: Put the messages in the right place. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure + +Patch 7.4.247 +Problem: When passing input to system() there is no way to keep NUL and + NL characters separate. +Solution: Optionally use a list for the system() input. (ZyX) +Files: runtime/doc/eval.txt, src/eval.c + +Patch 7.4.248 +Problem: Cannot distinguish between NL and NUL in output of system(). +Solution: Add systemlist(). (ZyX) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/misc1.c, + src/proto/misc1.pro + +Patch 7.4.249 +Problem: Using setreg() with a list of numbers does not work. +Solution: Use a separate buffer for numbers. (ZyX) +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.250 +Problem: Some test files missing from distribution. +Solution: Add pattern for newly added tests. +Files: Filelist + +Patch 7.4.251 +Problem: Crash when BufAdd autocommand wipes out the buffer. +Solution: Check for buffer to still be valid. Postpone freeing the buffer + structure. (Hirohito Higashi) +Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h + +Patch 7.4.252 +Problem: Critical error in GTK, removing timer twice. +Solution: Clear the timer after removing it. (James McCoy) +Files: src/gui_gtk_x11.c + +Patch 7.4.253 +Problem: Crash when using cpp syntax file with pattern using external + match. (Havard Garnes) +Solution: Discard match when end column is before start column. +Files: src/regexp.c, src/regexp_nfa.c + +Patch 7.4.254 +Problem: Smack support detection is incomplete. +Solution: Check for attr/xattr.h and specific macro. +Files: src/configure.in, src/auto/configure + +Patch 7.4.255 +Problem: Configure check for smack doesn't work with all shells. (David + Larson) +Solution: Remove spaces in set command. +Files: src/configure.in, src/auto/configure + +Patch 7.4.256 (after 7.4.248) +Problem: Using systemlist() may cause a crash and does not handle NUL + characters properly. +Solution: Increase the reference count, allocate memory by length. (Yasuhiro + Matsumoto) +Files: src/eval.c + +Patch 7.4.257 +Problem: Compiler warning, possibly for mismatch in parameter name. +Solution: Rename the parameter in the declaration. +Files: src/ops.c + +Patch 7.4.258 +Problem: Configure fails if $CC contains options. +Solution: Remove quotes around $CC. (Paul Barker) +Files: src/configure.in, src/auto/configure + +Patch 7.4.259 +Problem: Warning for misplaced "const". +Solution: Move the "const". (Yukihiro Nakadaira) +Files: src/os_unix.c + +Patch 7.4.260 +Problem: It is possible to define a function with a colon in the name. It + is possible to define a function with a lower case character if a + "#" appears after the name. +Solution: Disallow using a colon other than with "s:". Ignore "#" after the + name. +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_eval.in, + src/testdir/test_eval.ok + +Patch 7.4.261 +Problem: When updating the window involves a regexp pattern, an interactive + substitute to replace a "\n" with a line break fails. (Ingo + Karkat) +Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi(). +Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok + +Patch 7.4.262 +Problem: Duplicate code in regexec(). +Solution: Add line_lbr flag to regexec_nl(). +Files: src/regexp.c, src/regexp_nfa.c, src/regexp.h + +Patch 7.4.263 +Problem: GCC 4.8 compiler warning for hiding a declaration (François Gannaz) +Solution: Remove the second declaration. +Files: src/eval.c + +Patch 7.4.264 (after 7.4.260) +Problem: Can't define a function starting with "g:". Can't assign a + funcref to a buffer-local variable. +Solution: Skip "g:" at the start of a function name. Don't check for colons + when assigning to a variable. +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.265 (after 7.4.260) +Problem: Can't call a global function with "g:" in an expression. +Solution: Skip the "g:" when looking up the function. +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.266 +Problem: Test 62 fails. +Solution: Set the language to C. (Christian Brabandt) +Files: src/testdir/test62.in + +Patch 7.4.267 (after 7.4.178) +Problem: The '[ mark is in the wrong position after "gq". (Ingo Karkat) +Solution: Add the setmark argument to do_join(). (Christian Brabandt) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_autoformat_join.in, + src/testdir/test_autoformat_join.ok, src/Makefile, src/edit.c, + src/ex_cmds.c, src/ex_docmd.c, src/normal.c, src/ops.c, + src/proto/ops.pro + +Patch 7.4.268 +Problem: Using exists() on a funcref for a script-local function does not + work. +Solution: Translate <SNR> to the special byte sequence. Add a test. +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_func.vim, Filelist + +Patch 7.4.269 +Problem: CTRL-U in Insert mode does not work after using a cursor key. + (Pine Wu) +Solution: Use the original insert start position. (Christian Brabandt) +Files: src/edit.c, src/testdir/test29.in, src/testdir/test29.ok + +Patch 7.4.270 +Problem: Comparing pointers instead of the string they point to. +Solution: Use strcmp(). (Ken Takata) +Files: src/gui_gtk_x11.c + +Patch 7.4.271 +Problem: Compiler warning on 64 bit windows. +Solution: Add type cast. (Mike Williams) +Files: src/ops.c + +Patch 7.4.272 +Problem: Using just "$" does not cause an error message. +Solution: Check for empty environment variable name. (Christian Brabandt) +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.273 +Problem: "make autoconf" and "make reconfig" may first run configure and + then remove the output. +Solution: Add these targets to the exceptions. (Ken Takata) +Files: src/Makefile + +Patch 7.4.274 +Problem: When doing ":update" just before running an external command that + changes the file, the timestamp may be unchanged and the file + is not reloaded. +Solution: Also check the file size. +Files: src/fileio.c + +Patch 7.4.275 +Problem: When changing the type of a sign that hasn't been placed there is + no error message. +Solution: Add an error message. (Christian Brabandt) +Files: src/ex_cmds.c + +Patch 7.4.276 +Problem: The fish shell is not supported. +Solution: Use begin/end instead of () for fish. (Andy Russell) +Files: src/ex_cmds.c, src/misc1.c, src/option.c, src/proto/misc1.pro + +Patch 7.4.277 +Problem: Using ":sign unplace *" may leave the cursor in the wrong position + (Christian Brabandt) +Solution: Update the cursor position when removing all signs. +Files: src/buffer.c + +Patch 7.4.278 +Problem: list_remove() conflicts with function defined in Sun header file. +Solution: Rename the function. (Richard Palo) +Files: src/eval.c, src/if_lua.c, src/if_py_both.h, src/proto/eval.pro + +Patch 7.4.279 +Problem: globpath() returns a string, making it difficult to get a list of + matches. (Greg Novack) +Solution: Add an optional argument like with glob(). (Adnan Zafar) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/misc1.c, + src/misc2.c, src/proto/ex_getln.pro, src/proto/misc2.pro, + src/testdir/test97.in, src/testdir/test97.ok + +Patch 7.4.280 +Problem: When using a session file the relative position of the cursor is + not restored if there is another tab. (Nobuhiro Takasaki) +Solution: Update w_wrow before calculating the fraction. +Files: src/window.c + +Patch 7.4.281 +Problem: When a session file has more than one tabpage and 'showtabline' is + one the positions may be slightly off. +Solution: Set 'showtabline' to two while positioning windows. +Files: src/ex_docmd.c + +Patch 7.4.282 (after 7.4.279) +Problem: Test 97 fails on Mac. +Solution: Do not ignore case in file names. (Jun Takimoto) +Files: src/testdir/test97.in + +Patch 7.4.283 (after 7.4.276) +Problem: Compiler warning about unused variable. (Charles Cooper) +Solution: Move the variable inside the #if block. +Files: src/ex_cmds.c + +Patch 7.4.284 +Problem: Setting 'langmap' in the modeline can cause trouble. E.g. mapping + ":" breaks many commands. (Jens-Wolfhard Schicke-Uffmann) +Solution: Disallow setting 'langmap' from the modeline. +Files: src/option.c + +Patch 7.4.285 +Problem: When 'relativenumber' is set and deleting lines or undoing that, + line numbers are not always updated. (Robert Arkwright) +Solution: (Christian Brabandt) +Files: src/misc1.c + +Patch 7.4.286 +Problem: Error messages are inconsistent. (ZyX) +Solution: Change "Lists" to "list". +Files: src/eval.c + +Patch 7.4.287 +Problem: Patches for .hgignore don't work, since the file is not in the + distribution. +Solution: Add .hgignore to the distribution. Will be effective with the + next version. +Files: Filelist + +Patch 7.4.288 +Problem: When 'spellfile' is set the screen is not redrawn. +Solution: Redraw when updating the spelling info. (Christian Brabandt) +Files: src/spell.c + +Patch 7.4.289 +Problem: Pattern with repeated backreference does not match with new regexp + engine. (Urtica Dioica) +Solution: Also check the end of a submatch when deciding to put a state in + the state list. +Files: src/testdir/test64.in, src/testdir/test64.ok, src/regexp_nfa.c + +Patch 7.4.290 +Problem: A non-greedy match followed by a branch is too greedy. (Ingo + Karkat) +Solution: Add NFA_MATCH when it is already in the state list if the position + differs. +Files: src/testdir/test64.in, src/testdir/test64.ok, src/regexp_nfa.c + +Patch 7.4.291 +Problem: Compiler warning for int to pointer of different size when DEBUG + is defined. +Solution: use smsg() instead of EMSG3(). +Files: src/regexp.c + +Patch 7.4.292 +Problem: Searching for "a" does not match accented "a" with new regexp + engine, does match with old engine. (David Bürgin) + "ca" does not match "ca" with accented "a" with either engine. +Solution: Change the old engine, check for following composing character + also for single-byte patterns. +Files: src/regexp.c, src/testdir/test95.in, src/testdir/test95.ok + +Patch 7.4.293 +Problem: It is not possible to ignore composing characters at a specific + point in a pattern. +Solution: Add the %C item. +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test95.in, + src/testdir/test95.ok, runtime/doc/pattern.txt + +Patch 7.4.294 (7.4.293) +Problem: Test files missing from patch. +Solution: Patch the test files. +Files: src/testdir/test95.in, src/testdir/test95.ok + +Patch 7.4.295 +Problem: Various typos, bad white space and unclear comments. +Solution: Fix typos. Improve white space. Update comments. +Files: src/testdir/test49.in, src/macros.h, src/screen.c, src/structs.h, + src/gui_gtk_x11.c, src/os_unix.c + +Patch 7.4.296 +Problem: Can't run tests on Solaris. +Solution: Change the way VIMRUNTIME is set. (Laurent Blume) +Files: src/testdir/Makefile + +Patch 7.4.297 +Problem: Memory leak from result of get_isolated_shell_name(). +Solution: Free the memory. (Dominique Pelle) +Files: src/ex_cmds.c, src/misc1.c + +Patch 7.4.298 +Problem: Can't have a funcref start with "t:". +Solution: Add "t" to the list of accepted names. (Yukihiro Nakadaira) +Files: src/eval.c + +Patch 7.4.299 +Problem: When running configure twice DYNAMIC_PYTHON_DLL may become empty. +Solution: Use AC_CACHE_VAL. (Ken Takata) +Files: src/configure.in, src/auto/configure + +Patch 7.4.300 +Problem: The way config.cache is removed doesn't always work. +Solution: Always remove config.cache. (Ken Takata) +Files: src/Makefile + +Patch 7.4.301 (after 7.4.280) +Problem: Still a scrolling problem when loading a session file. +Solution: Fix off-by-one mistake. (Nobuhiro Takasaki) +Files: src/window.c + +Patch 7.4.302 +Problem: Signs placed with 'foldcolumn' set don't show up after filler + lines. +Solution: Take filler lines into account. (Olaf Dabrunz) +Files: src/screen.c + +Patch 7.4.303 +Problem: When using double-width characters the text displayed on the + command line is sometimes truncated. +Solution: Reset the string length. (Nobuhiro Takasaki) +Files: src/screen.c + +Patch 7.4.304 +Problem: Cannot always use Python with Vim. +Solution: Add the manifest to the executable. (Jacques Germishuys) +Files: src/Make_mvc.mak + +Patch 7.4.305 +Problem: Making 'ttymouse' empty after the xterm version was requested + causes problems. (Elijah Griffin) +Solution: Do not check for DEC mouse sequences when the xterm version was + requested. Also don't request the xterm version when DEC mouse + was enabled. +Files: src/term.c, src/os_unix.c, src/proto/term.pro, src/globals.h + +Patch 7.4.306 +Problem: getchar(0) does not return Esc. +Solution: Do not wait for an Esc sequence to be complete. (Yasuhiro + Matsumoto) +Files: src/eval.c, src/getchar.c + +Patch 7.4.307 (after 7.4.305) +Problem: Can't build without the +termresponse feature. +Solution: Add proper #ifdefs. +Files: src/os_unix.c, src/term.c + +Patch 7.4.308 +Problem: When using ":diffsplit" on an empty file the cursor is displayed + on the command line. +Solution: Limit the value of w_topfill. +Files: src/diff.c + +Patch 7.4.309 +Problem: When increasing the size of the lower window, the upper window + jumps back to the top. (Ron Aaron) +Solution: Change setting the topline. (Nobuhiro Takasaki) +Files: src/window.c + +Patch 7.4.310 +Problem: getpos()/setpos() don't include curswant. +Solution: Add a fifth number when getting/setting the cursor. +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok, + runtime/doc/eval.txt + +Patch 7.4.311 +Problem: Can't use winrestview to only restore part of the view. +Solution: Handle missing items in the dict. (Christian Brabandt) +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.312 +Problem: Cannot figure out what argument list is being used for a window. +Solution: Add the arglistid() function. (Marcin Szamotulski) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, + src/ex_docmd.c, src/globals.h, src/structs.h, src/main.c + +Patch 7.4.313 (after 7.4.310) +Problem: Changing the return value of getpos() causes an error. (Jie Zhu) +Solution: Revert getpos() and add getcurpos(). +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok, + runtime/doc/eval.txt + +Patch 7.4.314 +Problem: Completion messages can get in the way of a plugin. +Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu) +Files: runtime/doc/options.txt, src/edit.c, src/option.h, src/screen.c + +Patch 7.4.315 (after 7.4.309) +Problem: Fixes for computation of topline not tested. +Solution: Add test. (Hirohito Higashi) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test107.in, src/testdir/test107.ok + +Patch 7.4.316 +Problem: Warning from 64-bit compiler. +Solution: Add type cast. (Mike Williams) +Files: src/ex_getln.c + +Patch 7.4.317 +Problem: Crash when starting gvim. Issue 230. +Solution: Check for a pointer to be NULL. (Christian Brabandt) +Files: src/window.c + +Patch 7.4.318 +Problem: Check for whether a highlight group has settings ignores fg and bg + color settings. +Solution: Also check cterm and GUI color settings. (Christian Brabandt) +Files: src/syntax.c + +Patch 7.4.319 +Problem: Crash when putting zero bytes on the clipboard. +Solution: Do not support the utf8_atom target when not using a Unicode + encoding. (Naofumi Honda) +Files: src/ui.c + +Patch 7.4.320 +Problem: Possible crash when an BufLeave autocommand deletes the buffer. +Solution: Check for the window pointer being valid. Postpone freeing the + window until autocommands are done. (Yasuhiro Matsumoto) +Files: src/buffer.c, src/fileio.c, src/globals.h, src/window.c + +Patch 7.4.321 +Problem: Can't build with strawberry perl 5.20 + mingw-w64-4.9.0. +Solution: Define save_strlen. (Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.322 +Problem: Using "msgfmt" is hard coded, cannot use "gmsgfmt". +Solution: Use the msgfmt command found by configure. (Danek Duvall) +Files: src/config.mk.in, src/po/Makefile + +Patch 7.4.323 +Problem: Substitute() with zero width pattern breaks multi-byte character. +Solution: Take multi-byte character size into account. (Yukihiro Nakadaira) +Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok + +Patch 7.4.324 +Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin) +Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira) +Files: src/ex_getln.c + +Patch 7.4.325 +Problem: When starting the gui and changing the window size the status line + may not be drawn correctly. +Solution: Catch new_win_height() being called recursively. (Christian + Brabandt) +Files: src/window.c + +Patch 7.4.326 +Problem: Can't build Tiny version. (Elimar Riesebieter) +Solution: Add #ifdef. +Files: src/window.c + +Patch 7.4.327 +Problem: When 'verbose' is set to display the return value of a function, + may get E724 repeatedly. +Solution: Do not give an error for verbose messages. Abort conversion to + string after an error. +Files: src/eval.c + +Patch 7.4.328 +Problem: Selection of inner block is inconsistent. +Solution: Skip indent not only for '}' but all parens. (Tom McDonald) +Files: src/search.c + +Patch 7.4.329 +Problem: When moving the cursor and then switching to another window the + previous window isn't scrolled. (Yukihiro Nakadaira) +Solution: Call update_topline() before leaving the window. (Christian + Brabandt) +Files: src/window.c + +Patch 7.4.330 +Problem: Using a regexp pattern to highlight a specific position can be + slow. +Solution: Add matchaddpos() to highlight specific positions efficiently. + (Alexey Radkov) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, + runtime/plugin/matchparen.vim, src/eval.c, src/ex_docmd.c, + src/proto/window.pro, src/screen.c, src/structs.h, + src/testdir/test63.in, src/testdir/test63.ok, src/window.c + +Patch 7.4.331 +Problem: Relative numbering not updated after a linewise yank. Issue 235. +Solution: Redraw after the yank. (Christian Brabandt) +Files: src/ops.c + +Patch 7.4.332 +Problem: GTK: When a sign icon doesn't fit exactly there can be ugly gaps. +Solution: Scale the sign to fit when the aspect ratio is not too far off. + (Christian Brabandt) +Files: src/gui_gtk_x11.c + +Patch 7.4.333 +Problem: Compiler warning for unused function. +Solution: Put the function inside the #ifdef. +Files: src/screen.c + +Patch 7.4.334 (after 7.4.330) +Problem: Uninitialized variables, causing some problems. +Solution: Initialize the variables. (Dominique Pelle) +Files: src/screen.c, src/window.c + +Patch 7.4.335 +Problem: No digraph for the new rouble sign. +Solution: Add the digraphs =R and =P. +Files: src/digraph.c, runtime/doc/digraph.txt + +Patch 7.4.336 +Problem: Setting 'history' to a big value causes out-of-memory errors. +Solution: Limit the value to 10000. (Hirohito Higashi) +Files: runtime/doc/options.txt, src/option.c + +Patch 7.4.337 +Problem: When there is an error preparing to edit the command line, the + command won't be executed. (Hirohito Higashi) +Solution: Reset did_emsg before editing. +Files: src/ex_getln.c + +Patch 7.4.338 +Problem: Cannot wrap lines taking indent into account. +Solution: Add the 'breakindent' option. (many authors, final improvements by + Christian Brabandt) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, runtime/optwin.vim, + src/buffer.c, src/charset.c, src/edit.c, src/ex_getln.c, + src/getchar.c, src/misc1.c, src/misc2.c, src/ops.c, src/option.c, + src/option.h, src/proto/charset.pro, src/proto/misc1.pro, + src/proto/option.pro, src/screen.c, src/structs.h, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok, + src/ui.c, src/version.c + +Patch 7.4.339 +Problem: Local function is available globally. +Solution: Add "static". +Files: src/option.c, src/proto/option.pro + +Patch 7.4.340 +Problem: Error from sed about illegal bytes when installing Vim. +Solution: Prepend LC_ALL=C. (Itchyny) +Files: src/installman.sh + +Patch 7.4.341 +Problem: sort() doesn't handle numbers well. +Solution: Add an argument to specify sorting on numbers. (Christian Brabandt) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test55.in, + src/testdir/test55.ok + +Patch 7.4.342 +Problem: Clang gives warnings. +Solution: Add an else block. (Dominique Pelle) +Files: src/gui_beval.c + +Patch 7.4.343 +Problem: matchdelete() does not always update the right lines. +Solution: Fix off-by-one error. (Ozaki Kiichi) +Files: src/window.c + +Patch 7.4.344 +Problem: Unnecessary initializations and other things related to + matchaddpos(). +Solution: Code cleanup. (Alexey Radkov) +Files: runtime/doc/eval.txt, src/screen.c, src/window.c + +Patch 7.4.345 (after 7.4.338) +Problem: Indent is not updated when deleting indent. +Solution: Remember changedtick. +Files: src/misc1.c + +Patch 7.4.346 (after 7.4.338) +Problem: Indent is not updated when changing 'breakindentopt'. (itchyny) +Solution: Do not cache "brishift". (Christian Brabandt) +Files: src/misc1.c + +Patch 7.4.347 +Problem: test55 fails on some systems. +Solution: Remove the elements that all result in zero and can end up in an + arbitrary position. +Files: src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.348 +Problem: When using "J1" in 'cinoptions' a line below a continuation line + gets too much indent. +Solution: Fix parentheses in condition. +Files: src/misc1.c + +Patch 7.4.349 +Problem: When there are matches to highlight the whole window is redrawn, + which is slow. +Solution: Only redraw everything when lines were inserted or deleted. + Reset b_mod_xlines when needed. (Alexey Radkov) +Files: src/screen.c, src/window.c + +Patch 7.4.350 +Problem: Using C indenting for Javascript does not work well for a {} block + inside parentheses. +Solution: When looking for a matching paren ignore one that is before the + start of a {} block. +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.351 +Problem: sort() is not stable. +Solution: When the items are identical, compare the pointers. +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.352 +Problem: With 'linebreak' a tab causes a missing line break. +Solution: Count a tab for what it's worth also for shorter lines. + (Christian Brabandt) +Files: src/charset.c + +Patch 7.4.353 +Problem: 'linebreak' doesn't work with the 'list' option. +Solution: Make it work. (Christian Brabandt) +Files: runtime/doc/options.txt, src/charset.c, src/screen.c, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok + +Patch 7.4.354 +Problem: Compiler warning. +Solution: Change NUL to NULL. (Ken Takata) +Files: src/screen.c + +Patch 7.4.355 +Problem: Several problems with Javascript indenting. +Solution: Improve Javascript indenting. +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.356 +Problem: Mercurial does not ignore memfile_test. (Daniel Hahler) +Solution: Add memfile_test to ignored files, remove trailing spaces. +Files: .hgignore + +Patch 7.4.357 +Problem: After completion some characters are not redrawn. +Solution: Clear the command line unconditionally. (Jacob Niehus) +Files: src/edit.c + +Patch 7.4.358 (after 7.4.351) +Problem: Sort is not always stable. +Solution: Add an index instead of relying on the pointer to remain the same. + Idea by Jun Takimoto. +Files: src/eval.c + +Patch 7.4.359 +Problem: When 'ttymouse' is set to 'uxterm' the xterm version is not + requested. (Tomas Janousek) +Solution: Do not mark uxterm as a conflict mouse and add + resume_get_esc_sequence(). +Files: src/term.c, src/os_unix.c, src/proto/term.pro + +Patch 7.4.360 +Problem: In a regexp pattern a "$" followed by \v or \V is not seen as the + end-of-line. +Solution: Handle the situation. (Ozaki Kiichi) +Files: src/regexp.c + +Patch 7.4.361 +Problem: Lots of flickering when filling the preview window for 'omnifunc'. +Solution: Disable redrawing. (Hirohito Higashi) +Files: src/popupmnu.c + +Patch 7.4.362 +Problem: When matchaddpos() uses a length smaller than the number of bytes + in the (last) character the highlight continues until the end of + the line. +Solution: Change condition from equal to larger-or-equal. +Files: src/screen.c + +Patch 7.4.363 +Problem: In Windows console typing 0xCE does not work. +Solution: Convert 0xCE to K_NUL 3. (Nobuhiro Takasaki et al.) +Files: src/os_win32.c, src/term.c + +Patch 7.4.364 +Problem: When the viminfo file can't be renamed there is no error message. + (Vladimir Berezhnoy) +Solution: Check for the rename to fail. +Files: src/ex_cmds.c + +Patch 7.4.365 +Problem: Crash when using ":botright split" when there isn't much space. +Solution: Add a check for the minimum width/height. (Yukihiro Nakadaira) +Files: src/window.c + +Patch 7.4.366 +Problem: Can't run the linebreak test on MS-Windows. +Solution: Fix the output file name. (Taro Muraoka) +Files: src/testdir/Make_dos.mak + +Patch 7.4.367 (after 7.4.357) +Problem: Other solution for redrawing after completion. +Solution: Schedule a window redraw instead of just clearing the command + line. (Jacob Niehus) +Files: src/edit.c + +Patch 7.4.368 +Problem: Restoring the window sizes after closing the command line window + doesn't work properly if there are nested splits. +Solution: Restore the sizes twice. (Hirohito Higashi) +Files: src/window.c + +Patch 7.4.369 +Problem: Using freed memory when exiting while compiled with EXITFREE. +Solution: Set curwin to NULL and check for that. (Dominique Pelle) +Files: src/buffer.c, src/window.c + +Patch 7.4.370 +Problem: Linebreak test fails when encoding is not utf-8. (Danek Duvall) +Solution: Split the test in a single byte one and a utf-8 one. (Christian + Brabandt) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok, + src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok + +Patch 7.4.371 +Problem: When 'linebreak' is set control characters are not correctly + displayed. (Kimmy Lindvall) +Solution: Set n_extra. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.372 +Problem: When 'winminheight' is zero there might not be one line for the + current window. +Solution: Change the size computations. (Yukihiro Nakadaira) +Files: src/window.c + +Patch 7.4.373 +Problem: Compiler warning for unused argument and unused variable. +Solution: Add UNUSED. Move variable inside #ifdef. +Files: src/charset.c, src/window.c + +Patch 7.4.374 +Problem: Character after "fb" command not mapped if it might be a composing + character. +Solution: Don't disable mapping when looking for a composing character. + (Jacob Niehus) +Files: src/normal.c + +Patch 7.4.375 +Problem: Test 63 fails when run with GUI-only Vim. +Solution: Add guibg attributes. (suggested by Mike Soyka) +Files: src/testdir/test63.in + +Patch 7.4.376 (after 7.4.367) +Problem: Popup menu flickers too much. +Solution: Remove the forced redraw. (Hirohito Higashi) +Files: src/edit.c + +Patch 7.4.377 +Problem: When 'equalalways' is set a split may report "no room" even though + there is plenty of room. +Solution: Compute the available room properly. (Yukihiro Nakadaira) +Files: src/window.c + +Patch 7.4.378 +Problem: Title of quickfix list is not kept for setqflist(list, 'r'). +Solution: Keep the title. Add a test. (Lcd) +Files: src/quickfix.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_qf_title.in, + src/testdir/test_qf_title.ok + +Patch 7.4.379 +Problem: Accessing freed memory after using setqflist(list, 'r'). (Lcd) +Solution: Reset qf_index. +Files: src/quickfix.c + +Patch 7.4.380 +Problem: Loading python may cause Vim to exit. +Solution: Avoid loading the "site" module. (Taro Muraoka) +Files: src/if_python.c + +Patch 7.4.381 +Problem: Get u_undo error when backspacing in Insert mode deletes more than + one line break. (Ayberk Ozgur) +Solution: Also decrement Insstart.lnum. +Files: src/edit.c + +Patch 7.4.382 +Problem: Mapping characters may not work after typing Esc in Insert mode. +Solution: Fix the noremap flags for inserted characters. (Jacob Niehus) +Files: src/getchar.c + +Patch 7.4.383 +Problem: Bad interaction between preview window and omnifunc. +Solution: Avoid redrawing the status line. (Hirohito Higashi) +Files: src/popupmnu.c + +Patch 7.4.384 +Problem: Test 102 fails when compiled with small features. +Solution: Source small.vim. (Jacob Niehus) +Files: src/testdir/test102.in + +Patch 7.4.385 +Problem: When building with tiny or small features building the .mo files + fails. +Solution: In autoconf do not setup for building the .mo files when it would + fail. +Files: src/configure.in, src/auto/configure + +Patch 7.4.386 +Problem: When splitting a window the changelist position is wrong. +Solution: Copy the changelist position. (Jacob Niehus) +Files: src/window.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_changelist.in, + src/testdir/test_changelist.ok + +Patch 7.4.387 +Problem: "4gro" replaces one character then executes "ooo". (Urtica Dioica) +Solution: Write the ESC in the second stuff buffer. +Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok + +Patch 7.4.388 +Problem: With 'linebreak' set and 'list' unset a Tab is not counted + properly. (Kent Sibilev) +Solution: Check the 'list' option. (Christian Brabandt) +Files: src/screen.c, src/testdir/test_listlbr_utf8.in, + src/testdir/test_listlbr_utf8.ok + +Patch 7.4.389 +Problem: Still sometimes Vim enters Replace mode when starting up. +Solution: Use a different solution in detecting the termresponse and + location response. (Hayaki Saito) +Files: src/globals.h, src/os_unix.c, src/term.c, src/proto/term.pro + +Patch 7.4.390 +Problem: Advancing pointer over end of a string. +Solution: Init quote character to -1 instead of zero. (Dominique Pelle) +Files: src/misc1.c + +Patch 7.4.391 +Problem: No 'cursorline' highlighting when the cursor is on a line with + diff highlighting. (Benjamin Fritz) +Solution: Combine the highlight attributes. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.392 +Problem: Not easy to detect type of command line window. +Solution: Add the getcmdwintype() function. (Jacob Niehus) +Files: src/eval.c + +Patch 7.4.393 +Problem: Text drawing on newer MS-Windows systems is suboptimal. Some + multi-byte characters are not displayed, even though the same font + in Notepad can display them. (Srinath Avadhanula) +Solution: Add the 'renderoptions' option to enable DirectX drawing. (Taro + Muraoka) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/various.txt, src/Make_cyg.mak, src/Make_ming.mak, + src/Make_mvc.mak, src/eval.c, src/gui_dwrite.cpp, + src/gui_dwrite.h, src/gui_w32.c, src/gui_w48.c, src/option.c, + src/option.h, src/version.c, src/vim.h, src/proto/gui_w32.pro + +Patch 7.4.394 (after 7.4.393) +Problem: When using DirectX last italic character is incomplete. +Solution: Add one to the number of cells. (Ken Takata) +Files: src/gui_w32.c + +Patch 7.4.395 (after 7.4.355) +Problem: C indent is wrong below an if with wrapped condition followed by + curly braces. (Trevor Powell) +Solution: Make a copy of tryposBrace. +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.396 +Problem: When 'clipboard' is "unnamed", :g/pat/d is very slow. (Praful) +Solution: Only set the clipboard after the last delete. (Christian Brabandt) +Files: src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/globals.h, + src/ops.c, src/proto/ui.pro, src/ui.c + +Patch 7.4.397 +Problem: Matchparen only uses the topmost syntax item. +Solution: Go through the syntax stack to find items. (James McCoy) + Also use getcurpos() when possible. +Files: runtime/plugin/matchparen.vim + +Patch 7.4.398 (after 7.4.393) +Problem: Gcc error for the argument of InterlockedIncrement() and + InterlockedDecrement(). (Axel Bender) +Solution: Remove "unsigned" from the cRefCount_ declaration. +Files: src/gui_dwrite.cpp + +Patch 7.4.399 +Problem: Encryption implementation is messy. Blowfish encryption has a + weakness. +Solution: Refactor the encryption, store the state in an allocated struct + instead of using a save/restore mechanism. Introduce the + "blowfish2" method, which does not have the weakness and encrypts + the whole undo file. (largely by David Leadbeater) +Files: runtime/doc/editing.txt, runtime/doc/options.txt, src/Makefile, + src/blowfish.c, src/crypt.c, src/crypt_zip.c, src/ex_docmd.c, + src/fileio.c, src/globals.h, src/main.c, src/memline.c, + src/misc2.c, src/option.c, src/proto.h, src/proto/blowfish.pro, + src/proto/crypt.pro, src/proto/crypt_zip.pro, + src/proto/fileio.pro, src/proto/misc2.pro, src/structs.h, + src/undo.c, src/testdir/test71.in, src/testdir/test71.ok, + src/testdir/test71a.in, src/testdir/test72.in, + src/testdir/test72.ok + +Patch 7.4.400 +Problem: List of distributed files is incomplete. +Solution: Add recently added files. +Files: Filelist + +Patch 7.4.401 (after 7.4.399) +Problem: Can't build on MS-Windows. +Solution: Include the new files in all the Makefiles. +Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, + src/Make_dice.mak, src/Make_djg.mak, src/Make_ivc.mak, + src/Make_manx.mak, src/Make_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_os2.mak, src/Make_sas.mak, + Make_vms.mms + +Patch 7.4.402 +Problem: Test 72 crashes under certain conditions. (Kazunobu Kuriyama) +Solution: Clear the whole bufinfo_T early. +Files: src/undo.c + +Patch 7.4.403 +Problem: Valgrind reports errors when running test 72. (Dominique Pelle) +Solution: Reset the local 'cryptmethod' option before storing the seed. + Set the seed in the memfile even when there is no block0 yet. +Files: src/fileio.c, src/option.c, src/memline.c + +Patch 7.4.404 +Problem: Windows 64 bit compiler warnings. +Solution: Add type casts. (Mike Williams) +Files: src/crypt.c, src/undo.c + +Patch 7.4.405 +Problem: Screen updating is slow when using matches. +Solution: Do not use the ">=" as in patch 7.4.362, check the lnum. +Files: src/screen.c, src/testdir/test63.in, src/testdir/test63.ok + +Patch 7.4.406 +Problem: Test 72 and 100 fail on MS-Windows. +Solution: Set fileformat to unix in the tests. (Taro Muraoka) +Files: src/testdir/test72.in, src/testdir/test100.in + +Patch 7.4.407 +Problem: Inserting text for Visual block mode, with cursor movement, + repeats the wrong text. (Aleksandar Ivanov) +Solution: Reset the update_Insstart_orig flag. (Christian Brabandt) +Files: src/edit.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.408 +Problem: Visual block insert breaks a multi-byte character. +Solution: Calculate the position properly. (Yasuhiro Matsumoto) +Files: src/ops.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.409 +Problem: Can't build with Perl on Fedora 20. +Solution: Find xsubpp in another directory. (Michael Henry) +Files: src/Makefile, src/config.mk.in, src/configure.in, + src/auto/configure + +Patch 7.4.410 +Problem: Fold does not open after search when there is a CmdwinLeave + autocommand. +Solution: Restore KeyTyped. (Jacob Niehus) +Files: src/ex_getln.c + +Patch 7.4.411 +Problem: "foo bar" sorts before "foo" with sort(). (John Little) +Solution: Avoid putting quotes around strings before comparing them. +Files: src/eval.c + +Patch 7.4.412 +Problem: Can't build on Windows XP with MSVC. +Solution: Add SUBSYSTEM_VER to the Makefile. (Yongwei Wu) +Files: src/Make_mvc.mak, src/INSTALLpc.txt + +Patch 7.4.413 +Problem: MS-Windows: Using US international keyboard layout, inserting dead + key by pressing space does not always work. Issue 250. +Solution: Let MS-Windows translate the message. (John Wellesz) +Files: src/gui_w48.c + +Patch 7.4.414 +Problem: Cannot define a command only when it's used. +Solution: Add the CmdUndefined autocommand event. (partly by Yasuhiro + Matsumoto) +Files: runtime/doc/autocmd.txt, src/ex_docmd.c, src/fileio.c, + src/proto/fileio.pro + +Patch 7.4.415 (after 7.4.414) +Problem: Cannot build. Warning for shadowed variable. (John Little) +Solution: Add missing change. Remove declaration. +Files: src/vim.h, src/ex_docmd.c + +Patch 7.4.416 +Problem: Problem with breakindent/showbreak and tabs. +Solution: Handle tabs differently. (Christian Brabandt) +Files: src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok, + src/charset.c + +Patch 7.4.417 +Problem: After splitting a window and setting 'breakindent' the default + minimum with is not respected. +Solution: Call briopt_check() when copying options to a new window. +Files: src/option.c, src/proto/option.pro, + src/testdir/test_breakindent.in + +Patch 7.4.418 +Problem: When leaving ":append" the cursor shape is like in Insert mode. + (Jacob Niehus) +Solution: Do not have State set to INSERT when calling getline(). +Files: src/ex_cmds.c + +Patch 7.4.419 +Problem: When part of a list is locked it's possible to make changes. +Solution: Check if any of the list items is locked before make a change. + (ZyX) +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.420 +Problem: It's not obvious how to add a new test. +Solution: Add a README file. (Christian Brabandt) +Files: src/testdir/README.txt + +Patch 7.4.421 +Problem: Crash when searching for "\ze*". (Urtica Dioica) +Solution: Disallow a multi after \ze and \zs. +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.422 +Problem: When using conceal with linebreak some text is not displayed + correctly. (Grüner Gimpel) +Solution: Check for conceal mode when using linebreak. (Christian Brabandt) +Files: src/screen.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.423 +Problem: expand("$shell") does not work as documented. +Solution: Do not escape the $ when expanding environment variables. +Files: src/os_unix.c, src/misc1.c, src/vim.h + +Patch 7.4.424 +Problem: Get ml_get error when using Python to delete lines in a buffer + that is not in a window. issue 248. +Solution: Do not try adjusting the cursor for a different buffer. +Files: src/if_py_both.h + +Patch 7.4.425 +Problem: When 'showbreak' is used "gj" may move to the wrong position. + (Nazri Ramliy) +Solution: Adjust virtcol when 'showbreak' is set. (Christian Brabandt) +Files: src/normal.c + +Patch 7.4.426 +Problem: README File missing from list of files. +Solution: Update the list of files. +Files: Filelist + +Patch 7.4.427 +Problem: When an InsertCharPre autocommand executes system() typeahead may + be echoed and messes up the display. (Jacob Niehus) +Solution: Do not set cooked mode when invoked from ":silent". +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.428 +Problem: executable() may return a wrong result on MS-Windows. +Solution: Change the way SearchPath() is called. (Yasuhiro Matsumoto, Ken + Takata) +Files: src/os_win32.c + +Patch 7.4.429 +Problem: Build fails with fewer features. (Elimar Riesebieter) +Solution: Add #ifdef. +Files: src/normal.c + +Patch 7.4.430 +Problem: test_listlbr fails when compiled with normal features. +Solution: Check for the +conceal feature. +Files: src/testdir/test_listlbr.in + +Patch 7.4.431 +Problem: Compiler warning. +Solution: Add type cast. (Mike Williams) +Files: src/ex_docmd.c + +Patch 7.4.432 +Problem: When the startup code expands command line arguments, setting + 'encoding' will not properly convert the arguments. +Solution: Call get_cmd_argsW() early in main(). (Yasuhiro Matsumoto) +Files: src/os_win32.c, src/main.c, src/os_mswin.c + +Patch 7.4.433 +Problem: Test 75 fails on MS-Windows. +Solution: Use ":normal" instead of feedkeys(). (Michael Soyka) +Files: src/testdir/test75.in + +Patch 7.4.434 +Problem: gettabvar() is not consistent with getwinvar() and getbufvar(). +Solution: Return a dict with all variables when the varname is empty. + (Yasuhiro Matsumoto) +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test91.in, + src/testdir/test91.ok + +Patch 7.4.435 +Problem: Line formatting behaves differently when 'linebreak' is set. + (mvxxc) +Solution: Disable 'linebreak' temporarily. (Christian Brabandt) +Files: src/edit.c + +Patch 7.4.436 +Problem: ml_get error for autocommand that moves the cursor of the current + window. +Solution: Check the cursor position after switching back to the current + buffer. (Christian Brabandt) +Files: src/fileio.c + +Patch 7.4.437 +Problem: New and old regexp engine are not consistent. +Solution: Also give an error for "\ze*" for the old regexp engine. +Files: src/regexp.c, src/regexp_nfa.c + +Patch 7.4.438 +Problem: Cached values for 'cino' not reset for ":set all&". +Solution: Call parse_cino(). (Yukihiro Nakadaira) +Files: src/option.c + +Patch 7.4.439 +Problem: Duplicate message in message history. Some quickfix messages + appear twice. (Gary Johnson) +Solution: Do not reset keep_msg too early. (Hirohito Higashi) +Files: src/main.c + +Patch 7.4.440 +Problem: Omni complete popup drawn incorrectly. +Solution: Call validate_cursor() instead of check_cursor(). (Hirohito + Higashi) +Files: src/edit.c + +Patch 7.4.441 +Problem: Endless loop and other problems when 'cedit' is set to CTRL-C. +Solution: Do not call ex_window() when ex_normal_busy or got_int was set. + (Yasuhiro Matsumoto) +Files: src/ex_getln.c + +Patch 7.4.442 (after 7.4.434) +Problem: Using uninitialized variable. +Solution: Pass the first window of the tabpage. +Files: src/eval.c + +Patch 7.4.443 +Problem: Error reported by ubsan when running test 72. +Solution: Add type cast to unsigned. (Dominique Pelle) +Files: src/undo.c + +Patch 7.4.444 +Problem: Reversed question mark not recognized as punctuation. (Issue 258) +Solution: Add the Supplemental Punctuation range. +Files: src/mbyte.c + +Patch 7.4.445 +Problem: Clipboard may be cleared on startup. +Solution: Set clip_did_set_selection to -1 during startup. (Christian + Brabandt) +Files: src/main.c, src/ui.c + +Patch 7.4.446 +Problem: In some situations, when setting up an environment to trigger an + autocommand, the environment is not properly restored. +Solution: Check the return value of switch_win() and call restore_win() + always. (Daniel Hahler) +Files: src/eval.c, src/misc2.c, src/window.c + +Patch 7.4.447 +Problem: Spell files from Hunspell may generate a lot of errors. +Solution: Add the IGNOREEXTRA flag. +Files: src/spell.c, runtime/doc/spell.txt + +Patch 7.4.448 +Problem: Using ETO_IGNORELANGUAGE causes problems. +Solution: Remove this flag. (Paul Moore) +Files: src/gui_w32.c + +Patch 7.4.449 +Problem: Can't easily close the help window. (Chris Gaal) +Solution: Add ":helpclose". (Christian Brabandt) +Files: runtime/doc/helphelp.txt, runtime/doc/index.txt, src/ex_cmds.c, + src/ex_cmds.h, src/proto/ex_cmds.pro + +Patch 7.4.450 +Problem: Not all commands that edit another buffer support the +cmd + argument. +Solution: Add the +cmd argument to relevant commands. (Marcin Szamotulski) +Files: runtime/doc/windows.txt, src/ex_cmds.h, src/ex_docmd.c + +Patch 7.4.451 +Problem: Calling system() with empty input gives an error for writing the + temp file. +Solution: Do not try writing if the string length is zero. (Olaf Dabrunz) +Files: src/eval.c + +Patch 7.4.452 +Problem: Can't build with tiny features. (Tony Mechelynck) +Solution: Use "return" instead of "break". +Files: src/ex_cmds.c + +Patch 7.4.453 +Problem: Still can't build with tiny features. +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.454 +Problem: When using a Visual selection of multiple words and doing CTRL-W_] + it jumps to the tag matching the word under the cursor, not the + selected text. (Patrick hemmer) +Solution: Do not reset Visual mode. (idea by Christian Brabandt) +Files: src/window.c + +Patch 7.4.455 +Problem: Completion for :buf does not use 'wildignorecase'. (Akshay H) +Solution: Pass the 'wildignorecase' flag around. +Files: src/buffer.c + +Patch 7.4.456 +Problem: 'backupcopy' is global, cannot write only some files in a + different way. +Solution: Make 'backupcopy' global-local. (Christian Brabandt) +Files: runtime/doc/options.txt, src/buffer.c, src/fileio.c, src/option.c, + src/option.h, src/proto/option.pro, src/structs.h + +Patch 7.4.457 +Problem: Using getchar() in an expression mapping may result in + K_CURSORHOLD, which can't be recognized. +Solution: Add the <CursorHold> key. (Hirohito Higashi) +Files: src/misc2.c + +Patch 7.4.458 +Problem: Issue 252: Cursor moves in a zero-height window. +Solution: Check for zero height. (idea by Christian Brabandt) +Files: src/move.c + +Patch 7.4.459 +Problem: Can't change the icon after building Vim. +Solution: Load the icon from a file on startup. (Yasuhiro Matsumoto) +Files: src/gui_w32.c, src/os_mswin.c, src/os_win32.c, + src/proto/os_mswin.pro + +Patch 7.4.460 (after 7.4.454) +Problem: Can't build without the quickfix feature. (Erik Falor) +Solution: Add a #ifdef. +Files: src/window.c + +Patch 7.4.461 +Problem: MS-Windows: When collate is on the number of copies is too high. +Solution: Only set the collated/uncollated count when collate is on. + (Yasuhiro Matsumoto) +Files: src/os_mswin.c + +Patch 7.4.462 +Problem: Setting the local value of 'backupcopy' empty gives an error. + (Peter Mattern) +Solution: When using an empty value set the flags to zero. (Hirohito + Higashi) +Files: src/option.c + +Patch 7.4.463 +Problem: Test 86 and 87 may hang on MS-Windows. +Solution: Call inputrestore() after inputsave(). (Ken Takata) +Files: src/testdir/test86.in, src/testdir/test87.in + +Patch 7.4.464 (after 7.4.459) +Problem: Compiler warning. +Solution: Add type cast. (Ken Takata) +Files: src/gui_w32.c + +Patch 7.4.465 (after 7.4.016) +Problem: Crash when expanding a very long string. +Solution: Use wcsncpy() instead of wcscpy(). (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.466 (after 7.4.460) +Problem: CTRL-W } does not open preview window. (Erik Falor) +Solution: Don't set g_do_tagpreview for CTRL-W }. +Files: src/window.c + +Patch 7.4.467 +Problem: 'linebreak' does not work well together with Visual mode. +Solution: Disable 'linebreak' while applying an operator. Fix the test. + (Christian Brabandt) +Files: src/normal.c, src/screen.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.468 +Problem: Issue 26: CTRL-C does not interrupt after it was mapped and then + unmapped. +Solution: Reset mapped_ctrl_c. (Christian Brabandt) +Files: src/getchar.c + +Patch 7.4.469 (after 7.4.467) +Problem: Can't build with MSVC. (Ken Takata) +Solution: Move the assignment after the declarations. +Files: src/normal.c + +Patch 7.4.470 +Problem: Test 11 and 100 do not work properly on Windows. +Solution: Avoid using feedkeys(). (Ken Takata) +Files: src/testdir/Make_dos.mak, src/testdir/test11.in, + src/testdir/test100.in + +Patch 7.4.471 +Problem: MS-Windows: When printer name contains multi-byte, the name is + displayed as ???. +Solution: Convert the printer name from the active codepage to 'encoding'. + (Yasuhiro Matsumoto) +Files: src/os_mswin.c + +Patch 7.4.472 +Problem: The "precedes" entry in 'listchar' will be drawn when 'showbreak' + is set and 'list' is not. +Solution: Only draw this character when 'list' is on. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.473 +Problem: Cursor movement is incorrect when there is a number/sign/fold + column and 'sbr' is displayed. +Solution: Adjust the column for 'sbr'. (Christian Brabandt) +Files: src/charset.c + +Patch 7.4.474 +Problem: AIX compiler can't handle // comment. Issue 265. +Solution: Remove that line. +Files: src/regexp_nfa.c + +Patch 7.4.475 +Problem: Can't compile on a system where Xutf8SetWMProperties() is not in + the X11 library. Issue 265. +Solution: Add a configure check. +Files: src/configure.in, src/auto/configure, src/config.h.in, + src/os_unix.c + +Patch 7.4.476 +Problem: MingW: compiling with "XPM=no" doesn't work. +Solution: Check for the "no" value. (KF Leong) Also for Cygwin. (Ken + Takata) +Files: src/Make_ming.mak, src/Make_cyg.mak + +Patch 7.4.477 +Problem: When using ":%diffput" and the other file is empty an extra empty + line remains. +Solution: Set the buf_empty flag. +Files: src/diff.c + +Patch 7.4.478 +Problem: Using byte length instead of character length for 'showbreak'. +Solution: Compute the character length. (Marco Hinz) +Files: src/charset.c + +Patch 7.4.479 +Problem: MS-Windows: The console title can be wrong. +Solution: Take the encoding into account. When restoring the title use the + right function. (Yasuhiro Matsumoto) +Files: src/os_mswin.c, src/os_win32.c + +Patch 7.4.480 (after 7.4.479) +Problem: MS-Windows: Can't build. +Solution: Remove goto, use a flag instead. +Files: src/os_win32.c + +Patch 7.4.481 (after 7.4.471) +Problem: Compiler warning on MS-Windows. +Solution: Add type casts. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.482 +Problem: When 'balloonexpr' results in a list, the text has a trailing + newline. (Lcd) +Solution: Remove one trailing newline. +Files: src/gui_beval.c + +Patch 7.4.483 +Problem: A 0x80 byte is not handled correctly in abbreviations. +Solution: Unescape special characters. Add a test. (Christian Brabandt) +Files: src/getchar.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok + +Patch 7.4.484 (after 7.4.483) +Problem: Compiler warning on MS-Windows. (Ken Takata) +Solution: Add type cast. +Files: src/getchar.c + +Patch 7.4.485 (after 7.4.484) +Problem: Abbreviations don't work. (Toothpik) +Solution: Move the length computation inside the for loop. Compare against + the unescaped key. +Files: src/getchar.c + +Patch 7.4.486 +Problem: Check for writing to a yank register is wrong. +Solution: Negate the check. (Zyx). Also clean up the #ifdefs. +Files: src/ex_docmd.c, src/ex_cmds.h + +Patch 7.4.487 +Problem: ":sign jump" may use another window even though the file is + already edited in the current window. +Solution: First check if the file is in the current window. (James McCoy) +Files: src/window.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_signs.in, + src/testdir/test_signs.ok + +Patch 7.4.488 +Problem: test_mapping fails for some people. +Solution: Set the 'encoding' option. (Ken Takata) +Files: src/testdir/test_mapping.in + +Patch 7.4.489 +Problem: Cursor movement still wrong when 'lbr' is set and there is a + number column. (Hirohito Higashi) +Solution: Add correction for number column. (Hiroyuki Takagi) +Files: src/charset.c + +Patch 7.4.490 +Problem: Cannot specify the buffer to use for "do" and "dp", making them + useless for three-way diff. +Solution: Use the count as the buffer number. (James McCoy) +Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro + +Patch 7.4.491 +Problem: When winrestview() has a negative "topline" value there are + display errors. +Solution: Correct a negative value to 1. (Hirohito Higashi) +Files: src/eval.c + +Patch 7.4.492 +Problem: In Insert mode, after inserting a newline that inserts a comment + leader, CTRL-O moves to the right. (ZyX) Issue 57. +Solution: Correct the condition for moving the cursor back to the NUL. + (Christian Brabandt) +Files: src/edit.c, src/testdir/test4.in, src/testdir/test4.ok + +Patch 7.4.493 +Problem: A TextChanged autocommand is triggered when saving a file. + (William Gardner) +Solution: Update last_changedtick after calling unchanged(). (Christian + Brabandt) +Files: src/fileio.c + +Patch 7.4.494 +Problem: Cursor shape is wrong after a CompleteDone autocommand. +Solution: Update the cursor and mouse shape after ":normal" restores the + state. (Jacob Niehus) +Files: src/ex_docmd.c + +Patch 7.4.495 +Problem: XPM isn't used correctly in the Cygwin Makefile. +Solution: Include the rules like in Make_ming.mak. (Ken Takata) +Files: src/Make_cyg.mak + +Patch 7.4.496 +Problem: Many lines are both in Make_cyg.mak and Make_ming.mak +Solution: Move the common parts to one file. (Ken Takata) +Files: src/INSTALLpc.txt, src/Make_cyg.mak, src/Make_cyg_ming.mak, + src/Make_ming.mak, src/Make_mvc.mak, Filelist + +Patch 7.4.497 +Problem: With some regexp patterns the NFA engine uses many states and + becomes very slow. To the user it looks like Vim freezes. +Solution: When the number of states reaches a limit fall back to the old + engine. (Christian Brabandt) +Files: runtime/doc/options.txt, src/Makefile, src/regexp.c, src/regexp.h, + src/regexp_nfa.c, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Makefile, src/testdir/samples/re.freeze.txt, + src/testdir/bench_re_freeze.in, src/testdir/bench_re_freeze.vim, + Filelist + +Patch 7.4.498 (after 7.4.497) +Problem: Typo in DOS makefile. +Solution: Change exists to exist. (Ken Takata) +Files: src/testdir/Make_dos.mak + +Patch 7.4.499 +Problem: substitute() can be slow with long strings. +Solution: Store a pointer to the end, instead of calling strlen() every + time. (Ozaki Kiichi) +Files: src/eval.c + +Patch 7.4.500 +Problem: Test 72 still fails once in a while. +Solution: Don't set 'fileformat' to unix, reset it. (Ken Takata) +Files: src/testdir/test72.in + +Patch 7.4.501 (after 7.4.497) +Problem: Typo in file pattern. +Solution: Insert a slash and remove a dot. +Files: Filelist + +Patch 7.4.502 +Problem: Language mapping also applies to mapped characters. +Solution: Add the 'langnoremap' option, when on 'langmap' does not apply to + mapped characters. (Christian Brabandt) +Files: runtime/doc/options.txt, runtime/vimrc_example.vim, src/macros.h, + src/option.c, src/option.h + +Patch 7.4.503 +Problem: Cannot append a list of lines to a file. +Solution: Add the append option to writefile(). (Yasuhiro Matsumoto) +Files: runtime/doc/eval.txt, src/Makefile, src/eval.c, + src/testdir/test_writefile.in, src/testdir/test_writefile.ok + +Patch 7.4.504 +Problem: Restriction of the MS-Windows installer that the path must end in + "Vim" prevents installing more than one version. +Solution: Remove the restriction. (Tim Lebedkov) +Files: nsis/gvim.nsi + +Patch 7.4.505 +Problem: On MS-Windows when 'encoding' is a double-byte encoding a file + name longer than MAX_PATH bytes but shorter than that in + characters causes problems. +Solution: Fail on file names longer than MAX_PATH bytes. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.506 +Problem: MS-Windows: Cannot open a file with 259 characters. +Solution: Fix off-by-one error. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.507 (after 7.4.496) +Problem: Building with MingW and Perl. +Solution: Remove quotes. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.508 +Problem: When generating ja.sjis.po the header is not correctly adjusted. +Solution: Check for the right header string. (Ken Takata) +Files: src/po/sjiscorr.c + +Patch 7.4.509 +Problem: Users are not aware their encryption is weak. +Solution: Give a warning when prompting for the key. +Files: src/crypt.c, src/ex_docmd.c, src/fileio.c, src/main.c, + src/proto/crypt.pro + +Patch 7.4.510 +Problem: "-fwrapv" argument breaks use of cproto. +Solution: Remove the alphabetic arguments in a drastic way. +Files: src/Makefile + +Patch 7.4.511 +Problem: Generating proto for if_ruby.c uses type not defined elsewhere. +Solution: Do not generate a prototype for + rb_gc_writebarrier_unprotect_promoted() +Files: src/if_ruby.c + +Patch 7.4.512 +Problem: Cannot generate prototypes for Win32 files and VMS. +Solution: Add typedefs and #ifdef +Files: src/os_win32.c, src/gui_w32.c, src/os_vms.c + +Patch 7.4.513 +Problem: Crash because reference count is wrong for list returned by + getreg(). +Solution: Increment the reference count. (Kimmy Lindvall) +Files: src/eval.c + +Patch 7.4.514 (after 7.4.492) +Problem: Memory access error. (Dominique Pelle) +Solution: Update tpos. (Christian Brabandt) +Files: src/edit.c + +Patch 7.4.515 +Problem: In a help buffer the global 'foldmethod' is used. (Paul Marshall) +Solution: Reset 'foldmethod' when starting to edit a help file. Move the + code to a separate function. +Files: src/ex_cmds.c + +Patch 7.4.516 +Problem: Completing a function name containing a # does not work. Issue + 253. +Solution: Recognize the # character. (Christian Brabandt) +Files: src/eval.c + +Patch 7.4.517 +Problem: With a wrapping line the cursor may not end up in the right place. + (Nazri Ramliy) +Solution: Adjust n_extra for a Tab that wraps. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.518 +Problem: Using status line height in width computations. +Solution: Use one instead. (Hirohito Higashi) +Files: src/window.c + +Patch 7.4.519 (after 7.4.497) +Problem: Crash when using syntax highlighting. +Solution: When regprog is freed and replaced, store the result. +Files: src/buffer.c, src/regexp.c, src/syntax.c, src/spell.c, + src/ex_cmds2.c, src/fileio.c, src/proto/fileio.pro, + src/proto/regexp.pro, src/os_unix.c + +Patch 7.4.520 +Problem: Sun PCK locale is not recognized. +Solution: Add PCK in the table. (Keiichi Oono) +Files: src/mbyte.c + +Patch 7.4.521 +Problem: When using "vep" a mark is moved to the next line. (Maxi Padulo, + Issue 283) +Solution: Decrement the line number. (Christian Brabandt) +Files: src/ops.c + +Patch 7.4.522 +Problem: Specifying wrong buffer size for GetLongPathName(). +Solution: Use the actual size. (Ken Takata) +Files: src/eval.c + +Patch 7.4.523 +Problem: When the X11 server is stopped and restarted, while Vim is kept in + the background, copy/paste no longer works. (Issue 203) +Solution: Setup the clipboard again. (Christian Brabandt) +Files: src/os_unix.c + +Patch 7.4.524 +Problem: When using ":ownsyntax" spell checking is messed up. (Issue 78) +Solution: Use the window-local option values. (Christian Brabandt) +Files: src/option.c, src/syntax.c + +Patch 7.4.525 +Problem: map() leaks memory when there is an error in the expression. +Solution: Call clear_tv(). (Christian Brabandt) +Files: src/eval.c + +Patch 7.4.526 +Problem: matchstr() fails on long text. (Daniel Hahler) +Solution: Return NFA_TOO_EXPENSIVE from regexec_nl(). (Christian Brabandt) +Files: src/regexp.c + +Patch 7.4.527 +Problem: Still confusing regexp failure and NFA_TOO_EXPENSIVE. +Solution: NFA changes equivalent of 7.4.526. +Files: src/regexp_nfa.c + +Patch 7.4.528 +Problem: Crash when using matchadd() (Yasuhiro Matsumoto) +Solution: Copy the match regprog. +Files: src/screen.c + +Patch 7.4.529 +Problem: No test for what 7.4.517 fixes. +Solution: Adjust the tests for breakindent. (Christian Brabandt) +Files: src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok + +Patch 7.4.530 +Problem: Many commands take a count or range that is not using line + numbers. +Solution: For each command specify what kind of count it uses. For windows, + buffers and arguments have "$" and "." have a relevant meaning. + (Marcin Szamotulski) +Files: runtime/doc/editing.txt, runtime/doc/tabpage.txt, + runtime/doc/windows.txt, src/Makefile, src/ex_cmds.h, + src/ex_docmd.c, src/testdir/Make_amiga.mak + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_argument_count.in, + src/testdir/test_argument_count.ok, + src/testdir/test_close_count.in, src/testdir/test_close_count.ok, + src/window.c + +Patch 7.4.531 +Problem: Comments about parsing an Ex command are wrong. +Solution: Correct the step numbers. +Files: src/ex_docmd.c + +Patch 7.4.532 +Problem: When using 'incsearch' "2/pattern/e" highlights the first match. +Solution: Move the code to set extra_col inside the loop for count. (Ozaki + Kiichi) +Files: src/search.c + +Patch 7.4.533 +Problem: ":hardcopy" leaks memory in case of errors. +Solution: Free memory in all code paths. (Christian Brabandt) +Files: src/hardcopy.c + +Patch 7.4.534 +Problem: Warnings when compiling if_ruby.c. +Solution: Avoid the warnings. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.535 (after 7.4.530) +Problem: Can't build with tiny features. +Solution: Add #ifdefs and skip a test. +Files: src/ex_docmd.c, src/testdir/test_argument_count.in + +Patch 7.4.536 +Problem: Test 63 fails when using a black&white terminal. +Solution: Add attributes for a non-color terminal. (Christian Brabandt) +Files: src/testdir/test63.in + +Patch 7.4.537 +Problem: Value of v:hlsearch reflects an internal variable. +Solution: Make the value reflect whether search highlighting is actually + displayed. (Christian Brabandt) +Files: runtime/doc/eval.txt, src/testdir/test101.in, + src/testdir/test101.ok, src/vim.h + +Patch 7.4.538 +Problem: Tests fail with small features plus Python. +Solution: Disallow weird combination of options. Do not set "fdm" when + folding is disabled. +Files: src/option.c, src/ex_cmds.c, src/configure.in, src/auto/configure, + src/feature.h + +Patch 7.4.539 (after 7.4.530) +Problem: Crash when computing buffer count. Problem with range for user + commands. Line range wrong in Visual area. +Solution: Avoid segfault in compute_buffer_local_count(). Check for + CMD_USER when checking type of range. (Marcin Szamotulski) +Files: runtime/doc/windows.txt, src/ex_docmd.c + +Patch 7.4.540 (after 7.4.539) +Problem: Cannot build with tiny and small features. (Taro Muraoka) +Solution: Add #ifdef around CMD_USER. +Files: src/ex_docmd.c + +Patch 7.4.541 +Problem: Crash when doing a range assign. +Solution: Check for NULL pointer. (Yukihiro Nakadaira) +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.542 +Problem: Using a range for window and buffer commands has a few problems. + Cannot specify the type of range for a user command. +Solution: Add the -addr argument for user commands. Fix problems. (Marcin + Szamotulski) +Files: src/testdir/test_command_count.in, + src/testdir/test_command_count.ok src/testdir/Make_amiga.mak + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, runtime/doc/map.txt, src/Makefile, + src/ex_cmds.h, src/ex_docmd.c, src/ex_getln.c, + src/proto/ex_docmd.pro, src/vim.h, + +Patch 7.4.543 +Problem: Since patch 7.4.232 "1,3s/\n//" joins two lines instead of three. + (Eliseo Martínez) Issue 287 +Solution: Correct the line count. (Christian Brabandt) + Also set the last used search pattern. +Files: src/ex_cmds.c, src/search.c, src/proto/search.pro + +Patch 7.4.544 +Problem: Warnings for unused arguments when compiling with a combination of + features. +Solution: Add "UNUSED". +Files: src/if_cscope.c + +Patch 7.4.545 +Problem: Highlighting for multi-line matches is not correct. +Solution: Stop highlight at the end of the match. (Hirohito Higashi) +Files: src/screen.c + +Patch 7.4.546 +Problem: Repeated use of vim_snprintf() with a number. +Solution: Move these vim_snprintf() calls into a function. +Files: src/window.c + +Patch 7.4.547 +Problem: Using "vit" does not select a multi-byte character at the end + correctly. +Solution: Advance the cursor over the multi-byte character. (Christian + Brabandt) +Files: src/search.c + +Patch 7.4.548 +Problem: Compilation fails with native version of MinGW-w64, because + it doesn't have x86_64-w64-mingw32-windres.exe. +Solution: Use windres instead. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.549 +Problem: Function name not recognized correctly when inside a function. +Solution: Don't check for an alpha character. (Ozaki Kiichi) +Files: src/eval.c, src/testdir/test_nested_function.in, + src/testdir/test_nested_function.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile + +Patch 7.4.550 +Problem: curs_rows() function is always called with the second argument + false. +Solution: Remove the argument. (Christian Brabandt) + validate_botline_win() can then also be removed. +Files: src/move.c + +Patch 7.4.551 +Problem: "ygn" may yank too much. (Fritzophrenic) Issue 295. +Solution: Check the width of the next match. (Christian Brabandt) +Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok + +Patch 7.4.552 +Problem: Langmap applies to Insert mode expression mappings. +Solution: Check for Insert mode. (Daniel Hahler) +Files: src/getchar.c, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok + +Patch 7.4.553 +Problem: Various small issues. +Solution: Fix those issues. +Files: src/ex_cmds.h, src/gui.h, src/message.c, src/testdir/test39.in, + src/proto/eval.pro, src/proto/misc1.pro, src/proto/ops.pro, + src/proto/screen.pro, src/proto/window.pro. src/os_unix.c, + src/Make_vms.mms, src/proto/os_vms.pro, src/INSTALL + +Patch 7.4.554 +Problem: Missing part of patch 7.4.519. +Solution: Copy back regprog after calling vim_regexec. +Files: src/quickfix.c + +Patch 7.4.555 +Problem: test_close_count may fail for some combination of features. +Solution: Require normal features. +Files: src/testdir/test_close_count.in + +Patch 7.4.556 +Problem: Failed commands in Python interface not handled correctly. +Solution: Restore window and buffer on failure. +Files: src/if_py_both.h + +Patch 7.4.557 +Problem: One more small issue. +Solution: Update function proto. +Files: src/proto/window.pro + +Patch 7.4.558 +Problem: When the X server restarts Vim may get stuck. +Solution: Destroy the application context and create it again. (Issue 203) +Files: src/os_unix.c + +Patch 7.4.559 +Problem: Appending a block in the middle of a tab does not work correctly + when virtualedit is set. +Solution: Decrement spaces and count, don't reset them. (James McCoy) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.560 +Problem: Memory leak using :wviminfo. Issue 296. +Solution: Free memory when needed. (idea by Christian Brabandt) +Files: src/ops.c + +Patch 7.4.561 +Problem: Ex range handling is wrong for buffer-local user commands. +Solution: Check for CMD_USER_BUF. (Marcin Szamotulski) +Files: src/ex_docmd.c, src/testdir/test_command_count.in, + src/testdir/test_command_count.ok + +Patch 7.4.562 +Problem: Segfault with wide screen and error in 'rulerformat'. (Ingo Karkat) +Solution: Check there is enough space. (Christian Brabandt) +Files: src/buffer.c, src/screen.c + +Patch 7.4.563 +Problem: No test for replacing on a tab in Virtual replace mode. +Solution: Add a test. (Elias Diem) +Files: src/testdir/test48.in, src/testdir/test48.ok + +Patch 7.4.564 +Problem: FEAT_OSFILETYPE is used even though it's never defined. +Solution: Remove the code. (Christian Brabandt) +Files: src/fileio.c + +Patch 7.4.565 +Problem: Ranges for arguments, buffers, tabs, etc. are not checked to be + valid but limited to the maximum. This can cause the wrong thing + to happen. +Solution: Give an error for an invalid value. (Marcin Szamotulski) + Use windows range for ":wincmd". +Files: src/ex_docmd.c, src/ex_cmds.h, src/testdir/test62.in, + src/testdir/test_argument_count.in, + src/testdir/test_argument_count.ok, + src/testdir/test_close_count.in, + src/testdir/test_command_count.in, + src/testdir/test_command_count.ok + +Patch 7.4.566 +Problem: :argdo, :bufdo, :windo and :tabdo don't take a range. +Solution: Support the range. (Marcin Szamotulski) +Files: runtime/doc/editing.txt, runtime/doc/tabpage.txt, + runtime/doc/windows.txt, src/ex_cmds.h, src/ex_cmds2.c, + src/testdir/test_command_count.in, + src/testdir/test_command_count.ok + +Patch 7.4.567 +Problem: Non-ascii vertical separator characters are always redrawn. +Solution: Compare only the one byte that's stored. (Thiago Padilha) +Files: src/screen.c + +Patch 7.4.568 +Problem: Giving an error for ":0wincmd w" is a problem for some plugins. +Solution: Allow the zero in the range. (Marcin Szamotulski) +Files: src/ex_docmd.c, src/testdir/test_command_count.ok + +Patch 7.4.569 (after 7.4.468) +Problem: Having CTRL-C interrupt or not does not check the mode of the + mapping. (Ingo Karkat) +Solution: Use a bitmask with the map mode. (Christian Brabandt) +Files: src/getchar.c, src/structs.h, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok, src/ui.c, src/globals.h + +Patch 7.4.570 +Problem: Building with dynamic library does not work for Ruby 2.2.0 +Solution: Change #ifdefs and #defines. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.571 (after 7.4.569) +Problem: Can't build with tiny features. (Ike Devolder) +Solution: Add #ifdef. +Files: src/getchar.c + +Patch 7.4.572 +Problem: Address type of :wincmd depends on the argument. +Solution: Check the argument. +Files: src/ex_docmd.c, src/window.c, src/proto/window.pro + +Patch 7.4.573 (after 7.4.569) +Problem: Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat) +Solution: Call get_real_state() instead of using State directly. +Files: src/ui.c, src/testdir/test_mapping.in, src/testdir/test_mapping.ok + +Patch 7.4.574 +Problem: No error for eval('$'). +Solution: Check for empty name. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.575 +Problem: Unicode character properties are outdated. +Solution: Update the tables with the latest version. +Files: src/mbyte.c + +Patch 7.4.576 +Problem: Redrawing problem with 'relativenumber' and 'linebreak'. +Solution: Temporarily reset 'linebreak' and restore it in more places. + (Christian Brabandt) +Files: src/normal.c + +Patch 7.4.577 +Problem: Matching with a virtual column has a lot of overhead on very long + lines. (Issue 310) +Solution: Bail out early if there can't be a match. (Christian Brabandt) + Also check for CTRL-C at every position. +Files: src/regexp_nfa.c + +Patch 7.4.578 +Problem: Using getcurpos() after "$" in an empty line returns a negative + number. +Solution: Don't add one when this would overflow. (Hirohito Higashi) +Files: src/eval.c + +Patch 7.4.579 +Problem: Wrong cursor positioning when 'linebreak' is set and lines wrap. +Solution: Fix it. (Christian Brabandt) +Files: src/charset.c, src/screen.c + +Patch 7.4.580 +Problem: ":52wincmd v" still gives an invalid range error. (Charles + Campbell) +Solution: Skip over white space. +Files: src/ex_docmd.c + +Patch 7.4.581 +Problem: Compiler warnings for uninitialized variables. (John Little) +Solution: Initialize the variables. +Files: src/ops.c + +Patch 7.4.582 (after 7.4.577) +Problem: Can't match "%>80v" properly. (Axel Bender) +Solution: Correctly handle ">". (Christian Brabandt) +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.583 +Problem: With tiny features test 16 may fail. +Solution: Source small.vim. (Christian Brabandt) +Files: src/testdir/test16.in + +Patch 7.4.584 +Problem: With tiny features test_command_count may fail. +Solution: Source small.vim. (Christian Brabandt) +Files: src/testdir/test_command_count.in + +Patch 7.4.585 +Problem: Range for :bdelete does not work. (Ronald Schild) +Solution: Also allow unloaded buffers. +Files: src/ex_cmds.h, src/testdir/test_command_count.in, + src/testdir/test_command_count.ok + +Patch 7.4.586 +Problem: Parallel building of the documentation html files is not reliable. +Solution: Remove a cyclic dependency. (Reiner Herrmann) +Files: runtime/doc/Makefile + +Patch 7.4.587 +Problem: Conceal does not work properly with 'linebreak'. (cs86661) +Solution: Save and restore boguscols. (Christian Brabandt) +Files: src/screen.c, src/testdir/test_listlbr_utf8.in, + src/testdir/test_listlbr_utf8.ok + +Patch 7.4.588 +Problem: ":0argedit foo" puts the new argument in the second place instead + of the first. +Solution: Adjust the range type. (Ingo Karkat) +Files: src/ex_cmds.h, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_argument_0count.in, + src/testdir/test_argument_0count.ok + +Patch 7.4.589 +Problem: In the MS-Windows console Vim can't handle greek characters when + encoding is utf-8. +Solution: Escape K_NUL. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.590 +Problem: Using ctrl_x_mode as if it contains flags. +Solution: Don't use AND with CTRL_X_OMNI. (Hirohito Higashi) +Files: src/edit.c + +Patch 7.4.591 (after 7.4.587) +Problem: test_listlbr_utf8 fails when the conceal feature is not available. +Solution: Check for the conceal feature. (Kazunobu Kuriyama) +Files: src/testdir/test_listlbr_utf8.in + +Patch 7.4.592 +Problem: When doing ":e foobar" when already editing "foobar" and 'buftype' + is "nofile" the buffer is cleared. (Xavier de Gaye) +Solution: Do no clear the buffer. +Files: src/ex_cmds.c + +Patch 7.4.593 +Problem: Crash when searching for "x\{0,90000}". (Dominique Pelle) +Solution: Bail out from the NFA engine when the max limit is much higher + than the min limit. +Files: src/regexp_nfa.c, src/regexp.c, src/vim.h + +Patch 7.4.594 +Problem: Using a block delete while 'breakindent' is set does not work + properly. +Solution: Use "line" instead of "prev_pend" as the first argument to + lbr_chartabsize_adv(). (Hirohito Higashi) +Files: src/ops.c, src/testdir/test_breakindent.in, + src/testdir/test_breakindent.ok + +Patch 7.4.595 +Problem: The test_command_count test fails when using Japanese. +Solution: Force the language to C. (Hirohito Higashi) +Files: src/testdir/test_command_count.in + +Patch 7.4.596 (after 7.4.592) +Problem: Tiny build doesn't compile. (Ike Devolder) +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.597 +Problem: Cannot change the result of systemlist(). +Solution: Initialize v_lock. (Yukihiro Nakadaira) +Files: src/eval.c + +Patch 7.4.598 +Problem: ":tabdo windo echo 'hi'" causes "* register not to be changed. + (Salman Halim) +Solution: Change how clip_did_set_selection is used and add + clipboard_needs_update and global_change_count. (Christian + Brabandt) +Files: src/main.c, src/ui.c, src/testdir/test_eval.in, + src/testdir/test_eval.ok + +Patch 7.4.599 +Problem: Out-of-memory error. +Solution: Avoid trying to allocate a negative amount of memory, use size_t + instead of int. (Dominique Pelle) +Files: src/regexp_nfa.c + +Patch 7.4.600 +Problem: Memory wasted in struct because of aligning. +Solution: Split pos in lnum and col. (Dominique Pelle) +Files: src/regexp_nfa.c + +Patch 7.4.601 +Problem: It is not possible to have feedkeys() insert characters. +Solution: Add the 'i' flag. +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.602 +Problem: ":set" does not accept hex numbers as documented. +Solution: Use vim_str2nr(). (ZyX) +Files: src/option.c, runtime/doc/options.txt + +Patch 7.4.603 +Problem: 'foldcolumn' may be set such that it fills the whole window, not + leaving space for text. +Solution: Reduce the foldcolumn width when there is not sufficient room. + (idea by Christian Brabandt) +Files: src/screen.c + +Patch 7.4.604 +Problem: Running tests changes viminfo. +Solution: Disable viminfo. +Files: src/testdir/test_breakindent.in + +Patch 7.4.605 +Problem: The # register is not writable, it cannot be restored after + jumping around. +Solution: Make the # register writable. (Marcin Szamotulski) +Files: runtime/doc/change.txt, src/ops.c, src/buffer.c, src/globals.h + +Patch 7.4.606 +Problem: May crash when using a small window. +Solution: Avoid dividing by zero. (Christian Brabandt) +Files: src/normal.c + +Patch 7.4.607 (after 7.4.598) +Problem: Compiler warnings for unused variables. +Solution: Move them inside #ifdef. (Kazunobu Kuriyama) +Files: src/ui.c + +Patch 7.4.608 (after 7.4.598) +Problem: test_eval fails when the clipboard feature is missing. +Solution: Skip part of the test. Reduce the text used. +Files: src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.609 +Problem: For complicated list and dict use the garbage collector can run + out of stack space. +Solution: Use a stack of dicts and lists to be marked, thus making it + iterative instead of recursive. (Ben Fritz) +Files: src/eval.c, src/if_lua.c, src/if_py_both.h, src/if_python.c, + src/if_python3.c, src/proto/eval.pro, src/proto/if_lua.pro, + src/proto/if_python.pro, src/proto/if_python3.pro, src/structs.h + +Patch 7.4.610 +Problem: Some function headers may be missing from generated .pro files. +Solution: Add PROTO to the #ifdef. +Files: src/option.c, src/syntax.c + +Patch 7.4.611 (after 7.4.609) +Problem: Syntax error. +Solution: Change statement to return. +Files: src/if_python3.c + +Patch 7.4.612 +Problem: test_eval fails on Mac. +Solution: Use the * register instead of the + register. (Jun Takimoto) +Files: src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.613 +Problem: The NFA engine does not implement the 'redrawtime' time limit. +Solution: Implement the time limit. +Files: src/regexp_nfa.c + +Patch 7.4.614 +Problem: There is no test for what patch 7.4.601 fixes. +Solution: Add a test. (Christian Brabandt) +Files: src/testdir/test_mapping.in, src/testdir/test_mapping.ok + +Patch 7.4.615 +Problem: Vim hangs when freeing a lot of objects. +Solution: Do not go back to the start of the list every time. (Yasuhiro + Matsumoto and Ariya Mizutani) +Files: src/eval.c + +Patch 7.4.616 +Problem: Cannot insert a tab in front of a block. +Solution: Correctly compute aop->start. (Christian Brabandt) +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.617 +Problem: Wrong ":argdo" range does not cause an error. +Solution: Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat) +Files: src/ex_docmd.c + +Patch 7.4.618 (after 7.4.609) +Problem: luaV_setref() is missing a return statement. (Ozaki Kiichi) +Solution: Put the return statement back. +Files: src/if_lua.c + +Patch 7.4.619 (after 7.4.618) +Problem: luaV_setref() not returning the correct value. +Solution: Return one. +Files: src/if_lua.c + +Patch 7.4.620 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize "did_free". (Ben Fritz) +Files: src/eval.c + +Patch 7.4.621 (after 7.4.619) +Problem: Returning 1 in the wrong function. (Raymond Ko) +Solution: Return 1 in the right function (hopefully). +Files: src/if_lua.c + +Patch 7.4.622 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/regexp_nfa.c + +Patch 7.4.623 +Problem: Crash with pattern: \(\)\{80000} (Dominique Pelle) +Solution: When the max limit is large fall back to the old engine. +Files: src/regexp_nfa.c + +Patch 7.4.624 +Problem: May leak memory or crash when vim_realloc() returns NULL. +Solution: Handle a NULL value properly. (Mike Williams) +Files: src/if_cscope.c, src/memline.c, src/misc1.c, src/netbeans.c + +Patch 7.4.625 +Problem: Possible NULL pointer dereference. +Solution: Check for NULL before using it. (Mike Williams) +Files: src/if_py_both.h + +Patch 7.4.626 +Problem: MSVC with W4 gives useless warnings. +Solution: Disable more warnings. (Mike Williams) +Files: src/vim.h + +Patch 7.4.627 +Problem: The last screen cell is not updated. +Solution: Respect the "tn" termcap feature. (Hayaki Saito) +Files: runtime/doc/term.txt, src/option.c, src/screen.c, src/term.c, + src/term.h + +Patch 7.4.628 +Problem: Compiler warning for variable might be clobbered by longjmp. +Solution: Add volatile. (Michael Jarvis) +Files: src/main.c + +Patch 7.4.629 +Problem: Coverity warning for Out-of-bounds read. +Solution: Increase MAXWLEN to 254. (Eliseo Martínez) +Files: src/spell.c + +Patch 7.4.630 +Problem: When using Insert mode completion combined with autocommands the + redo command may not work. +Solution: Do not save the redo buffer when executing autocommands. (Yasuhiro + Matsumoto) +Files: src/fileio.c + +Patch 7.4.631 +Problem: The default conceal character is documented to be a space but it's + initially a dash. (Christian Brabandt) +Solution: Make the initial value a space. +Files: src/globals.h + +Patch 7.4.632 (after 7.4.592) +Problem: 7.4.592 breaks the netrw plugin, because the autocommands are + skipped. +Solution: Roll back the change. +Files: src/ex_cmds.c + +Patch 7.4.633 +Problem: After 7.4.630 the problem persists. +Solution: Also skip redo when calling a user function. +Files: src/eval.c + +Patch 7.4.634 +Problem: Marks are not restored after redo + undo. +Solution: Fix the way marks are restored. (Olaf Dabrunz) +Files: src/undo.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_marks.in, src/testdir/test_marks.ok + +Patch 7.4.635 +Problem: If no NL or CR is found in the first block of a file then the + 'fileformat' may be set to "mac". (Issue 77) +Solution: Check if a CR was found. (eswald) +Files: src/fileio.c + +Patch 7.4.636 +Problem: A search with end offset gets stuck at end of file. (Gary Johnson) +Solution: When a search doesn't move the cursor repeat it with a higher + count. (Christian Brabandt) +Files: src/normal.c, src/testdir/test44.in, src/testdir/test44.ok + +Patch 7.4.637 +Problem: Incorrectly read the number of buffer for which an autocommand + should be registered. +Solution: Reverse check for "<buffer=abuf>". (Lech Lorens) +Files: src/fileio.c + +Patch 7.4.638 +Problem: Can't build with Lua 5.3 on Windows. +Solution: use luaL_optinteger() instead of LuaL_optlong(). (Ken Takata) +Files: src/if_lua.c + +Patch 7.4.639 +Problem: Combination of linebreak and conceal doesn't work well. +Solution: Fix the display problems. (Christian Brabandt) +Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok, + src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok + +Patch 7.4.640 +Problem: After deleting characters in Insert mode such that lines are + joined undo does not work properly. (issue 324) +Solution: Use Insstart instead of Insstart_orig. (Christian Brabandt) +Files: src/edit.c + +Patch 7.4.641 +Problem: The tabline menu was using ":999tabnew" which is now invalid. +Solution: Use ":$tabnew" instead. (Florian Degner) +Files: src/normal.c + +Patch 7.4.642 +Problem: When using "gf" escaped spaces are not handled. +Solution: Recognize escaped spaces. +Files: src/vim.h, src/window.c, src/misc2.c + +Patch 7.4.643 +Problem: Using the default file format for Mac files. (Issue 77) +Solution: Reset the try_mac counter in the right place. (Oswald) +Files: src/fileio.c, src/testdir/test30.in, src/testdir/test30.ok + +Patch 7.4.644 +Problem: Stratus VOS doesn't have sync(). +Solution: Use fflush(). (Karli Aurelia) +Files: src/memfile.c + +Patch 7.4.645 +Problem: When splitting the window in a BufAdd autocommand while still in + the first, empty buffer the window count is wrong. +Solution: Do not reset b_nwindows to zero and don't increment it. +Files: src/buffer.c, src/ex_cmds.c + +Patch 7.4.646 +Problem: ":bufdo" may start at a deleted buffer. +Solution: Find the first not deleted buffer. (Shane Harper) +Files: src/ex_cmds2.c, src/testdir/test_command_count.in, + src/testdir/test_command_count.ok + +Patch 7.4.647 +Problem: After running the tests on MS-Windows many files differ from their + originals as they were checked out. +Solution: Use a temp directory for executing the tests. (Ken Takata, Taro + Muraoka) +Files: src/testdir/Make_dos.mak + +Patch 7.4.648 (after 7.4.647) +Problem: Tests broken on MS-Windows. +Solution: Delete wrong copy line. (Ken Takata) +Files: src/testdir/Make_dos.mak + +Patch 7.4.649 +Problem: Compiler complains about ignoring return value of fwrite(). + (Michael Jarvis) +Solution: Add (void). +Files: src/misc2.c + +Patch 7.4.650 +Problem: Configure check may fail because the dl library is not used. +Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi) +Files: src/configure.in, src/auto/configure + +Patch 7.4.651 (after 7.4.582) +Problem: Can't match "%>80v" properly for multi-byte characters. +Solution: Multiply the character number by the maximum number of bytes in a + character. (Yasuhiro Matsumoto) +Files: src/regexp_nfa.c + +Patch 7.4.652 +Problem: Xxd lacks a few features. +Solution: Use 8 characters for the file position. Add the -e and -o + arguments. (Vadim Vygonets) +Files: src/xxd/xxd.c, runtime/doc/xxd.1 + +Patch 7.4.653 +Problem: Insert mode completion with complete() may have CTRL-L work like + CTRL-P. +Solution: Handle completion with complete() differently. (Yasuhiro + Matsumoto, Christian Brabandt, Hirohito Higashi) +Files: src/edit.c + +Patch 7.4.654 +Problem: glob() and globpath() cannot include links to non-existing files. + (Charles Campbell) +Solution: Add an argument to include all links with glob(). (James McCoy) + Also for globpath(). +Files: src/vim.h, src/eval.c, src/ex_getln.c + +Patch 7.4.655 +Problem: Text deleted by "dit" depends on indent of closing tag. + (Jan Parthey) +Solution: Do not adjust oap->end in do_pending_operator(). (Christian + Brabandt) +Files: src/normal.c, src/search.c, src/testdir/test53.in, + src/testdir/test53.ok + +Patch 7.4.656 (after 7.4.654) +Problem: Missing changes for glob() in one file. +Solution: Add the missing changes. +Files: src/misc1.c + +Patch 7.4.657 (after 7.4.656) +Problem: Compiler warnings for pointer mismatch. +Solution: Add a typecast. (John Marriott) +Files: src/misc1.c + +Patch 7.4.658 +Problem: 'formatexpr' is evaluated too often. +Solution: Only invoke it when beyond the 'textwidth' column, as it is + documented. (James McCoy) +Files: src/edit.c + +Patch 7.4.659 +Problem: When 'ruler' is set the preferred column is reset. (Issue 339) +Solution: Don't set curswant when redrawing the status lines. +Files: src/option.c + +Patch 7.4.660 +Problem: Using freed memory when g:colors_name is changed in the colors + script. (oni-link) +Solution: Make a copy of the variable value. +Files: src/syntax.c + +Patch 7.4.661 +Problem: Using "0 CTRL-D" in Insert mode may have CursorHoldI interfere. + (Gary Johnson) +Solution: Don't store K_CURSORHOLD as the last character. (Christian + Brabandt) +Files: src/edit.c + +Patch 7.4.662 +Problem: When 'M' is in the 'cpo' option then selecting a text object in + parentheses does not work correctly. +Solution: Keep 'M' in 'cpo' when finding a match. (Hirohito Higashi) +Files: src/search.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_textobjects.in, + src/testdir/test_textobjects.ok + +Patch 7.4.663 +Problem: When using netbeans a buffer is not found in another tab. +Solution: When 'switchbuf' is set to "usetab" then switch to another tab + when possible. (Xavier de Gaye) +Files: src/netbeans.c + +Patch 7.4.664 +Problem: When 'compatible' is reset 'numberwidth' is set to 4, but the + effect doesn't show until a change is made. +Solution: Check if 'numberwidth' changed. (Christian Brabandt) +Files: src/screen.c, src/structs.h + +Patch 7.4.665 +Problem: 'linebreak' does not work properly with multi-byte characters. +Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro + Matsumoto) +Files: src/screen.c + +Patch 7.4.666 +Problem: There is a chance that Vim may lock up. +Solution: Handle timer events differently. (Aaron Burrow) +Files: src/os_unix.c + +Patch 7.4.667 +Problem: 'colorcolumn' isn't drawn in a closed fold while 'cursorcolumn' + is. (Carlos Pita) +Solution: Make it consistent. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.668 +Problem: Can't use a glob pattern as a regexp pattern. +Solution: Add glob2regpat(). (Christian Brabandt) +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.669 +Problem: When netbeans is active the sign column always shows up. +Solution: Only show the sign column once a sign has been added. (Xavier de + Gaye) +Files: src/buffer.c, src/edit.c, src/move.c, src/netbeans.c, + src/screen.c, src/structs.h + +Patch 7.4.670 +Problem: Using 'cindent' for Javascript is less than perfect. +Solution: Improve indenting of continuation lines. (Hirohito Higashi) +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.671 (after 7.4.665) +Problem: Warning for shadowing a variable. +Solution: Rename off to mb_off. (Kazunobu Kuriyama) +Files: src/screen.c + +Patch 7.4.672 +Problem: When completing a shell command, directories in the current + directory are not listed. +Solution: When "." is not in $PATH also look in the current directory for + directories. +Files: src/ex_getln.c, src/vim.h, src/misc1.c, src/eval.c, + src/os_amiga.c, src/os_msdos.c, src/os_unix.c, src/os_vms.c, + src/proto/os_amiga.pro, src/proto/os_msdos.pro, + src/proto/os_unix.pro, src/proto/os_win32.pro + +Patch 7.4.673 +Problem: The first syntax entry gets sequence number zero, which doesn't + work. (Clinton McKay) +Solution: Start at number one. (Bjorn Linse) +Files: src/syntax.c + +Patch 7.4.674 (after 7.4.672) +Problem: Missing changes in one file. +Solution: Also change the win32 file. +Files: src/os_win32.c + +Patch 7.4.675 +Problem: When a FileReadPost autocommand moves the cursor inside a line it + gets moved back. +Solution: When checking whether an autocommand moved the cursor store the + column as well. (Christian Brabandt) +Files: src/ex_cmds.c + +Patch 7.4.676 +Problem: On Mac, when not using the default Python framework configure + doesn't do the right thing. +Solution: Use a linker search path. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure + +Patch 7.4.677 (after 7.4.676) +Problem: Configure fails when specifying a python-config-dir. (Lcd) +Solution: Check if PYTHONFRAMEWORKPREFIX is set. +Files: src/configure.in, src/auto/configure + +Patch 7.4.678 +Problem: When using --remote the directory may end up being wrong. +Solution: Use localdir() to find out what to do. (Xaizek) +Files: src/main.c + +Patch 7.4.679 +Problem: Color values greater than 255 cause problems on MS-Windows. +Solution: Truncate to 255 colors. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.680 +Problem: CTRL-W in Insert mode does not work well for multi-byte + characters. +Solution: Use mb_get_class(). (Yasuhiro Matsumoto) +Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_erasebackword.in, + src/testdir/test_erasebackword.ok, + +Patch 7.4.681 +Problem: MS-Windows: When Vim is minimized the window height is computed + incorrectly. +Solution: When minimized use the previously computed size. (Ingo Karkat) +Files: src/gui_w32.c + +Patch 7.4.682 +Problem: The search highlighting and match highlighting replaces the + cursorline highlighting, this doesn't look good. +Solution: Combine the highlighting. (Yasuhiro Matsumoto) +Files: src/screen.c + +Patch 7.4.683 +Problem: Typo in the vimtutor command. +Solution: Fix the typo. (Corey Farwell, github pull 349) +Files: vimtutor.com + +Patch 7.4.684 +Problem: When starting several Vim instances in diff mode, the temp files + used may not be unique. (Issue 353) +Solution: Add an argument to vim_tempname() to keep the file. +Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/fileio.c, + src/hardcopy.c, src/proto/fileio.pro, src/if_cscope.c, + src/memline.c, src/misc1.c, src/os_unix.c, src/quickfix.c, + src/spell.c + +Patch 7.4.685 +Problem: When there are illegal utf-8 characters the old regexp engine may + go past the end of a string. +Solution: Only advance to the end of the string. (Dominique Pelle) +Files: src/regexp.c + +Patch 7.4.686 +Problem: "zr" and "zm" do not take a count. +Solution: Implement the count, restrict the fold level to the maximum + nesting depth. (Marcin Szamotulski) +Files: runtime/doc/fold.txt, src/normal.c + +Patch 7.4.687 +Problem: There is no way to use a different in Replace mode for a terminal. +Solution: Add t_SR. (Omar Sandoval) +Files: runtime/doc/options.txt, runtime/doc/term.txt, + runtime/syntax/vim.vim, src/option.c, src/term.c, src/term.h + +Patch 7.4.688 +Problem: When "$" is in 'cpo' the popup menu isn't undrawn correctly. + (Issue 166) +Solution: When using the popup menu remove the "$". +Files: src/edit.c + +Patch 7.4.689 +Problem: On MS-Windows, when 'autochdir' is set, diff mode with files in + different directories does not work. (Axel Bender) +Solution: Remember the current directory and use it where needed. (Christian + Brabandt) +Files: src/main.c + +Patch 7.4.690 +Problem: Memory access errors when changing indent in Ex mode. Also missing + redraw when using CTRL-U. (Knil Ino) +Solution: Update pointers after calling ga_grow(). +Files: src/ex_getln.c + +Patch 7.4.691 (after 7.4.689) +Problem: Can't build with MzScheme. +Solution: Change "cwd" into the global variable "start_dir". +Files: src/main.c + +Patch 7.4.692 +Problem: Defining SOLARIS for no good reason. (Danek Duvall) +Solution: Remove it. +Files: src/os_unix.h + +Patch 7.4.693 +Problem: Session file is not correct when there are multiple tab pages. +Solution: Reset the current window number for each tab page. (Jacob Niehus) +Files: src/ex_docmd.c + +Patch 7.4.694 +Problem: Running tests changes the .viminfo file. +Solution: Disable viminfo in the text objects test. +Files: src/testdir/test_textobjects.in + +Patch 7.4.695 +Problem: Out-of-bounds read, detected by Coverity. +Solution: Remember the value of cmap for the first matching encoding. Reset + cmap to that value if first matching encoding is going to be used. + (Eliseo Martínez) +Files: src/hardcopy.c + +Patch 7.4.696 +Problem: Not freeing memory when encountering an error. +Solution: Free the stack before returning. (Eliseo Martínez) +Files: src/regexp_nfa.c + +Patch 7.4.697 +Problem: The filename used for ":profile" must be given literally. +Solution: Expand "~" and environment variables. (Marco Hinz) +Files: src/ex_cmds2.c + +Patch 7.4.698 +Problem: Various problems with locked and fixed lists and dictionaries. +Solution: Disallow changing locked items, fix a crash, add tests. (Olaf + Dabrunz) +Files: src/structs.h, src/eval.c, src/testdir/test55.in, + src/testdir/test55.ok + +Patch 7.4.699 +Problem: E315 when trying to delete a fold. (Yutao Yuan) +Solution: Make sure the fold doesn't go beyond the last buffer line. + (Christian Brabandt) +Files: src/fold.c + +Patch 7.4.700 +Problem: Fold can't be opened after ":move". (Ein Brown) +Solution: Delete the folding information and update it afterwards. + (Christian Brabandt) +Files: src/ex_cmds.c, src/fold.c, src/testdir/test45.in, + src/testdir/test45.ok + +Patch 7.4.701 +Problem: Compiler warning for using uninitialized variable. (Yasuhiro + Matsumoto) +Solution: Initialize it. +Files: src/hardcopy.c + +Patch 7.4.702 +Problem: Joining an empty list does unnecessary work. +Solution: Let join() return early. (Marco Hinz) +Files: src/eval.c + +Patch 7.4.703 +Problem: Compiler warning for start_dir unused when building unittests. +Solution: Move start_dir inside the #ifdef. +Files: src/main.c + +Patch 7.4.704 +Problem: Searching for a character matches an illegal byte and causes + invalid memory access. (Dominique Pelle) +Solution: Do not match an invalid byte when search for a character in a + string. Fix equivalence classes using negative numbers, which + result in illegal bytes. +Files: src/misc2.c, src/regexp.c, src/testdir/test44.in + +Patch 7.4.705 +Problem: Can't build with Ruby 2.2. +Solution: Add #ifdefs to handle the incompatible change. (Andrei Olsen) +Files: src/if_ruby.c + +Patch 7.4.706 +Problem: Window drawn wrong when 'laststatus' is zero and there is a + command-line window. (Yclept Nemo) +Solution: Set the status height a bit later. (Christian Brabandt) +Files: src/window.c + +Patch 7.4.707 +Problem: Undo files can have their executable bit set. +Solution: Strip of the executable bit. (Mikael Berthe) +Files: src/undo.c + +Patch 7.4.708 +Problem: gettext() is called too often. +Solution: Do not call gettext() for messages until they are actually used. + (idea by Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.709 +Problem: ":tabmove" does not work as documented. +Solution: Make it work consistently. Update documentation and add tests. + (Hirohito Higashi) +Files: src/window.c, runtime/doc/tabpage.txt, src/ex_docmd.c, + src/testdir/test62.in, src/testdir/test62.ok + +Patch 7.4.710 +Problem: It is not possible to make spaces visible in list mode. +Solution: Add the "space" item to 'listchars'. (David Bürgin, issue 350) +Files: runtime/doc/options.txt, src/globals.h, src/message.h, + src/screen.c, src/testdir/test_listchars.in, + src/testdir/test_listchars.ok, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile + +Patch 7.4.711 (after 7.4.710) +Problem: Missing change in one file. +Solution: Also change option.c +Files: src/option.c + +Patch 7.4.712 (after 7.4.710) +Problem: Missing change in another file. +Solution: Also change message.c +Files: src/message.c + +Patch 7.4.713 +Problem: Wrong condition for #ifdef. +Solution: Change USR_EXRC_FILE2 to USR_VIMRC_FILE2. (Mikael Fourrier) +Files: src/os_unix.h + +Patch 7.4.714 +Problem: Illegal memory access when there are illegal bytes. +Solution: Check the byte length of the character. (Dominique Pelle) +Files: src/regexp.c + +Patch 7.4.715 +Problem: Invalid memory access when there are illegal bytes. +Solution: Get the length from the text, not from the character. (Dominique + Pelle) +Files: src/regexp_nfa.c + +Patch 7.4.716 +Problem: When using the 'c' flag of ":substitute" and selecting "a" or "l" + at the prompt the flags are not remembered for ":&&". (Ingo + Karkat) +Solution: Save the flag values and restore them. (Hirohito Higashi) +Files: src/ex_cmds.c + +Patch 7.4.717 +Problem: ":let list += list" can change a locked list. +Solution: Check for the lock earlier. (Olaf Dabrunz) +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok + +Patch 7.4.718 +Problem: Autocommands triggered by quickfix cannot get the current title + value. +Solution: Set w:quickfix_title earlier. (Yannick) + Also move the check for a title into the function. +Files: src/quickfix.c + +Patch 7.4.719 +Problem: Overflow when adding MAXCOL to a pointer. +Solution: Subtract pointers instead. (James McCoy) +Files: src/screen.c + +Patch 7.4.720 +Problem: Can't build with Visual Studio 2015. +Solution: Recognize the "version 14" numbers and omit /nodefaultlib when + appropriate. (Paul Moore) +Files: src/Make_mvc.mak + +Patch 7.4.721 +Problem: When 'list' is set Visual mode does not highlight anything in + empty lines. (mgaleski) +Solution: Check the value of lcs_eol in another place. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.722 +Problem: 0x202f is not recognized as a non-breaking space character. +Solution: Add 0x202f to the list. (Christian Brabandt) +Files: runtime/doc/options.txt, src/message.c, src/screen.c + +Patch 7.4.723 +Problem: For indenting, finding the C++ baseclass can be slow. +Solution: Cache the result. (Hirohito Higashi) +Files: src/misc1.c + +Patch 7.4.724 +Problem: Vim icon does not show in Windows context menu. (issue 249) +Solution: Load the icon in GvimExt. +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 7.4.725 +Problem: ":call setreg('"', [])" reports an internal error. +Solution: Make the register empty. (Yasuhiro Matsumoto) +Files: src/ops.c + +Patch 7.4.726 (after 7.4.724) +Problem: Cannot build GvimExt. +Solution: Set APPVER to 5.0. (KF Leong) +Files: src/GvimExt/Makefile + +Patch 7.4.727 (after 7.4.724) +Problem: Cannot build GvimExt with MingW. +Solution: Add -lgdi32. (KF Leong) +Files: src/GvimExt/Make_ming.mak + +Patch 7.4.728 +Problem: Can't build with some version of Visual Studio 2015. +Solution: Recognize another version 14 number. (Sinan) +Files: src/Make_mvc.mak + +Patch 7.4.729 (after 7.4.721) +Problem: Occasional crash with 'list' set. +Solution: Fix off-by-one error. (Christian Brabandt) +Files: src/screen.c + +Patch 7.4.730 +Problem: When setting the crypt key and using a swap file, text may be + encrypted twice or unencrypted text remains in the swap file. + (Issue 369) +Solution: Call ml_preserve() before re-encrypting. Set correct index for + next pointer block. +Files: src/memfile.c, src/memline.c, src/proto/memline.pro, src/option.c + +Patch 7.4.731 +Problem: The tab menu shows "Close tab" even when it doesn't work. +Solution: Don't show "Close tab" for the last tab. (John Marriott) +Files: src/gui_w48.c, src/gui_gtk_x11.c, src/gui_mac.c, src/gui_motif.c + +Patch 7.4.732 +Problem: The cursor line is not always updated for the "O" command. +Solution: Reset the VALID_CROW flag. (Christian Brabandt) +Files: src/normal.c + +Patch 7.4.733 +Problem: test_listchars breaks on MS-Windows. (Kenichi Ito) +Solution: Set fileformat to "unix". (Christian Brabandt) +Files: src/testdir/test_listchars.in + +Patch 7.4.734 +Problem: ml_get error when using "p" in a Visual selection in the last + line. +Solution: Change the behavior at the last line. (Yukihiro Nakadaira) +Files: src/normal.c, src/ops.c, src/testdir/test94.in, + src/testdir/test94.ok + +Patch 7.4.735 +Problem: Wrong argument for sizeof(). +Solution: Use a pointer argument. (Chris Hall) +Files: src/eval.c + +Patch 7.4.736 +Problem: Invalid memory access. +Solution: Avoid going over the end of a NUL terminated string. (Dominique + Pelle) +Files: src/regexp.c + +Patch 7.4.737 +Problem: On MS-Windows vimgrep over arglist doesn't work (Issue 361) +Solution: Only escape backslashes in ## expansion when it is not used as the + path separator. (James McCoy) +Files: src/ex_docmd.c + +Patch 7.4.738 (after 7.4.732) +Problem: Can't compile without the syntax highlighting feature. +Solution: Add #ifdef around use of w_p_cul. (Hirohito Higashi) +Files: src/normal.c, src/screen.c + +Patch 7.4.739 +Problem: In a string "\U" only takes 4 digits, while after CTRL-V U eight + digits can be used. +Solution: Make "\U" also take eight digits. (Christian Brabandt) +Files: src/eval.c + +Patch 7.4.740 +Problem: ":1quit" works like ":.quit". (Bohr Shaw) +Solution: Don't exit Vim when a range is specified. (Christian Brabandt) +Files: src/ex_docmd.c, src/testdir/test13.in, src/testdir/test13.ok + +Patch 7.4.741 +Problem: When using += with ":set" a trailing comma is not recognized. + (Issue 365) +Solution: Don't add a second comma. Add a test. (partly by Christian + Brabandt) +Files: src/option.c, src/testdir/test_set.in, src/testdir/test_set.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.742 +Problem: Cannot specify a vertical split when loading a buffer for a + quickfix command. +Solution: Add the "vsplit" value to 'switchbuf'. (Brook Hong) +Files: runtime/doc/options.txt, src/buffer.c, src/option.h + +Patch 7.4.743 +Problem: "p" in Visual mode causes an unexpected line split. +Solution: Advance the cursor first. (Yukihiro Nakadaira) +Files: src/ops.c, src/testdir/test94.in, src/testdir/test94.ok + +Patch 7.4.744 +Problem: No tests for Ruby and Perl. +Solution: Add minimal tests. (Ken Takata) +Files: src/testdir/test_perl.in, src/testdir/test_perl.ok, + src/testdir/test_ruby.in, src/testdir/test_ruby.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.745 +Problem: The entries added by matchaddpos() are returned by getmatches() + but can't be set with setmatches(). (Lcd) +Solution: Fix setmatches(). (Christian Brabandt) +Files: src/eval.c, src/testdir/test63.in, src/testdir/test63.ok + +Patch 7.4.746 +Problem: ":[count]tag" is not always working. (cs86661) +Solution: Set cur_match a bit later. (Hirohito Higashi) +Files: src/tag.c, + +Patch 7.4.747 +Problem: ":cnext" may jump to the wrong column when setting + 'virtualedit=all' (cs86661) +Solution: Reset the coladd field. (Hirohito Higashi) +Files: src/quickfix.c + +Patch 7.4.748 (after 7.4.745) +Problem: Buffer overflow. +Solution: Make the buffer larger. (Kazunobu Kuriyama) +Files: src/eval.c + +Patch 7.4.749 (after 7.4.741) +Problem: For some options two consecutive commas are OK. (Nikolai Pavlov) +Solution: Add the P_ONECOMMA flag. +Files: src/option.c + +Patch 7.4.750 +Problem: Cannot build with clang 3.5 on Cygwin with perl enabled. +Solution: Strip "-fdebug-prefix-map" in configure. (Ken Takata) +Files: src/configure.in, src/auto/configure + +Patch 7.4.751 +Problem: It is not obvious how to enable the address sanitizer. +Solution: Add commented-out flags in the Makefile. (Dominique Pelle) + Also add missing test targets. +Files: src/Makefile + +Patch 7.4.752 +Problem: Unicode 8.0 not supported. +Solution: Update tables for Unicode 8.0. Avoid E36 when running the script. + (James McCoy) +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 7.4.753 +Problem: Appending in Visual mode with 'linebreak' set does not work + properly. Also when 'selection' is "exclusive". (Ingo Karkat) +Solution: Recalculate virtual columns. (Christian Brabandt) +Files: src/normal.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok, src/testdir/test_listlbr_utf8.in, + src/testdir/test_listlbr_utf8.ok + +Patch 7.4.754 +Problem: Using CTRL-A in Visual mode does not work well. (Gary Johnson) +Solution: Make it increment all numbers in the Visual area. (Christian + Brabandt) +Files: runtime/doc/change.txt, src/normal.c, src/ops.c, + src/proto/ops.pro, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_increment.in, + src/testdir/test_increment.ok + +Patch 7.4.755 +Problem: It is not easy to count the number of characters. +Solution: Add the skipcc argument to strchars(). (Hirohito Higashi, Ken + Takata) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_utf8.in, + src/testdir/test_utf8.ok + +Patch 7.4.756 +Problem: Can't use strawberry Perl 5.22 x64 on MS-Windows. +Solution: Add new defines and #if. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/if_perl.xs + +Patch 7.4.757 +Problem: Cannot detect the background color of a terminal. +Solution: Add T_RBG to request the background color if possible. (Lubomir + Rintel) +Files: src/main.c, src/term.c, src/term.h, src/proto/term.pro + +Patch 7.4.758 +Problem: When 'conceallevel' is 1 and quitting the command-line window with + CTRL-C the first character ':' is erased. +Solution: Reset 'conceallevel' in the command-line window. (Hirohito + Higashi) +Files: src/ex_getln.c + +Patch 7.4.759 +Problem: Building with Lua 5.3 doesn't work, symbols have changed. +Solution: Use the new names for the new version. (Felix Schnizlein) +Files: src/if_lua.c + +Patch 7.4.760 +Problem: Spelling mistakes are not displayed after ":syn spell". +Solution: Force a redraw after ":syn spell" command. (Christian Brabandt) +Files: src/syntax.c + +Patch 7.4.761 (after 7.4.757) +Problem: The request-background termcode implementation is incomplete. +Solution: Add the missing pieces. +Files: src/option.c, src/term.c + +Patch 7.4.762 (after 7.4.757) +Problem: Comment for may_req_bg_color() is wrong. (Christ van Willegen) +Solution: Rewrite the comment. +Files: src/term.c + +Patch 7.4.763 (after 7.4.759) +Problem: Building with Lua 5.1 doesn't work. +Solution: Define lua_replace and lua_remove. (KF Leong) +Files: src/if_lua.c + +Patch 7.4.764 (after 7.4.754) +Problem: test_increment fails on MS-Windows. (Ken Takata) +Solution: Clear Visual mappings. (Taro Muraoka) +Files: src/testdir/test_increment.in + +Patch 7.4.765 (after 7.4.754) +Problem: CTRL-A and CTRL-X in Visual mode do not always work well. +Solution: Improvements for increment and decrement. (Christian Brabandt) +Files: src/normal.c, src/ops.c, src/testdir/test_increment.in, + src/testdir/test_increment.ok + +Patch 7.4.766 (after 7.4.757) +Problem: Background color check does not work on Tera Term. +Solution: Also recognize ST as a termination character. (Hirohito Higashi) +Files: src/term.c + +Patch 7.4.767 +Problem: --remote-tab-silent can fail on MS-Windows. +Solution: Use single quotes to avoid problems with backslashes. (Idea by + Weiyong Mao) +Files: src/main.c + +Patch 7.4.768 +Problem: :diffoff only works properly once. +Solution: Also make :diffoff work when used a second time. (Olaf Dabrunz) +Files: src/diff.c + +Patch 7.4.769 (after 7.4 768) +Problem: Behavior of :diffoff is not tested. +Solution: Add a bit of testing. (Olaf Dabrunz) +Files: src/testdir/test47.in, src/testdir/test47.ok + +Patch 7.4.770 (after 7.4.766) +Problem: Background color response with transparency is not ignored. +Solution: Change the way escape sequences are recognized. (partly by + Hirohito Higashi) +Files: src/ascii.h, src/term.c + +Patch 7.4.771 +Problem: Search does not handle multi-byte character at the start position + correctly. +Solution: Take byte size of character into account. (Yukihiro Nakadaira) +Files: src/search.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_search_mbyte.in, + src/testdir/test_search_mbyte.ok + +Patch 7.4.772 +Problem: Racket 6.2 is not supported on MS-Windows. +Solution: Check for the "racket" subdirectory. (Weiyong Mao) +Files: src/Make_mvc.mak, src/if_mzsch.c + +Patch 7.4.773 +Problem: 'langmap' is used in command-line mode when checking for mappings. + Issue 376. +Solution: Do not use 'langmap' in command-line mode. (Larry Velazquez) +Files: src/getchar.c, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok + +Patch 7.4.774 +Problem: When using the CompleteDone autocommand event it's difficult to + get to the completed items. +Solution: Add the v:completed_items variable. (Shougo Matsu) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/edit.c, + src/eval.c, src/macros.h, src/proto/eval.pro, src/vim.h + +Patch 7.4.775 +Problem: It is not possible to avoid using the first item of completion. +Solution: Add the "noinsert" and "noselect" values to 'completeopt'. (Shougo + Matsu) +Files: runtime/doc/options.txt, src/edit.c, src/option.c + +Patch 7.4.776 +Problem: Equivalence class for 'd' does not work correctly. +Solution: Fix 0x1e0f and 0x1d0b. (Dominique Pelle) +Files: src/regexp.c, src/regexp_nfa.c + +Patch 7.4.777 +Problem: The README file doesn't look nice on github. +Solution: Add a markdown version of the README file. +Files: Filelist, README.md + +Patch 7.4.778 +Problem: Coverity warns for uninitialized variable. +Solution: Change condition of assignment. +Files: src/ops.c + +Patch 7.4.779 +Problem: Using CTRL-A in a line without a number moves the cursor. May + cause a crash when at the start of the line. (Urtica Dioica) +Solution: Do not move the cursor if no number was changed. +Files: src/ops.c + +Patch 7.4.780 +Problem: Compiler complains about uninitialized variable and clobbered + variables. +Solution: Add Initialization. Make variables static. +Files: src/ops.c, src/main.c + +Patch 7.4.781 +Problem: line2byte() returns one less when 'bin' and 'noeol' are set. +Solution: Only adjust the size for the last line. (Rob Wu) +Files: src/memline.c + +Patch 7.4.782 +Problem: Still a few problems with CTRL-A and CTRL-X in Visual mode. +Solution: Fix the reported problems. (Christian Brabandt) +Files: src/charset.c, src/eval.c, src/ex_cmds.c, src/ex_getln.c, + src/misc2.c, src/normal.c, src/ops.c, src/option.c, + src/proto/charset.pro, src/testdir/test_increment.in, + src/testdir/test_increment.ok + +Patch 7.4.783 +Problem: copy_chars() and copy_spaces() are inefficient. +Solution: Use memset() instead. (Dominique Pelle) +Files: src/ex_getln.c, src/misc2.c, src/ops.c, src/proto/misc2.pro, + src/screen.c + +Patch 7.4.784 +Problem: Using both "noinsert" and "noselect" in 'completeopt' does not + work properly. +Solution: Change the ins_complete() calls. (Ozaki Kiichi) +Files: src/edit.c + +Patch 7.4.785 +Problem: On some systems automatically adding the missing EOL causes + problems. Setting 'binary' has too many side effects. +Solution: Add the 'fixeol' option, default on. (Pavel Samarkin) +Files: src/buffer.c, src/fileio.c, src/memline.c, src/netbeans.c, + src/ops.c, src/option.c, src/option.h, src/os_unix.c, + src/os_win32.c, src/structs.h, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_fixeol.in, + src/testdir/test_fixeol.ok, runtime/doc/options.txt, + runtime/optwin.vim + +Patch 7.4.786 +Problem: It is not possible for a plugin to adjust to a changed setting. +Solution: Add the OptionSet autocommand event. (Christian Brabandt) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/eval.c, + src/fileio.c, src/option.c, src/proto/eval.pro, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_autocmd_option.in, + src/testdir/test_autocmd_option.ok, src/vim.h + +Patch 7.4.787 (after 7.4.786) +Problem: snprintf() isn't available everywhere. +Solution: Use vim_snprintf(). (Ken Takata) +Files: src/option.c + +Patch 7.4.788 (after 7.4.787) +Problem: Can't build without the crypt feature. (John Marriott) +Solution: Add #ifdef's. +Files: src/option.c + +Patch 7.4.789 (after 7.4.788) +Problem: Using freed memory and crash. (Dominique Pelle) +Solution: Correct use of pointers. (Hirohito Higashi) +Files: src/option.c + +Patch 7.4.790 (after 7.4.786) +Problem: Test fails when the autochdir feature is not available. Test + output contains the test script. +Solution: Check for the autochdir feature. (Kazunobu Kuriyama) Only write + the relevant test output. +Files: src/testdir/test_autocmd_option.in, + src/testdir/test_autocmd_option.ok + +Patch 7.4.791 +Problem: The buffer list can be very long. +Solution: Add an argument to ":ls" to specify the type of buffer to list. + (Marcin Szamotulski) +Files: runtime/doc/windows.txt, src/buffer.c, src/ex_cmds.h + +Patch 7.4.792 +Problem: Can only conceal text by defining syntax items. +Solution: Use matchadd() to define concealing. (Christian Brabandt) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, + src/proto/window.pro, src/screen.c, src/structs.h, + src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_match_conceal.in, + src/testdir/test_match_conceal.ok, src/window.c + +Patch 7.4.793 +Problem: Can't specify when not to ring the bell. +Solution: Add the 'belloff' option. (Christian Brabandt) +Files: runtime/doc/options.txt, src/edit.c, src/ex_getln.c, + src/hangulin.c, src/if_lua.c, src/if_mzsch.c, src/if_tcl.c, + src/message.c, src/misc1.c, src/normal.c, src/option.c, + src/option.h, src/proto/misc1.pro, src/search.c, src/spell.c + +Patch 7.4.794 +Problem: Visual Studio 2015 is not recognized. +Solution: Add the version numbers to the makefile. (Taro Muraoka) +Files: src/Make_mvc.mak + +Patch 7.4.795 +Problem: The 'fixeol' option is not copied to a new window. +Solution: Copy the option value. (Yasuhiro Matsumoto) +Files: src/option.c + +Patch 7.4.796 +Problem: Warning from 64 bit compiler. +Solution: Add type cast. (Mike Williams) +Files: src/ops.c + +Patch 7.4.797 +Problem: Crash when using more lines for the command line than + 'maxcombine'. +Solution: Use the correct array index. Also, do not try redrawing when + exiting. And use screen_Columns instead of Columns. +Files: src/screen.c + +Patch 7.4.798 (after 7.4.753) +Problem: Repeating a change in Visual mode does not work as expected. + (Urtica Dioica) +Solution: Make redo in Visual mode work better. (Christian Brabandt) +Files: src/normal.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.799 +Problem: Accessing memory before an allocated block. +Solution: Check for not going before the start of a pattern. (Dominique + Pelle) +Files: src/fileio.c + +Patch 7.4.800 +Problem: Using freed memory when triggering CmdUndefined autocommands. +Solution: Set pointer to NULL. (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.4.801 (after 7.4.769) +Problem: Test for ":diffoff" doesn't catch all potential problems. +Solution: Add a :diffthis and a :diffoff command. (Olaf Dabrunz) +Files: src/testdir/test47.in + +Patch 7.4.802 +Problem: Using "A" in Visual mode while 'linebreak' is set is not tested. +Solution: Add a test for this, verifies the problem is fixed. (Ingo Karkat) +Files: src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.803 +Problem: C indent does not support C11 raw strings. (Mark Lodato) +Solution: Do not change indent inside the raw string. +Files: src/search.c, src/misc1.c, src/edit.c, src/ops.c, + src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.804 +Problem: Xxd doesn't have a license notice. +Solution: Add license as indicated by Juergen. +Files: src/xxd/xxd.c + +Patch 7.4.805 +Problem: The ruler shows "Bot" even when there are only filler lines + missing. (Gary Johnson) +Solution: Use "All" when the first line and one filler line are visible. +Files: src/buffer.c + +Patch 7.4.806 +Problem: CTRL-A in Visual mode doesn't work properly with "alpha" in + 'nrformats'. +Solution: Make it work. (Christian Brabandt) +Files: src/ops.c, src/testdir/test_increment.in, + src/testdir/test_increment.ok + +Patch 7.4.807 (after 7.4.798) +Problem: After CTRL-V CTRL-A mode isn't updated. (Hirohito Higashi) +Solution: Clear the command line or update the displayed command. +Files: src/normal.c + +Patch 7.4.808 +Problem: On MS-Windows 8 IME input doesn't work correctly. +Solution: Read console input before calling MsgWaitForMultipleObjects(). + (vim-jp, Nobuhiro Takasaki) +Files: src/os_win32.c + +Patch 7.4.809 (after 7.4.802) +Problem: Test is duplicated. +Solution: Roll back 7.4.802. +Files: src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.4.810 +Problem: With a sequence of commands using buffers in diff mode E749 is + given. (itchyny) +Solution: Skip unloaded buffer. (Hirohito Higashi) +Files: src/diff.c + +Patch 7.4.811 +Problem: Invalid memory access when using "exe 'sc'". +Solution: Avoid going over the end of the string. (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.4.812 +Problem: Gcc sanitizer complains about using a NULL pointer to memmove(). +Solution: Only call memmove when there is something to move. (Vittorio + Zecca) +Files: src/memline.c + +Patch 7.4.813 +Problem: It is not possible to save and restore character search state. +Solution: Add getcharsearch() and setcharsearch(). (James McCoy) +Files: runtime/doc/eval.txt, src/eval.c, src/proto/search.pro, + src/search.c, src/testdir/test_charsearch.in, + src/testdir/test_charsearch.ok, src/testdir/Makefile, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms + +Patch 7.4.814 +Problem: Illegal memory access with "sy match a fold". +Solution: Check for empty string. (Dominique Pelle) +Files: src/syntax.c + +Patch 7.4.815 +Problem: Invalid memory access when doing ":call g:". +Solution: Check for an empty name. (Dominique Pelle) +Files: src/eval.c + +Patch 7.4.816 +Problem: Invalid memory access when doing ":fun X(". +Solution: Check for missing ')'. (Dominique Pelle) +Files: src/eval.c + +Patch 7.4.817 +Problem: Invalid memory access in file_pat_to_reg_pat(). +Solution: Use vim_isspace() instead of checking for a space only. (Dominique + Pelle) +Files: src/fileio.c + +Patch 7.4.818 +Problem: 'linebreak' breaks c% if the last Visual selection was block. + (Chris Morganiser, Issue 389) +Solution: Handle Visual block mode differently. (Christian Brabandt) +Files: src/normal.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.819 +Problem: Beeping when running the tests. +Solution: Fix 41 beeps. (Roland Eggner) +Files: src/testdir/test17.in, src/testdir/test29.in, + src/testdir/test4.in, src/testdir/test61.in, + src/testdir/test82.in, src/testdir/test83.in, + src/testdir/test90.in, src/testdir/test95.in, + src/testdir/test_autoformat_join.in + +Patch 7.4.820 +Problem: Invalid memory access in file_pat_to_reg_pat. +Solution: Avoid looking before the start of a string. (Dominique Pelle) +Files: src/fileio.c + +Patch 7.4.821 +Problem: Coverity reports a few problems. +Solution: Avoid the warnings. (Christian Brabandt) +Files: src/ex_docmd.c, src/option.c, src/screen.c + +Patch 7.4.822 +Problem: More problems reported by coverity. +Solution: Avoid the warnings. (Christian Brabandt) +Files: src/os_unix.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_getln.c, src/fold.c, src/gui.c, src/gui_w16.c, + src/gui_w32.c, src/if_cscope.c, src/if_xcmdsrv.c, src/move.c, + src/normal.c, src/regexp.c, src/syntax.c, src/ui.c, src/window.c + +Patch 7.4.823 +Problem: Cursor moves after CTRL-A on alphabetic character. +Solution: (Hirohito Higashi, test by Christian Brabandt) +Files: src/testdir/test_increment.in, src/testdir/test_increment.ok, + src/ops.c + +Patch 7.4.824 (after 7.4.813) +Problem: Can't compile without the multi-byte feature. (John Marriott) +Solution: Add #ifdef. +Files: src/eval.c + +Patch 7.4.825 +Problem: Invalid memory access for ":syn keyword x a[". +Solution: Do not skip over the NUL. (Dominique Pelle) +Files: src/syntax.c + +Patch 7.4.826 +Problem: Compiler warnings and errors. +Solution: Make it build properly without the multi-byte feature. +Files: src/eval.c, src/search.c + +Patch 7.4.827 +Problem: Not all test targets are in the Makefile. +Solution: Add the missing targets. +Files: src/Makefile + +Patch 7.4.828 +Problem: Crash when using "syn keyword x c". (Dominique Pelle) +Solution: Initialize the keyword table. (Raymond Ko, PR 397) +Files: src/syntax.c + +Patch 7.4.829 +Problem: Crash when clicking in beval balloon. (Travis Lebsock) +Solution: Use PostMessage() instead of DestroyWindow(). (Raymond Ko, PR 298) +Files: src/gui_w32.c + +Patch 7.4.830 +Problem: Resetting 'encoding' when doing ":set all&" causes problems. + (Bjorn Linse) Display is not updated. +Solution: Do not reset 'encoding'. Do a full redraw. +Files: src/option.c + +Patch 7.4.831 +Problem: When expanding `=expr` on the command line and encountering an + error, the command is executed anyway. +Solution: Bail out when an error is detected. +Files: src/misc1.c + +Patch 7.4.832 +Problem: $HOME in `=$HOME . '/.vimrc'` is expanded too early. +Solution: Skip over `=expr` when expanding environment names. +Files: src/misc1.c + +Patch 7.4.833 +Problem: More side effects of ":set all&" are missing. (Björn Linse) +Solution: Call didset_options() and add didset_options2() to collect more + side effects to take care of. Still not everything... +Files: src/option.c + +Patch 7.4.834 +Problem: gettabvar() doesn't work after Vim start. (Szymon Wrozynski) +Solution: Handle first window in tab still being NULL. (Christian Brabandt) +Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok + +Patch 7.4.835 +Problem: Comparing utf-8 sequences does not handle different byte sizes + correctly. +Solution: Get the byte size of each character. (Dominique Pelle) +Files: src/misc2.c + +Patch 7.4.836 +Problem: Accessing uninitialized memory. +Solution: Add missing calls to init_tv(). (Dominique Pelle) +Files: src/eval.c + +Patch 7.4.837 +Problem: Compiler warning with MSVC compiler when using +sniff. +Solution: Use Sleep() instead of _sleep(). (Tux) +Files: src/if_sniff.c + +Patch 7.4.838 (after 7.4.833) +Problem: Can't compile without the crypt feature. (John Marriott) +Solution: Add #ifdef. +Files: src/option.c + +Patch 7.4.839 +Problem: Compiler warning on 64-bit system. +Solution: Add cast to int. (Mike Williams) +Files: src/search.c + +Patch 7.4.840 (after 7.4.829) +Problem: Tooltip window stays open. +Solution: Send a WM_CLOSE message. (Jurgen Kramer) +Files: src/gui_w32.c + +Patch 7.4.841 +Problem: Can't compile without the multi-byte feature. (John Marriott) +Solution: Add more #ifdef's. +Files: src/option.c + +Patch 7.4.842 (after 7.4.840) +Problem: Sending too many messages to close the balloon. +Solution: Only send a WM_CLOSE message. (Jurgen Kramer) +Files: src/gui_w32.c + +Patch 7.4.843 (after 7.4.835) +Problem: Still possible to go beyond the end of a string. +Solution: Check for NUL also in second string. (Dominique Pelle) +Files: src/misc2.c + +Patch 7.4.844 +Problem: When '#' is in 'isident' the is# comparator doesn't work. +Solution: Don't use vim_isIDc(). (Yasuhiro Matsumoto) +Files: src/eval.c, src/testdir/test_comparators.in, + src/testdir/test_comparators.ok, src/testdir/Makefile, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms + +Patch 7.4.845 +Problem: Compiler warning for possible loss of data. +Solution: Add a type cast. (Erich Ritz) +Files: src/misc1.c + +Patch 7.4.846 +Problem: Some GitHub users don't know how to use issues. +Solution: Add a file that explains the basics of contributing. +Files: Filelist, CONTRIBUTING.md + +Patch 7.4.847 +Problem: "vi)d" may leave a character behind. +Solution: Skip over multi-byte character. (Christian Brabandt) +Files: src/search.c + +Patch 7.4.848 +Problem: CTRL-A on hex number in Visual block mode is incorrect. +Solution: Account for the "0x". (Hirohito Higashi) +Files: src/charset.c, src/testdir/test_increment.in, + src/testdir/test_increment.ok + +Patch 7.4.849 +Problem: Moving the cursor in Insert mode starts new undo sequence. +Solution: Add CTRL-G U to keep the undo sequence for the following cursor + movement command. (Christian Brabandt) +Files: runtime/doc/insert.txt, src/edit.c, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok + +Patch 7.4.850 (after 7.4.846) +Problem: <Esc> does not show up. +Solution: Use > and <. (Kazunobu Kuriyama) +Files: CONTRIBUTING.md + +Patch 7.4.851 +Problem: Saving and restoring the console buffer does not work properly. +Solution: Instead of ReadConsoleOutputA/WriteConsoleOutputA use + CreateConsoleScreenBuffer and SetConsoleActiveScreenBuffer. + (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.852 +Problem: On MS-Windows console Vim uses ANSI APIs for keyboard input and + console output, it cannot input/output Unicode characters. +Solution: Use Unicode APIs for console I/O. (Ken Takata, Yasuhiro Matsumoto) +Files: src/os_win32.c, src/ui.c, runtime/doc/options.txt + +Patch 7.4.853 +Problem: "zt" in diff mode does not always work properly. (Gary Johnson) +Solution: Don't count filler lines twice. (Christian Brabandt) +Files: src/move.c + +Patch 7.4.854 (after 7.4.850) +Problem: Missing information about runtime files. +Solution: Add section about runtime files. (Christian Brabandt) +Files: CONTRIBUTING.md + +Patch 7.4.855 +Problem: GTK: font glitches for combining characters +Solution: Use pango_shape_full() instead of pango_shape(). (luchr, PR #393) +Files: src/gui_gtk_x11.c + +Patch 7.4.856 +Problem: "zt" still doesn't work well with filler lines. (Gary Johnson) +Solution: Check for filler lines above the cursor. (Christian Brabandt) +Files: src/move.c + +Patch 7.4.857 +Problem: Dragging the current tab with the mouse doesn't work properly. +Solution: Take the current tabpage index into account. (Hirohito Higashi) +Files: src/normal.c + +Patch 7.4.858 +Problem: It's a bit clumsy to execute a command on a list of matches. +Solution: Add the ":ldo", ":lfdo", ":cdo" and ":cfdo" commands. (Yegappan + Lakshmanan) +Files: runtime/doc/cmdline.txt, runtime/doc/editing.txt, + runtime/doc/index.txt, runtime/doc/quickfix.txt, + runtime/doc/tabpage.txt, runtime/doc/windows.txt, src/ex_cmds.h, + src/ex_cmds2.c, src/ex_docmd.c, src/proto/quickfix.pro, + src/quickfix.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/test_cdo.in, + src/testdir/test_cdo.ok + +Patch 7.4.859 +Problem: Vim doesn't recognize all htmldjango files. +Solution: Recognize a comment. (Daniel Hahler, PR #410) +Files: runtime/filetype.vim + +Patch 7.4.860 +Problem: Filetype detection is outdated. +Solution: Include all recent and not-so-recent changes. +Files: runtime/filetype.vim + +Patch 7.4.861 (after 7.4.855) +Problem: pango_shape_full() is not always available. +Solution: Add a configure check. +Files: src/configure.in, src/auto/configure, src/config.h.in, + src/gui_gtk_x11.c + +Patch 7.4.862 (after 7.4.861) +Problem: Still problems with pango_shape_full() not available. +Solution: Change AC_TRY_COMPILE to AC_TRY_LINK. +Files: src/configure.in, src/auto/configure + +Patch 7.4.863 (after 7.4.856) +Problem: plines_nofill() used without the diff feature. +Solution: Define PLINES_NOFILL(). +Files: src/macros.h, src/move.c + +Patch 7.4.864 (after 7.4.858) +Problem: Tiny build fails. +Solution: Put qf_ items inside #ifdef. +Files: src/ex_docmd.c + +Patch 7.4.865 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize. +Files: src/ex_cmds2.c + +Patch 7.4.866 +Problem: Crash when changing the 'tags' option from a remote command. + (Benjamin Fritz) +Solution: Instead of executing messages immediately, use a queue, like for + netbeans. (James Kolb) +Files: src/ex_docmd.c, src/getchar.c, src/gui_gtk_x11.c, src/gui_w48.c, + src/gui_x11.c, src/if_xcmdsrv.c, src/misc2.c, src/os_unix.c, + src/proto/if_xcmdsrv.pro, src/proto/misc2.pro, src/macros.h + +Patch 7.4.867 (after 7.4.866) +Problem: Can't build on MS-Windows. (Taro Muraoka) +Solution: Adjust #ifdef. +Files: src/misc2.c + +Patch 7.4.868 +Problem: 'smarttab' is also effective when 'paste' is enabled. (Alexander + Monakov) +Solution: Disable 'smarttab' when 'paste' is set. (Christian Brabandt) + Do the same for 'expandtab'. +Files: src/option.c, src/structs.h + +Patch 7.4.869 +Problem: MS-Windows: scrolling may cause text to disappear when using an + Intel GPU. +Solution: Call GetPixel(). (Yohei Endo) +Files: src/gui_w48.c + +Patch 7.4.870 +Problem: May get into an invalid state when using getchar() in an + expression mapping. +Solution: Anticipate mod_mask to change. (idea by Yukihiro Nakadaira) +Files: src/getchar.c + +Patch 7.4.871 +Problem: Vim leaks memory, when 'wildignore' filters out all matches. +Solution: Free the files array when it becomes empty. +Files: src/misc1.c + +Patch 7.4.872 +Problem: Not using CI services available. +Solution: Add configuration files for travis and appveyor. (Ken Takata, + vim-jp, PR #401) +Files: .travis.yml, appveyor.yml, Filelist + +Patch 7.4.873 (after 7.4.866) +Problem: Compiler warning for unused variable. (Tony Mechelynck) +Solution: Remove the variable. Also fix int vs long_u mixup. +Files: src/if_xcmdsrv.c + +Patch 7.4.874 +Problem: MS-Windows: When Vim runs inside another application, the size + isn't right. +Solution: When in child mode compute the size differently. (Agorgianitis + Loukas) +Files: src/gui_w48.c + +Patch 7.4.875 +Problem: Not obvious how to contribute. +Solution: Add a remark about CONTRIBUTING.md to README.md +Files: README.md + +Patch 7.4.876 +Problem: Windows7: when using vim.exe with msys or msys2, conhost.exe + (console window provider on Windows7) will freeze or crash. +Solution: Make original screen buffer active, before executing external + program. And when the program is finished, revert to vim's one. + (Taro Muraoka) +Files: src/os_win32.c + +Patch 7.4.877 (after 7.4.843) +Problem: ":find" sometimes fails. (Excanoe) +Solution: Compare current characters instead of previous ones. +Files: src/misc2.c + +Patch 7.4.878 +Problem: Coverity error for clearing only one byte of struct. +Solution: Clear the whole struct. (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.4.879 +Problem: Can't see line numbers in nested function calls. +Solution: Add line number to the file name. (Alberto Fanjul) +Files: src/eval.c + +Patch 7.4.880 +Problem: No build and coverage status. +Solution: Add links to the README file. (Christian Brabandt) +Files: README.md + +Patch 7.4.881 (after 7.4.879) +Problem: Test 49 fails. +Solution: Add line number to check of call stack. +Files: src/testdir/test49.vim + +Patch 7.4.882 +Problem: When leaving the command line window with CTRL-C while a + completion menu is displayed the menu isn't removed. +Solution: Force a screen update. (Hirohito Higashi) +Files: src/edit.c + +Patch 7.4.883 (after 7.4.818) +Problem: Block-mode replace works characterwise instead of blockwise after + column 147. (Issue #422) +Solution: Set Visual mode. (Christian Brabandt) +Files: src/normal.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.884 +Problem: Travis also builds on a tag push. +Solution: Filter out tag pushes. (Kenichi Ito) +Files: .travis.yml + +Patch 7.4.885 +Problem: When doing an upwards search without wildcards the search fails if + the initial directory doesn't exist. +Solution: Fix the non-wildcard case. (Stefan Kempf) +Files: src/misc2.c + +Patch 7.4.886 (after 7.4.876) +Problem: Windows7: Switching screen buffer causes flicker when using + system(). +Solution: Instead of actually switching screen buffer, duplicate the handle. + (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.887 +Problem: Using uninitialized memory for regexp with back reference. + (Dominique Pelle) +Solution: Initialize end_lnum. +Files: src/regexp_nfa.c + +Patch 7.4.888 +Problem: The OptionSet autocommands are not triggered from setwinvar(). +Solution: Do not use switch_win() when not needed. (Hirohito Higashi) +Files: src/eval.c + +Patch 7.4.889 +Problem: Triggering OptionSet from setwinvar() isn't tested. +Solution: Add a test. (Christian Brabandt) +Files: src/testdir/test_autocmd_option.in, + src/testdir/test_autocmd_option.ok + +Patch 7.4.890 +Problem: Build failure when using dynamic python but not python3. +Solution: Adjust the #if to also include DYNAMIC_PYTHON3 and UNIX. +Files: src/if_python3.c + +Patch 7.4.891 +Problem: Indentation of array initializer is wrong. +Solution: Avoid that calling find_start_rawstring() changes the position + returned by find_start_comment(), add a test. (Hirohito Higashi) +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.892 +Problem: On MS-Windows the iconv DLL may have a different name. +Solution: Also try libiconv2.dll and libiconv-2.dll. (Yasuhiro Matsumoto) +Files: src/mbyte.c + +Patch 7.4.893 +Problem: C indenting is wrong below a "case (foo):" because it is + recognized as a C++ base class construct. Issue #38. +Solution: Check for the case keyword. +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.894 +Problem: vimrun.exe is picky about the number of spaces before -s. +Solution: Skip all spaces. (Cam Sinclair) +Files: src/vimrun.c + +Patch 7.4.895 +Problem: Custom command line completion does not work for a command + containing digits. +Solution: Skip over the digits. (suggested by Yasuhiro Matsumoto) +Files: src/ex_docmd.c + +Patch 7.4.896 +Problem: Editing a URL, which netrw should handle, doesn't work. +Solution: Avoid changing slashes to backslashes. (Yasuhiro Matsumoto) +Files: src/fileio.c, src/os_mswin.c + +Patch 7.4.897 +Problem: Freeze and crash when there is a sleep in a remote command. + (Karl Yngve Lervåg) +Solution: Remove a message from the queue before dealing with it. (James + Kolb) +Files: src/if_xcmdsrv.c + +Patch 7.4.898 +Problem: The 'fixendofline' option is set on with ":edit". +Solution: Don't set the option when clearing a buffer. (Yasuhiro Matsumoto) +Files: src/buffer.c + +Patch 7.4.899 +Problem: README file is not optimal. +Solution: Move buttons, update some text. (closes #460) +Files: README.txt, README.md + +Patch 7.4.900 (after 7.4.899) +Problem: README file can still be improved +Solution: Add a couple of links. (Christian Brabandt) +Files: README.md + +Patch 7.4.901 +Problem: When a BufLeave autocommand changes folding in a way it syncs + undo, undo can be corrupted. +Solution: Prevent undo sync. (Jacob Niehus) +Files: src/popupmnu.c + +Patch 7.4.902 +Problem: Problems with using the MS-Windows console. +Solution: Revert patches 7.4.851, 7.4.876 and 7.4.886 until we find a better + solution. (suggested by Ken Takata) +Files: src/os_win32.c + +Patch 7.4.903 +Problem: MS-Windows: When 'encoding' differs from the current code page, + expanding wildcards may cause illegal memory access. +Solution: Allocate a longer buffer. (Ken Takata) +Files: src/misc1.c + +Patch 7.4.904 +Problem: Vim does not provide .desktop files. +Solution: Include and install .desktop files. (James McCoy, closes #455) +Files: Filelist, runtime/vim.desktop, runtime/gvim.desktop, src/Makefile + +Patch 7.4.905 +Problem: Python interface can produce error "vim.message' object has no + attribute 'isatty'". +Solution: Add dummy isatty(), readable(), etc. (closes #464) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.906 +Problem: On MS-Windows the viminfo file is (always) given the hidden + attribute. (raulnac) +Solution: Check the hidden attribute in a different way. (Ken Takata) +Files: src/ex_cmds.c, src/os_win32.c, src/os_win32.pro + +Patch 7.4.907 +Problem: Libraries for dynamically loading interfaces can only be defined + at compile time. +Solution: Add options to specify the dll names. (Kazuki Sakamoto, + closes #452) +Files: runtime/doc/if_lua.txt, runtime/doc/if_perl.txt, + runtime/doc/if_pyth.txt, runtime/doc/if_ruby.txt, + runtime/doc/options.txt, src/if_lua.c, src/if_perl.xs, + src/if_python.c, src/if_python3.c, src/if_ruby.c, src/option.c, + src/option.h + +Patch 7.4.908 (after 7.4.907) +Problem: Build error with MingW compiler. (Cesar Romani) +Solution: Change #if into #ifdef. +Files: src/if_perl.xs + +Patch 7.4.909 (after 7.4.905) +Problem: "make install" fails. +Solution: Only try installing desktop files if the destination directory + exists. +Files: src/Makefile + +Patch 7.4.910 (after 7.4.905) +Problem: Compiler complains about type punned pointer. +Solution: Use another way to increment the ref count. +Files: src/if_py_both.h + +Patch 7.4.911 +Problem: t_Ce and t_Cs are documented but not supported. (Hirohito Higashi) +Solution: Define the options. +Files: src/option.c + +Patch 7.4.912 +Problem: Wrong indenting for C++ constructor. +Solution: Recognize ::. (Anhong) +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 7.4.913 +Problem: No utf-8 support for the hangul input feature. +Solution: Add utf-8 support. (Namsh) +Files: src/gui.c, src/hangulin.c, src/proto/hangulin.pro, src/screen.c, + src/ui.c, runtime/doc/hangulin.txt, src/feature.h + +Patch 7.4.914 +Problem: New compiler warning: logical-not-parentheses +Solution: Silence the warning. +Files: src/term.c + +Patch 7.4.915 +Problem: When removing from 'path' and then adding, a comma may go missing. + (Malcolm Rowe) +Solution: Fix the check for P_ONECOMMA. (closes #471) +Files: src/option.c, src/testdir/test_options.in, + src/testdir/test_options.ok + +Patch 7.4.916 +Problem: When running out of memory while copying a dict memory may be + freed twice. (ZyX) +Solution: Do not call the garbage collector when running out of memory. +Files: src/misc2.c + +Patch 7.4.917 +Problem: Compiler warning for comparing signed and unsigned. +Solution: Add a type cast. +Files: src/hangulin.c + +Patch 7.4.918 +Problem: A digit in an option name has problems. +Solution: Rename 'python3dll' to 'pythonthreedll'. +Files: src/option.c, src/option.h, runtime/doc/options.txt + +Patch 7.4.919 +Problem: The dll options are not in the options window. +Solution: Add the dll options. And other fixes. +Files: runtime/optwin.vim + +Patch 7.4.920 +Problem: The rubydll option is not in the options window. +Solution: Add the rubydll option. +Files: runtime/optwin.vim + +Patch 7.4.921 (after 7.4.906) +Problem: Missing proto file update. (Randall W. Morris) +Solution: Add the missing line for mch_ishidden. +Files: src/proto/os_win32.pro + +Patch 7.4.922 +Problem: Leaking memory with ":helpt {dir-not-exists}". +Solution: Free dirname. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.4.923 +Problem: Prototypes not always generated. +Solution: Change #if to OR with PROTO. +Files: src/window.c + +Patch 7.4.924 +Problem: DEVELOPER_DIR gets reset by configure. +Solution: Do not reset DEVELOPER_DIR when there is no --with-developer-dir + argument. (Kazuki Sakamoto, closes #482) +Files: src/configure.in, src/auto/configure + +Patch 7.4.925 +Problem: User may yank or put using the register being recorded in. +Solution: Add the recording register in the message. (Christian Brabandt, + closes #470) +Files: runtime/doc/options.txt, runtime/doc/repeat.txt, src/ops.c, + src/option.h, src/screen.c + +Patch 7.4.926 +Problem: Completing the longest match doesn't work properly with multi-byte + characters. +Solution: When using multi-byte characters use another way to find the + longest match. (Hirohito Higashi) +Files: src/ex_getln.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok + +Patch 7.4.927 +Problem: Ruby crashes when there is a runtime error. +Solution: Use ruby_options() instead of ruby_process_options(). (Damien) +Files: src/if_ruby.c + +Patch 7.4.928 +Problem: A clientserver message interrupts handling keys of a mapping. +Solution: Have mch_inchar() send control back to WaitForChar when it is + interrupted by server message. (James Kolb) +Files: src/os_unix.c + +Patch 7.4.929 +Problem: "gv" after paste selects one character less if 'selection' is + "exclusive". +Solution: Increment the end position. (Christian Brabandt) +Files: src/normal.c, src/testdir/test94.in, src/testdir/test94.ok + +Patch 7.4.930 +Problem: MS-Windows: Most users appear not to like the window border. +Solution: Remove WS_EX_CLIENTEDGE. (Ian Halliday) +Files: src/gui_w32.c + +Patch 7.4.931 (after 7.4.929) +Problem: Test 94 fails on some systems. +Solution: Set 'encoding' to utf-8. +Files: src/testdir/test94.in + +Patch 7.4.932 (after 7.4.926) +Problem: test_utf8 has confusing dummy command. +Solution: Use a real command instead of a colon. +Files: src/testdir/test_utf8.in + +Patch 7.4.933 (after 7.4.926) +Problem: Crash when using longest completion match. +Solution: Fix array index. +Files: src/ex_getln.c + +Patch 7.4.934 +Problem: Appveyor also builds on a tag push. +Solution: Add a skip_tags line. (Kenichi Ito, closes #489) +Files: appveyor.yml + +Patch 7.4.935 (after 7.4.932) +Problem: test_utf8 fails on MS-Windows when executed with gvim. +Solution: Use the insert flag on feedkeys() to put the string before the + ":" that was already read when checking for available chars. +Files: src/testdir/test_utf8.in + +Patch 7.4.936 +Problem: Crash when dragging with the mouse. +Solution: Add safety check for NULL pointer. Check mouse position for valid + value. (Hirohito Higashi) +Files: src/window.c, src/term.c + +Patch 7.4.937 +Problem: Segfault reading uninitialized memory. +Solution: Do not read match \z0, it does not exist. (Marius Gedminas, closes + #497) +Files: src/regexp_nfa.c + +Patch 7.4.938 +Problem: X11 and GTK have more mouse buttons than Vim supports. +Solution: Recognize more mouse buttons. (Benoit Pierre, closes #498) +Files: src/gui_gtk_x11.c, src/gui_x11.c + +Patch 7.4.939 +Problem: Memory leak when encountering a syntax error. +Solution: Free the memory. (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.4.940 +Problem: vt52 terminal codes are not correct. +Solution: Move entries outside of #if. (Random) Adjustments based on + documented codes. +Files: src/term.c + +Patch 7.4.941 +Problem: There is no way to ignore case only for tag searches. +Solution: Add the 'tagcase' option. (Gary Johnson) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/doc/tagsrch.txt, runtime/doc/usr_29.txt, + runtime/optwin.vim, src/Makefile, src/buffer.c, src/option.c, + src/option.h, src/structs.h, src/tag.c, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_tagcase.in, src/testdir/test_tagcase.ok + +Patch 7.4.942 (after 7.4.941) +Problem: test_tagcase breaks for small builds. +Solution: Bail out of the test early. (Hirohito Higashi) +Files: src/testdir/test_tagcase.in + +Patch 7.4.943 +Problem: Tests are not run. +Solution: Add test_writefile to makefiles. (Ken Takata) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.944 +Problem: Writing tests for Vim script is hard. +Solution: Add assertEqual(), assertFalse() and assertTrue() functions. Add + the v:errors variable. Add the runtest script. Add a first new + style test script. +Files: src/eval.c, src/vim.h, src/misc2.c, src/testdir/Makefile, + src/testdir/runtest.vim, src/testdir/test_assert.vim, + runtime/doc/eval.txt + +Patch 7.4.945 (after 7.4.944) +Problem: New style testing is incomplete. +Solution: Add the runtest script to the list of distributed files. + Add the new functions to the function overview. + Rename the functions to match Vim function style. + Move undolevels testing into a new style test script. +Files: Filelist, runtime/doc/usr_41.txt, runtime/doc/eval.txt, + src/testdir/test_assert.vim, src/testdir/Makefile, + src/testdir/test_undolevels.vim, src/testdir/test100.in, + src/testdir/test100.ok + +Patch 7.4.946 (after 7.4.945) +Problem: Missing changes in source file. +Solution: Include changes to the eval.c file. +Files: src/eval.c + +Patch 7.4.947 +Problem: Test_listchars fails with MingW. (Michael Soyka) +Solution: Add the test to the ones that need the fileformat fixed. + (Christian Brabandt) +Files: src/testdir/Make_ming.mak + +Patch 7.4.948 +Problem: Can't build when the insert_expand feature is disabled. +Solution: Add #ifdefs. (Dan Pasanen, closes #499) +Files: src/eval.c, src/fileio.c + +Patch 7.4.949 +Problem: When using 'colorcolumn' and there is a sign with a fullwidth + character the highlighting is wrong. (Andrew Stewart) +Solution: Only increment vcol when in the right state. (Christian Brabandt) +Files: src/screen.c, src/testdir/test_listlbr_utf8.in, + src/testdir/test_listlbr_utf8.ok + +Patch 7.4.950 +Problem: v:errors is not initialized. +Solution: Initialize it to an empty list. (Thinca) +Files: src/eval.c + +Patch 7.4.951 +Problem: Sorting number strings does not work as expected. (Luc Hermitte) +Solution: Add the "N" argument to sort() +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test_alot.vim, + src/testdir/test_sort.vim, src/testdir/Makefile + +Patch 7.4.952 +Problem: 'lispwords' is tested in the old way. +Solution: Make a new style test for 'lispwords'. +Files: src/testdir/test_alot.vim, src/testdir/test_lispwords.vim, + src/testdir/test100.in, src/testdir/test100.ok, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.953 +Problem: When a test script navigates to another buffer the .res file is + created with the wrong name. +Solution: Use the "testname" for the .res file. (Damien) +Files: src/testdir/runtest.vim + +Patch 7.4.954 +Problem: When using Lua there may be a crash. (issue #468) +Solution: Avoid using an uninitialized tv. (Yukihiro Nakadaira) +Files: src/if_lua.c + +Patch 7.4.955 +Problem: Vim doesn't recognize .pl6 and .pod6 files. +Solution: Recognize them as perl6 and pod6. (Mike Eve, closes #511) +Files: runtime/filetype.vim + +Patch 7.4.956 +Problem: A few more file name extensions not recognized. +Solution: Add .asciidoc, .bzl, .gradle, etc. +Files: runtime/filetype.vim + +Patch 7.4.957 +Problem: Test_tagcase fails when using another language than English. +Solution: Set the messages language to C. (Kenichi Ito) +Files: src/testdir/test_tagcase.in + +Patch 7.4.958 +Problem: Vim checks if the directory "$TMPDIR" exists. +Solution: Do not check if the name starts with "$". +Files: src/fileio.c + +Patch 7.4.959 +Problem: When setting 'term' the clipboard ownership is lost. +Solution: Do not call clip_init(). (James McCoy) +Files: src/term.c + +Patch 7.4.960 +Problem: Detecting every version of nmake is clumsy. +Solution: Use a tiny C program to get the version of _MSC_VER. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 7.4.961 +Problem: Test107 fails in some circumstances. +Solution: When using "zt", "zb" and "z=" recompute the fraction. +Files: src/normal.c, src/window.c, src/proto/window.pro + +Patch 7.4.962 +Problem: Cannot run the tests with gvim. Cannot run individual new tests. +Solution: Add the -f flag. Add new test targets in Makefile. +Files: src/Makefile, src/testdir/Makefile + +Patch 7.4.963 +Problem: test_listlbr_utf8 sometimes fails. +Solution: Don't use a literal multibyte character but <C-V>uXXXX. Do not + dump the screen highlighting. (Christian Brabandt, closes #518) +Files: src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok + +Patch 7.4.964 +Problem: Test 87 doesn't work in a shadow directory. +Solution: Handle the extra subdirectory. (James McCoy, closes #515) +Files: src/testdir/test87.in + +Patch 7.4.965 +Problem: On FreeBSD /dev/fd/ files are special. +Solution: Use is_dev_fd_file() also for FreeBSD. (Derek Schrock, closes #521) +Files: src/fileio.c + +Patch 7.4.966 +Problem: Configure doesn't work with a space in a path. +Solution: Put paths in quotes. (James McCoy, closes #525) +Files: src/configure.in, src/auto/configure + +Patch 7.4.967 +Problem: Cross compilation on MS-windows doesn't work well. +Solution: Tidy up cross compilation across architectures with Visual Studio. + (Mike Williams) +Files: src/Make_mvc.mak + +Patch 7.4.968 +Problem: test86 and test87 are flaky in Appveyor. +Solution: Reduce the count from 8 to 7. (suggested by ZyX) +Files: src/testdir/test86.in, src/testdir/test87.in + +Patch 7.4.969 +Problem: Compiler warnings on Windows x64 build. +Solution: Add type casts. (Mike Williams) +Files: src/option.c + +Patch 7.4.970 +Problem: Rare crash in getvcol(). (Timo Mihaljov) +Solution: Check for the buffer being NULL in init_preedit_start_col. + (Hirohito Higashi, Christian Brabandt) +Files: src/mbyte.c + +Patch 7.4.971 +Problem: The asin() function can't be used. +Solution: Sort the function table properly. (Watiko) +Files: src/eval.c + +Patch 7.4.972 +Problem: Memory leak when there is an error in setting an option. +Solution: Free the saved value (Christian Brabandt) +Files: src/option.c + +Patch 7.4.973 +Problem: When pasting on the command line line breaks result in literal + <CR> characters. This makes pasting a long file name difficult. +Solution: Skip the characters. +Files: src/ex_getln.c, src/ops.c + +Patch 7.4.974 +Problem: When using :diffsplit the cursor jumps to the first line. +Solution: Put the cursor on the line related to where the cursor was before + the split. +Files: src/diff.c + +Patch 7.4.975 +Problem: Using ":sort" on a very big file sometimes causes text to be + corrupted. (John Beckett) +Solution: Copy the line into a buffer before calling ml_append(). +Files: src/ex_cmds.c + +Patch 7.4.976 +Problem: When compiling Vim for MSYS2 (linked with msys-2.0.dll), the Win32 + clipboard is not enabled. +Solution: Recognize MSYS like CYGWIN. (Ken Takata) +Files: src/configure.in, src/auto/configure + +Patch 7.4.977 +Problem: 'linebreak' does not work properly when using "space" in + 'listchars'. +Solution: (Hirohito Higashi, Christian Brabandt) +Files: src/screen.c, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok + +Patch 7.4.978 +Problem: test_cdo fails when using another language than English. +Solution: Set the language to C. (Dominique Pelle, Kenichi Ito) +Files: src/testdir/test_cdo.in + +Patch 7.4.979 +Problem: When changing the crypt key the blocks read from disk are not + decrypted. +Solution: Also call ml_decrypt_data() when mf_old_key is set. (Ken Takata) +Files: src/memfile.c + +Patch 7.4.980 +Problem: Tests for :cdo, :ldo, etc. are outdated. +Solution: Add new style tests for these commands. (Yegappan Lakshmanan) +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_cdo.in, src/testdir/test_cdo.ok, + src/testdir/test_cdo.vim + +Patch 7.4.981 +Problem: An error in a test script goes unnoticed. +Solution: Source the test script inside try/catch. (Hirohito Higashi) +Files: src/testdir/runtest.vim + +Patch 7.4.982 +Problem: Keeping the list of tests updated is a hassle. +Solution: Move the list to a separate file, so that it only needs to be + updated in one place. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/Make_all.mak + +Patch 7.4.983 +Problem: Executing one test after "make testclean" doesn't work. +Solution: Add a dependency on test1.out. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/Make_all.mak + +Patch 7.4.984 +Problem: searchpos() always starts searching in the first column, which is + not what some people expect. (Brett Stahlman) +Solution: Add the 'z' flag: start at the specified column. +Files: src/vim.h, src/eval.c, src/search.c, + src/testdir/test_searchpos.vim, src/testdir/test_alot.vim, + runtime/doc/eval.txt + +Patch 7.4.985 +Problem: Can't build with Ruby 2.3.0. +Solution: Use the new TypedData_XXX macro family instead of Data_XXX. Use + TypedData. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.986 +Problem: Test49 doesn't work on MS-Windows. test70 is listed twice. +Solution: Move test49 to the group not used on Amiga and MS-Windows. + Remove test70 from SCRIPTS_WIN32. +Files: src/testdir/Make_all.mak, src/testdir/Make_dos.mak + +Patch 7.4.987 (after 7.4.985) +Problem: Can't build with Ruby 1.9.2. +Solution: Require Rub 2.0 for defining USE_TYPEDDATA. +Files: src/if_ruby.c + +Patch 7.4.988 (after 7.4.982) +Problem: Default test target is test49.out. +Solution: Add a build rule before including Make_all.mak. +Files: src/testdir/Make_dos.mak, src/testdir/Make_amiga.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.989 +Problem: Leaking memory when hash_add() fails. Coverity error 99126. +Solution: When hash_add() fails free the memory. +Files: src/eval.c + +Patch 7.4.990 +Problem: Test 86 fails on AppVeyor. +Solution: Do some registry magic. (Ken Takata) +Files: appveyor.yml + +Patch 7.4.991 +Problem: When running new style tests the output is not visible. +Solution: Add the testdir/messages file and show it. Update the list of + test names. +Files: src/Makefile, src/testdir/Makefile, src/testdir/runtest.vim + +Patch 7.4.992 +Problem: Makefiles for MS-Windows in src/po are outdated. +Solution: Make them work. (Ken Takata, Taro Muraoka) +Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak, + src/po/README_mingw.txt, src/po/README_mvc.txt + +Patch 7.4.993 +Problem: Test 87 is flaky on AppVeyor. +Solution: Reduce the minimum background thread count. +Files: src/testdir/test86.in, src/testdir/test87.in + +Patch 7.4.994 +Problem: New style tests are not run on MS-Windows. +Solution: Add the new style tests. +Files: src/testdir/Make_dos.mak + +Patch 7.4.995 +Problem: gdk_pixbuf_new_from_inline() is deprecated. +Solution: Generate auto/gui_gtk_gresources.c. (Kazunobu Kuriyama, + closes #507) +Files: src/Makefile, src/auto/configure, src/config.h.in, + src/config.mk.in, src/configure.in, src/gui_gtk.c, + src/gui_gtk_gresources.xml, src/gui_gtk_x11.c, + src/proto/gui_gtk_gresources.pro, + pixmaps/stock_vim_build_tags.png, pixmaps/stock_vim_find_help.png, + pixmaps/stock_vim_save_all.png, + pixmaps/stock_vim_session_load.png, + pixmaps/stock_vim_session_new.png, + pixmaps/stock_vim_session_save.png, pixmaps/stock_vim_shell.png, + pixmaps/stock_vim_window_maximize.png, + pixmaps/stock_vim_window_maximize_width.png, + pixmaps/stock_vim_window_minimize.png, + pixmaps/stock_vim_window_minimize_width.png, + pixmaps/stock_vim_window_split.png, + pixmaps/stock_vim_window_split_vertical.png + +Patch 7.4.996 +Problem: New GDK files and testdir/Make_all.mak missing from distribution. + PC build instructions are outdated. +Solution: Add the file to the list. Update PC build instructions. +Files: Filelist, Makefile + +Patch 7.4.997 +Problem: "make shadow" was sometimes broken. +Solution: Add a test for it. (James McCoy, closes #520) +Files: .travis.yml + +Patch 7.4.998 +Problem: Running tests in shadow directory fails. Test 49 fails. +Solution: Link more files for the shadow directory. Make test 49 ends up in + the right buffer. +Files: src/Makefile, src/testdir/test49.in + +Patch 7.4.999 +Problem: "make shadow" creates a broken link. (Tony Mechelynck) +Solution: Remove vimrc.unix from the list. +Files: src/Makefile + +Patch 7.4.1000 +Problem: Test 49 is slow and doesn't work on MS-Windows. +Solution: Start moving parts of test 49 to test_viml. +Files: src/Makefile, src/testdir/runtest.vim, src/testdir/test_viml.vim, + src/testdir/test49.vim, src/testdir/test49.ok + +Patch 7.4.1001 (after 7.4.1000) +Problem: test_viml isn't run. +Solution: Include change in makefile. +Files: src/testdir/Make_all.mak + +Patch 7.4.1002 +Problem: Cannot run an individual test on MS-Windows. +Solution: Move the rule to run test1 downwards. (Ken Takata) +Files: src/testdir/Make_dos.mak + +Patch 7.4.1003 +Problem: Travis could check a few more things. +Solution: Run autoconf on one of the builds. (James McCoy, closes #510) + Also build with normal features. +Files: .travis.yml + +Patch 7.4.1004 +Problem: Using Makefile when auto/config.mk does not exist results in + warnings. +Solution: Use default values for essential variables. +Files: src/Makefile + +Patch 7.4.1005 +Problem: Vim users are not always happy. +Solution: Make them happy. +Files: src/ex_cmds.h, src/ex_cmds.c, src/proto/ex_cmds.pro + +Patch 7.4.1006 +Problem: The fix in patch 7.3.192 is not tested. +Solution: Add a test, one for each regexp engine. (Elias Diem) +Files: src/testdir/test44.in, src/testdir/test44.ok, + src/testdir/test99.in, src/testdir/test99.ok + +Patch 7.4.1007 +Problem: When a symbolic link points to a file in the root directory, the + swapfile is not correct. +Solution: Do not try getting the full name of a file in the root directory. + (Milly, closes #501) +Files: src/os_unix.c + +Patch 7.4.1008 +Problem: The OS/2 code pollutes the source while nobody uses it these days. +Solution: Drop the support for OS/2. +Files: src/feature.h, src/globals.h, src/macros.h, src/option.h, + src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro, src/vim.h, + src/digraph.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/getchar.c, src/memline.c, + src/misc1.c, src/misc2.c, src/netbeans.c, src/option.c, + src/term.c, src/ui.c, src/window.c, src/os_os2_cfg.h, + src/Make_os2.mak, src/testdir/Make_os2.mak, src/testdir/os2.vim, + src/INSTALL, runtime/doc/os_os2.txt + +Patch 7.4.1009 +Problem: There are still #ifdefs for ARCHIE. +Solution: Remove references to ARCHIE, the code was removed in Vim 5. +Files: src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, src/main.c, + src/memline.c, src/option.c, src/term.c + +Patch 7.4.1010 +Problem: Some developers are unhappy while running tests. +Solution: Add a test and some color. +Files: src/ex_cmds.c, src/testdir/test_assert.vim + +Patch 7.4.1011 +Problem: Can't build with Strawberry Perl. +Solution: Include stdbool.h. (Ken Takata, closes #328) +Files: Filelist, src/Make_mvc.mak, src/if_perl_msvc/stdbool.h + +Patch 7.4.1012 +Problem: Vim overwrites the value of $PYTHONHOME. +Solution: Do not set $PYTHONHOME if it is already set. (Kazuki Sakamoto, + closes #500) +Files: src/if_python.c, src/if_python3.c + +Patch 7.4.1013 +Problem: The local value of 'errorformat' is not used for ":lexpr" and + ":cexpr". +Solution: Use the local value if it exists. (Christian Brabandt) Adjust the + help for this. +Files: runtime/doc/quickfix.txt, src/quickfix.c + +Patch 7.4.1014 +Problem: `fnamemodify('.', ':.')` returns an empty string in Cygwin. +Solution: Use CCP_RELATIVE in the call to cygwin_conv_path. (Jacob Niehus, + closes #505) +Files: src/os_unix.c + +Patch 7.4.1015 +Problem: The column is not restored properly when the matchparen plugin is + used in Insert mode and the cursor is after the end of the line. +Solution: Set the curswant flag. (Christian Brabandt). Also fix + highlighting the match of the character before the cursor. +Files: src/eval.c, runtime/plugin/matchparen.vim + +Patch 7.4.1016 +Problem: Still a few OS/2 pieces remain. +Solution: Delete more. +Files: Filelist, README_os2.txt, testdir/todos.vim, src/xxd/Make_os2.mak + +Patch 7.4.1017 +Problem: When there is a backslash in an option ":set -=" doesn't work. +Solution: Handle a backslash better. (Jacob Niehus) Add a new test, merge + in old test. +Files: src/testdir/test_cdo.vim, src/testdir/test_set.vim, + src/testdir/test_alot.vim, src/option.c, src/testdir/test_set.in, + src/testdir/test_set.ok, src/Makefile + +Patch 7.4.1018 (after 7.4.1017) +Problem: Failure running tests. +Solution: Add missing change to list of old style tests. +Files: src/testdir/Make_all.mak + +Patch 7.4.1019 +Problem: Directory listing of "src" is too long. +Solution: Rename the resources file to make it shorter. +Files: src/gui_gtk_gresources.xml, src/gui_gtk_res.xml, src/Makefile, + Filelist + +Patch 7.4.1020 +Problem: On MS-Windows there is no target to run tests with gvim. +Solution: Add the testgvim target. +Files: src/Make_mvc.mak + +Patch 7.4.1021 +Problem: Some makefiles are outdated. +Solution: Add a note to warn developers. +Files: src/Make_manx.mak, src/Make_bc3.mak, src/Make_bc5.mak, + src/Make_djg.mak, src/Make_w16.mak + +Patch 7.4.1022 +Problem: The README file contains some outdated information. +Solution: Update the information about supported systems. +Files: README.txt, README.md + +Patch 7.4.1023 +Problem: The distribution files for MS-Windows use CR-LF, which is + inconsistent with what one gets from github. +Solution: Use LF in the distribution files. +Files: Makefile + +Patch 7.4.1024 +Problem: Interfaces for MS-Windows are outdated. +Solution: Use Python 2.7.10, Python 3.4.4, Perl 5.22, TCL 8.6. +Files: src/bigvim.bat + +Patch 7.4.1025 +Problem: Version in installer needs to be updated manually. +Solution: Generate a file with the version number. (Guopeng Wen) +Files: Makefile, nsis/gvim.nsi, nsis/gvim_version.nsh + +Patch 7.4.1026 +Problem: When using MingW the tests do not clean up all files. E.g. test + 17 leaves Xdir1 behind. (Michael Soyka) +Solution: Also delete directories, like Make_dos.mak. Delete files after + directories to reduce warnings. +Files: src/testdir/Make_ming.mak, src/testdir/Make_dos.mak + +Patch 7.4.1027 +Problem: No support for binary numbers. +Solution: Add "bin" to 'nrformats'. (Jason Schulz) +Files: runtime/doc/change.txt, runtime/doc/eval.txt, + runtime/doc/version7.txt, src/charset.c, src/eval.c, + src/ex_cmds.c, src/ex_getln.c, src/misc2.c, src/ops.c, + src/option.c, src/proto/charset.pro, src/spell.c, + src/testdir/test57.in, src/testdir/test57.ok, + src/testdir/test58.in, src/testdir/test58.ok, + src/testdir/test_increment.in, src/testdir/test_increment.ok, + src/vim.h + +Patch 7.4.1028 +Problem: Nsis version file missing from the distribution. +Solution: Add the file to the list. +Files: Filelist + +Patch 7.4.1029 (after 7.4.1027) +Problem: test_increment fails on systems with 32 bit long. +Solution: Only test with 32 bits. +Files: src/testdir/test_increment.in, src/testdir/test_increment.ok + +Patch 7.4.1030 +Problem: test49 is still slow. +Solution: Move more tests from old to new style. +Files: src/testdir/test_viml.vim, src/testdir/test49.vim, + src/testdir/test49.ok, src/testdir/runtest.vim + +Patch 7.4.1031 +Problem: Can't build with Python interface using MingW. +Solution: Update the Makefile. (Yasuhiro Matsumoto) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak + +Patch 7.4.1032 +Problem: message from assert_false() does not look nice. +Solution: Handle missing sourcing_name. Use right number of spaces. (Watiko) + Don't use line number if it's zero. +Files: src/eval.c + +Patch 7.4.1033 +Problem: Memory use on MS-Windows is very conservative. +Solution: Use the global memory status to estimate amount of memory. + (Mike Williams) +Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro + +Patch 7.4.1034 +Problem: There is no test for the 'backspace' option behavior. +Solution: Add a test. (Hirohito Higashi) +Files: src/testdir/test_alot.vim, src/testdir/test_backspace_opt.vim + +Patch 7.4.1035 +Problem: An Ex range gets adjusted for folded lines even when the range is + not using line numbers. +Solution: Only adjust line numbers for folding. (Christian Brabandt) +Files: runtime/doc/fold.txt, src/ex_docmd.c + +Patch 7.4.1036 +Problem: Only terminals with up to 256 colors work properly. +Solution: Use the 256 color behavior for all terminals with 256 or more + colors. (Robert de Bath, closes #504) +Files: src/syntax.c + +Patch 7.4.1037 +Problem: Using "q!" when there is a modified hidden buffer does not unload + the current buffer, resulting in the need to abandon it again. +Solution: When using "q!" unload the current buffer when needed. (Yasuhiro + Matsumoto, Hirohito Higashi) +Files: src/testdir/test31.in, src/testdir/test31.ok, + runtime/doc/editing.txt, src/ex_cmds2.c, src/ex_docmd.c, + src/gui.c, src/gui_gtk_x11.c, src/os_unix.c, + src/proto/ex_cmds2.pro + +Patch 7.4.1038 +Problem: Still get a warning for a deprecated function with gdk-pixbuf + 2.31. +Solution: Change minimum minor version from 32 to 31. +Files: src/configure.in, src/auto/configure + +Patch 7.4.1039 (after 7.4.1037) +Problem: Test 31 fails with small build. +Solution: Bail out for small build. (Hirohito Higashi) +Files: src/testdir/test31.in + +Patch 7.4.1040 +Problem: The tee command is not available on MS-Windows. +Solution: Adjust tee.c for MSVC and add a makefile. (Yasuhiro Matsumoto) +Files: src/tee/tee.c, src/tee/Make_mvc.mak, src/Make_mvc.mak + +Patch 7.4.1041 +Problem: Various small things. +Solution: Add file to list of distributed files. Adjust README. Fix typo. +Files: Filelist, src/testdir/README.txt, src/testdir/test_charsearch.in, + src/INSTALLmac.txt + +Patch 7.4.1042 +Problem: g-CTRL-G shows the word count, but there is no way to get the word + count in a script. +Solution: Add the wordcount() function. (Christian Brabandt) +Files: runtime/doc/editing.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/eval.c, src/normal.c, src/ops.c, + src/proto/ops.pro, src/testdir/test_wordcount.in, + src/testdir/test_wordcount.ok, src/testdir/Make_all.mak + +Patch 7.4.1043 +Problem: Another small thing. +Solution: Now really update the Mac install text. +Files: src/INSTALLmac.txt + +Patch 7.4.1044 (after 7.4.1042) +Problem: Can't build without the +eval feature. +Solution: Add #ifdef. +Files: src/ops.c + +Patch 7.4.1045 +Problem: Having shadow and coverage on the same build results in the source + files not being available in the coverage view. +Solution: Move using shadow to the normal build. +Files: .travis.yml + +Patch 7.4.1046 +Problem: No test coverage for menus. +Solution: Load the standard menus and check there is no error. +Files: src/testdir/test_menu.vim, src/testdir/test_alot.vim + +Patch 7.4.1047 (after patch 7.4.1042) +Problem: Tests fail on MS-Windows. +Solution: Set 'selection' to inclusive. +Files: src/testdir/test_wordcount.in + +Patch 7.4.1048 (after patch 7.4.1047) +Problem: Wordcount test still fail on MS-Windows. +Solution: Set 'fileformat' to "unix". +Files: src/testdir/test_wordcount.in + +Patch 7.4.1049 (after patch 7.4.1048) +Problem: Wordcount test still fails on MS-Windows. +Solution: Set 'fileformats' to "unix". +Files: src/testdir/test_wordcount.in + +Patch 7.4.1050 +Problem: Warning for unused var with tiny features. (Tony Mechelynck) +Solution: Add #ifdef. Use vim_snprintf(). Reduce number of statements. +Files: src/ops.c + +Patch 7.4.1051 +Problem: Segfault when unletting "count". +Solution: Check for readonly and locked first. (Dominique Pelle) + Add a test. +Files: src/eval.c, src/testdir/test_alot.vim, src/testdir/test_unlet.vim + +Patch 7.4.1052 +Problem: Illegal memory access with weird syntax command. (Dominique Pelle) +Solution: Check for column past end of line. +Files: src/syntax.c + +Patch 7.4.1053 +Problem: Insufficient testing for quickfix commands. +Solution: Add a new style quickfix test. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test_quickfix.vim + +Patch 7.4.1054 +Problem: Illegal memory access. +Solution: Check for missing pattern. (Dominique Pelle) +Files: src/syntax.c + +Patch 7.4.1055 +Problem: Running "make newtests" in src/testdir has no output. +Solution: List the messages file when a test fails. (Christian Brabandt) + Update the list of tests. +Files: src/Makefile, src/testdir/Makefile + +Patch 7.4.1056 +Problem: Don't know why finding spell suggestions is slow. +Solution: Add some code to gather profiling information. +Files: src/spell.c + +Patch 7.4.1057 +Problem: Typos in the :options window. +Solution: Fix the typos. (Dominique Pelle) +Files: runtime/optwin.vim + +Patch 7.4.1058 +Problem: It is not possible to test code that is only reached when memory + allocation fails. +Solution: Add the alloc_fail() function. Try it out with :vimgrep. +Files: runtime/doc/eval.txt, src/globals.h, src/eval.c, src/quickfix.c, + src/misc2.c, src/proto/misc2.pro, src/testdir/test_quickfix.vim + +Patch 7.4.1059 +Problem: Code will never be executed. +Solution: Remove the code. +Files: src/quickfix.c + +Patch 7.4.1060 +Problem: Instructions for writing tests are outdated. +Solution: Mention Make_all.mak. Add steps for new style tests. +Files: src/testdir/README.txt + +Patch 7.4.1061 +Problem: Compiler warning for ignoring return value of fwrite(). +Solution: Do use the return value. (idea: Charles Campbell) +Files: src/misc2.c, src/proto/misc2.pro + +Patch 7.4.1062 +Problem: Building with Ruby on MS-Windows requires a lot of arguments. +Solution: Make it simpler. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 7.4.1063 +Problem: TCL_VER_LONG and DYNAMIC_TCL_VER are not set when building with + Cygwin and MingW. +Solution: Add TCL_VER_LONG and DYNAMIC_TCL_VER to the makefile. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1064 +Problem: When a spell file has single letter compounding creating + suggestions takes an awful long time. +Solution: Add the NOCOMPOUNDSUGS flag. +Files: runtime/doc/spell.txt, src/spell.c + +Patch 7.4.1065 +Problem: Cannot use the "dll" options on MS-Windows. +Solution: Support the options on all platforms. Use the built-in name as + the default, so that it's clear what Vim is looking for. +Files: src/if_python.c, src/if_python3.c, src/if_lua.c, src/if_perl.xs, + src/if_ruby.c, src/option.c, runtime/doc/options.txt, src/Makefile + +Patch 7.4.1066 (after 7.4.1065) +Problem: Build fails on MS-Windows. +Solution: Adjust the #ifdefs for "dll" options. +Files: src/option.h + +Patch 7.4.1067 (after 7.4.1065) +Problem: Can't build with MingW and Python on MS-Windows. +Solution: Move the build flags to CFLAGS. +Files: src/Make_cyg_ming.mak + +Patch 7.4.1068 +Problem: Wrong way to check for unletting internal variables. +Solution: Use a better way. (Olaf Dabrunz) +Files: src/testdir/test_unlet.c, src/eval.c + +Patch 7.4.1069 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/misc2.c + +Patch 7.4.1070 +Problem: The Tcl interface can't be loaded dynamically on Unix. +Solution: Make it possible to load it dynamically. (Ken Takata) +Files: runtime/doc/if_tcl.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, runtime/optwin.vim, src/Makefile, + src/config.h.in, src/configure.in, src/auto/configure, + src/if_tcl.c, src/option.c, src/option.h + +Patch 7.4.1071 +Problem: New style tests are executed in arbitrary order. +Solution: Sort the test function names. (Hirohito Higashi) + Fix the quickfix test that depended on the order. +Files: src/testdir/runtest.vim, src/testdir/test_quickfix.vim + +Patch 7.4.1072 +Problem: Increment test is old style. +Solution: Make the increment test a new style test. (Hirohito Higashi) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_increment.in, src/testdir/test_increment.ok, + src/testdir/test_increment.vim + +Patch 7.4.1073 +Problem: Alloc_id depends on numbers, may use the same one twice. It's not + clear from the number what it's for. +Solution: Use an enum. Add a function to lookup the enum value from the + name. +Files: src/misc2.c, src/vim.h, src/alloc.h, src/globals.h, + src/testdir/runtest.vim, src/proto/misc2.pro, + src/testdir/test_quickfix.vim + +Patch 7.4.1074 +Problem: Warning from VC2015 compiler. +Solution: Add a type cast. (Mike Williams) +Files: src/gui_dwrite.cpp + +Patch 7.4.1075 +Problem: Crash when using an invalid command. +Solution: Fix generating the error message. (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.4.1076 +Problem: CTRL-A does not work well in right-left mode. +Solution: Remove reversing the line, add a test. (Hirohito Higashi) +Files: src/ops.c, src/testdir/test_increment.vim + +Patch 7.4.1077 +Problem: The build instructions for MS-Windows are incomplete. +Solution: Add explanations for how to build with various interfaces. (Ken + Takata) +Files: src/INSTALLpc.txt + +Patch 7.4.1078 +Problem: MSVC: "make clean" doesn't cleanup in the tee directory. +Solution: Add the commands to cleanup tee. (Erich Ritz) +Files: src/Make_mvc.mak + +Patch 7.4.1079 (after 7.4.1073) +Problem: New include file missing from distribution. Missing changes to + quickfix code. +Solution: Add alloc.h to the list of distributed files. Use the enum in + quickfix code. +Files: Filelist, src/quickfix.c + +Patch 7.4.1080 +Problem: VS2015 has a function HandleToLong() that is shadowed by the macro + that Vim defines. +Solution: Do not define HandleToLong() for MSVC version 1400 and later. + (Mike Williams) +Files: src/gui_w32.c + +Patch 7.4.1081 +Problem: No test for what previously caused a crash. +Solution: Add test for unletting errmsg. +Files: src/testdir/test_unlet.vim + +Patch 7.4.1082 +Problem: The Tcl interface is always skipping memory free on exit. +Solution: Only skip for dynamically loaded Tcl. +Files: src/if_tcl.c + +Patch 7.4.1083 +Problem: Building GvimExt with VS2015 may fail. +Solution: Adjust the makefile. (Mike Williams) +Files: src/GvimExt/Makefile + +Patch 7.4.1084 +Problem: Using "." to repeat CTRL-A in Visual mode increments the wrong + numbers. +Solution: Append right size to the redo buffer. (Ozaki Kiichi) +Files: src/normal.c, src/testdir/test_increment.vim + +Patch 7.4.1085 +Problem: The CTRL-A and CTRL-X commands do not update the '[ and '] marks. +Solution: (Yukihiro Nakadaira) +Files: src/ops.c, src/testdir/test_marks.in, src/testdir/test_marks.ok + +Patch 7.4.1086 +Problem: Crash with an extremely long buffer name. +Solution: Limit the return value of vim_snprintf(). (Dominique Pelle) +Files: src/buffer.c + +Patch 7.4.1087 +Problem: CTRL-A and CTRL-X do not work properly with blockwise visual + selection if there is a mix of Tab and spaces. +Solution: Add OP_NR_ADD and OP_NR_SUB. (Hirohito Higashi) +Files: src/testdir/test_increment.vim, src/normal.c, src/ops.c, + src/proto/ops.pro, src/vim.h + +Patch 7.4.1088 +Problem: Coverity warns for uninitialized variables. Only one is an actual + problem. +Solution: Move the conditions. Don't use endpos if handling an error. +Files: src/ops.c + +Patch 7.4.1089 +Problem: Repeating CTRL-A doesn't work. +Solution: Call prep_redo_cmd(). (Hirohito Higashi) +Files: src/normal.c, src/testdir/test_increment.vim + +Patch 7.4.1090 +Problem: No tests for :hardcopy and related options. +Solution: Add test_hardcopy. +Files: src/testdir/test_hardcopy.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 7.4.1091 +Problem: When making a change while need_wait_return is set there is a two + second delay. +Solution: Do not assume the ATTENTION prompt was given when need_wait_return + was set already. +Files: src/misc1.c + +Patch 7.4.1092 +Problem: It is not simple to test for an exception and give a proper error + message. +Solution: Add assert_exception(). +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.1093 +Problem: Typo in test goes unnoticed. +Solution: Fix the typo. Give error for wrong arguments to cursor(). + (partly by Hirohito Higashi) Add a test for cursor(). +Files: src/testdir/test_searchpos.vim, src/testdir/test_cursor_func.vim, + src/eval.c, src/testdir/test_alot.vim + +Patch 7.4.1094 +Problem: Test for :hardcopy fails on MS-Windows. +Solution: Check for the +postscript feature. +Files: src/testdir/test_hardcopy.vim + +Patch 7.4.1095 +Problem: Can't build GvimExt with SDK 7.1. +Solution: Support using setenv.bat instead of vcvars32.bat. (Ken Takata) +Files: src/Make_mvc.mak, src/GvimExt/Makefile + +Patch 7.4.1096 +Problem: Need several lines to verify a command produces an error. +Solution: Add assert_fails(). (suggested by Nikolai Pavlov) + Make the quickfix alloc test actually work. +Files: src/testdir/test_quickfix.vim, src/eval.c, runtime/doc/eval.txt, + src/misc2.c, src/alloc.h + +Patch 7.4.1097 +Problem: Looking up the alloc ID for tests fails. +Solution: Fix the line computation. Use assert_fails() for unlet test. +Files: src/testdir/runtest.vim, src/testdir/test_unlet.vim + +Patch 7.4.1098 +Problem: Still using old style C function declarations. +Solution: Always define __ARGS() to include types. Turn a few functions + into ANSI style to find out if this causes problems for anyone. +Files: src/vim.h, src/os_unix.h, src/eval.c, src/main.c + +Patch 7.4.1099 +Problem: It's not easy to know if Vim supports blowfish. (Smu Johnson) +Solution: Add has('crypt-blowfish') and has('crypt-blowfish2'). +Files: src/eval.c + +Patch 7.4.1100 +Problem: Cygwin makefiles are unused. +Solution: Remove them. +Files: src/GvimExt/Make_ming.mak, src/GvimExt/Make_cyg.mak, + src/xxd/Make_ming.mak, src/xxd/Make_cyg.mak + +Patch 7.4.1101 +Problem: With 'rightleft' and concealing the cursor may move to the wrong + position. +Solution: Compute the column differently when 'rightleft' is set. (Hirohito + Higashi) +Files: src/screen.c + +Patch 7.4.1102 +Problem: Debugger has no stack backtrace support. +Solution: Add "backtrace", "frame", "up" and "down" commands. (Alberto + Fanjul, closes #433) +Files: runtime/doc/repeat.txt, src/eval.c, src/ex_cmds2.c, src/globals.h, + src/testdir/Make_all.mak, src/testdir/test108.in, + src/testdir/test108.ok + +Patch 7.4.1103 (after 7.4.1100) +Problem: Removed file still in distribution. +Solution: Remove Make_cyg.mak from the list of files. +Files: Filelist + +Patch 7.4.1104 +Problem: Various problems building with MzScheme/Racket. +Solution: Make it work with new versions of Racket. (Yukihiro Nakadaira, Ken + Takata) +Files: runtime/doc/if_mzsch.txt, src/INSTALLpc.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/configure.in, src/if_mzsch.c + +Patch 7.4.1105 +Problem: When using slices there is a mixup of variable name and namespace. +Solution: Recognize variables that can't be a namespace. (Hirohito Higashi) +Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok + +Patch 7.4.1106 +Problem: The nsis script can't be used from the appveyor build. +Solution: Add "ifndef" to allow for variables to be set from the command + line. Remove duplicate SetCompressor command. Support using other + gettext binaries. (Ken Takata) Update build instructions to use + libintl-8.dll. +Files: Makefile, nsis/gvim.nsi, src/os_win32.c, src/proto/os_win32.pro, + src/main.c, os_w32exe.c + +Patch 7.4.1107 +Problem: Vim can create a directory but not delete it. +Solution: Add an argument to delete() to make it possible to delete a + directory, also recursively. +Files: src/fileio.c, src/eval.c, src/proto/fileio.pro, + src/testdir/test_delete.vim, src/testdir/test_alot.vim, + runtime/doc/eval.txt + +Patch 7.4.1108 +Problem: Expanding "~" halfway a file name. +Solution: Handle the file name as one name. (Marco Hinz) Add a test. + Closes #564. +Files: src/testdir/test27.in, src/testdir/test27.ok, + src/testdir/test_expand.vim, src/testdir/test_alot.vim, + src/Makefile, src/misc2.c + +Patch 7.4.1109 (after 7.4.1107) +Problem: MS-Windows doesn't have rmdir(). +Solution: Add mch_rmdir(). +Files: src/os_win32.c, src/proto/os_win32.pro + +Patch 7.4.1110 +Problem: Test 108 fails when language is French. +Solution: Force English messages. (Dominique Pelle) +Files: src/testdir/test108.in + +Patch 7.4.1111 +Problem: test_expand fails on MS-Windows. +Solution: Always use forward slashes. Remove references to test27. +Files: src/testdir/runtest.vim, src/testdir/test_expand.vim, + src/testdir/Make_dos.mak, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_ming.mak + +Patch 7.4.1112 +Problem: When using ":next" with an illegal file name no error is reported. +Solution: Give an error message. +Files: src/ex_cmds2.c + +Patch 7.4.1113 (after 7.4.1105) +Problem: Using {ns} in variable name does not work. (lilydjwg) +Solution: Fix recognizing colon. Add a test. +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1114 (after 7.4.1107) +Problem: delete() does not work well with symbolic links. +Solution: Recognize symbolic links. +Files: src/eval.c, src/fileio.c, src/os_unix.c, src/proto/os_unix.pro, + src/testdir/test_delete.vim, runtime/doc/eval.txt + +Patch 7.4.1115 +Problem: MS-Windows: make clean in testdir doesn't clean everything. +Solution: Add command to delete X* directories. (Ken Takata) +Files: src/testdir/Make_dos.mak + +Patch 7.4.1116 +Problem: delete(x, 'rf') does not delete files starting with a dot. +Solution: Also delete files starting with a dot. +Files: src/misc1.c, src/fileio.c, src/vim.h + +Patch 7.4.1117 (after 7.4.1116) +Problem: No longer get "." and ".." in directory list. +Solution: Do not skip "." and ".." unless EW_DODOT is set. +Files: src/misc1.c + +Patch 7.4.1118 +Problem: Tests hang in 24 line terminal. +Solution: Set the 'more' option off. +Files: src/testdir/runtest.vim + +Patch 7.4.1119 +Problem: argidx() has a wrong value after ":%argdelete". (Yegappan + Lakshmanan) +Solution: Correct the value of w_arg_idx. Add a test. +Files: src/ex_cmds2.c, src/testdir/test_arglist.vim, + src/testdir/Make_all.mak + +Patch 7.4.1120 +Problem: delete(x, 'rf') fails if a directory is empty. (Lcd) +Solution: Ignore not finding matches in an empty directory. +Files: src/fileio.c, src/misc1.c, src/vim.h, src/testdir/test_delete.vim + +Patch 7.4.1121 +Problem: test_expand leaves files behind. +Solution: Edit another file before deleting, otherwise the swap file + remains. +Files: src/testdir/test_expand.vim + +Patch 7.4.1122 +Problem: Test 92 and 93 fail when using gvim on a system with a non utf-8 + locale. +Solution: Avoid using .gvimrc by adding -U NONE. (Yukihiro Nakadaira) +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile + +Patch 7.4.1123 +Problem: Using ":argadd" when there are no arguments results in the second + argument to be the current one. (Yegappan Lakshmanan) +Solution: Correct the w_arg_idx value. +Files: src/ex_cmds2.c, src/testdir/test_arglist.vim + +Patch 7.4.1124 +Problem: MS-Windows: dead key behavior is not ideal. +Solution: Handle dead keys differently when not in Insert or Select mode. + (John Wellesz, closes #399) +Files: src/gui_w48.c + +Patch 7.4.1125 +Problem: There is no perleval(). +Solution: Add perleval(). (Damien) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, + src/if_perl.xs, src/proto/if_perl.pro, src/testdir/Make_all.mak, + src/testdir/test_perl.vim + +Patch 7.4.1126 +Problem: Can only get the directory of the current window. +Solution: Add window and tab arguments to getcwd() and haslocaldir(). + (Thinca, Hirohito Higashi) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_getcwd.in, src/testdir/test_getcwd.ok, + runtime/doc/eval.txt, patching file src/eval.c + +Patch 7.4.1127 +Problem: Both old and new style tests for Perl. +Solution: Merge the old tests with the new style tests. +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_perl.in, + src/testdir/test_perl.ok, src/testdir/test_perl.vim + +Patch 7.4.1128 +Problem: MS-Windows: delete() does not recognize junctions. +Solution: Add mch_isrealdir() for MS-Windows. Update mch_is_symbolic_link(). + (Ken Takata) +Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro + +Patch 7.4.1129 +Problem: Python None value can't be converted to a Vim value. +Solution: Just use zero. (Damien) +Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok, + +Patch 7.4.1130 +Problem: Memory leak in :vimgrep. +Solution: Call FreeWild(). (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 7.4.1131 +Problem: New lines in the viminfo file are dropped. +Solution: Copy lines starting with "|". Fix that when using :rviminfo in a + function global variables were restored as function-local + variables. +Files: src/eval.c, src/structs.h, src/ex_cmds.c, src/misc2.c, + src/proto/misc2.pro, src/testdir/test_viminfo.vim, + src/testdir/Make_all.mak, src/testdir/test74.in, + src/testdir/test74.ok + +Patch 7.4.1132 +Problem: Old style tests for the argument list. +Solution: Add more new style tests. (Yegappan Lakshmanan) +Files: src/testdir/test_arglist.vim, src/testdir/test_argument_0count.in, + src/testdir/test_argument_0count.ok, + src/testdir/test_argument_count.in, src/Makefile, + src/testdir/test_argument_count.ok, src/testdir/Make_all.mak + +Patch 7.4.1133 +Problem: Generated function prototypes still have __ARGS(). +Solution: Generate function prototypes without __ARGS(). +Files: src/Makefile, src/if_ruby.c, src/os_win32.c, + src/proto/blowfish.pro, src/proto/buffer.pro, + src/proto/charset.pro, src/proto/crypt.pro, + src/proto/crypt_zip.pro, src/proto/diff.pro, + src/proto/digraph.pro, src/proto/edit.pro, src/proto/eval.pro, + src/proto/ex_cmds2.pro, src/proto/ex_cmds.pro, + src/proto/ex_docmd.pro, src/proto/ex_eval.pro, + src/proto/ex_getln.pro, src/proto/fileio.pro, src/proto/fold.pro, + src/proto/getchar.pro, src/proto/gui_athena.pro, + src/proto/gui_beval.pro, src/proto/gui_gtk_gresources.pro, + src/proto/gui_gtk.pro, src/proto/gui_gtk_x11.pro, + src/proto/gui_mac.pro, src/proto/gui_motif.pro, + src/proto/gui_photon.pro, src/proto/gui.pro, + src/proto/gui_w16.pro, src/proto/gui_w32.pro, + src/proto/gui_x11.pro, src/proto/gui_xmdlg.pro, + src/proto/hangulin.pro, src/proto/hardcopy.pro, + src/proto/hashtab.pro, src/proto/if_cscope.pro, + src/proto/if_lua.pro, src/proto/if_mzsch.pro, + src/proto/if_ole.pro, src/proto/if_perl.pro, + src/proto/if_perlsfio.pro, src/proto/if_python3.pro, + src/proto/if_python.pro, src/proto/if_ruby.pro, + src/proto/if_tcl.pro, src/proto/if_xcmdsrv.pro, + src/proto/main.pro, src/proto/mark.pro, src/proto/mbyte.pro, + src/proto/memfile.pro, src/proto/memline.pro, src/proto/menu.pro, + src/proto/message.pro, src/proto/misc1.pro, src/proto/misc2.pro, + src/proto/move.pro, src/proto/netbeans.pro, src/proto/normal.pro, + src/proto/ops.pro, src/proto/option.pro, src/proto/os_amiga.pro, + src/proto/os_beos.pro, src/proto/os_mac_conv.pro, + src/proto/os_msdos.pro, src/proto/os_mswin.pro, + src/proto/os_qnx.pro, src/proto/os_unix.pro, src/proto/os_vms.pro, + src/proto/os_win16.pro, src/proto/os_win32.pro, + src/proto/popupmnu.pro, src/proto/pty.pro, src/proto/quickfix.pro, + src/proto/regexp.pro, src/proto/screen.pro, src/proto/search.pro, + src/proto/sha256.pro, src/proto/spell.pro, src/proto/syntax.pro, + src/proto/tag.pro, src/proto/termlib.pro, src/proto/term.pro, + src/proto/ui.pro, src/proto/undo.pro, src/proto/version.pro, + src/proto/winclip.pro, src/proto/window.pro, + src/proto/workshop.pro + +Patch 7.4.1134 +Problem: The arglist test fails on MS-Windows. +Solution: Only check for failure of argedit on Unix. +Files: src/testdir/test_arglist.vim + +Patch 7.4.1135 +Problem: One more arglist test fails on MS-Windows. +Solution: Don't edit "Y" after editing "y". +Files: src/testdir/test_arglist.vim + +Patch 7.4.1136 +Problem: Wrong argument to assert_exception() causes a crash. (reported by + Coverity) +Solution: Check for NULL pointer. Add a test. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 7.4.1137 +Problem: Illegal memory access when using :copen and :cclose. +Solution: Avoid that curbuf is invalid. (suggestion by Justin M. Keyes) + Add a test. +Files: src/window.c, src/testdir/test_quickfix.vim + +Patch 7.4.1138 +Problem: When running gvim in the foreground some icons are missing. + (Taylor Venable) +Solution: Move the call to gui_gtk_register_resource(). (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.1139 +Problem: MS-Windows: getftype() returns "file" for symlink to directory. +Solution: Make it return "dir". (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.1140 +Problem: Recognizing <sid> does not work when the language is Turkish. + (Christian Brabandt) +Solution: Use MB_STNICMP() instead of STNICMP(). +Files: src/eval.c + +Patch 7.4.1141 +Problem: Using searchpair() with a skip expression that uses syntax + highlighting sometimes doesn't work. (David Fishburn) +Solution: Reset next_match_idx. (Christian Brabandt) +Files: src/syntax.c + +Patch 7.4.1142 +Problem: Cannot define keyword characters for a syntax file. +Solution: Add the ":syn iskeyword" command. (Christian Brabandt) +Files: runtime/doc/options.txt, runtime/doc/syntax.txt, src/buffer.c, + src/option.c, src/structs.h, src/syntax.c, + src/testdir/Make_all.mak, src/testdir/test_syntax.vim + +Patch 7.4.1143 +Problem: Can't sort on floating point numbers. +Solution: Add the "f" flag to ":sort". (Alex Jakushev) Also add the "f" + flag to sort(). +Files: runtime/doc/change.txt, src/ex_cmds.c, src/testdir/test_sort.vim, + src/testdir/test57.in, src/testdir/test57.ok, src/eval.c + +Patch 7.4.1144 (after 7.4.1143) +Problem: Can't build on several systems. +Solution: Include float.h. (Christian Robinson, closes #570 #571) +Files: src/ex_cmds.c + +Patch 7.4.1145 +Problem: Default features are conservative. +Solution: Make the default feature set for most of today's systems "huge". +Files: src/feature.h, src/configure.in, src/auto/configure + +Patch 7.4.1146 +Problem: Can't build with Python 3 interface using MingW. +Solution: Update the Makefile. (Yasuhiro Matsumoto, Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1147 +Problem: Conflict for "chartab". (Kazunobu Kuriyama) +Solution: Rename the global one to something less obvious. Move it into + src/chartab.c. +Files: src/macros.h, src/globals.h, src/charset.c, src/main.c, + src/option.c, src/screen.c, src/vim.h + +Patch 7.4.1148 +Problem: Default for MingW and Cygwin is still "normal". +Solution: Use "huge" as default. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 7.4.1149 (after 7.4.1013) +Problem: Using the local value of 'errorformat' causes more problems than + it solves. +Solution: Revert 7.4.1013. +Files: runtime/doc/quickfix.txt, src/quickfix.c + +Patch 7.4.1150 +Problem: 'langmap' applies to the first character typed in Select mode. + (David Watson) +Solution: Check for SELECTMODE. (Christian Brabandt, closes #572) + Add the 'x' flag to feedkeys(). +Files: src/getchar.c, src/normal.c, src/testdir/test_langmap.vim, + src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/Make_all.mak, + runtime/doc/eval.txt + +Patch 7.4.1151 (after 7.4.1150) +Problem: Missing change to eval.c +Solution: Also change feedkeys(). +Files: src/eval.c + +Patch 7.4.1152 +Problem: Langmap test fails with normal build. +Solution: Check for +langmap feature. +Files: src/testdir/test_langmap.vim + +Patch 7.4.1153 +Problem: Autocommands triggered by quickfix cannot always get the current + title value. +Solution: Call qf_fill_buffer() later. (Christian Brabandt) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1154 +Problem: No support for JSON. +Solution: Add jsonencode() and jsondecode(). Also add v:false, v:true, + v:null and v:none. +Files: src/json.c, src/eval.c, src/proto.h, src/structs.h, src/vim.h, + src/if_lua.c, src/if_mzsch.c, src/if_ruby.c, src/if_py_both.h, + src/globals.h, src/Makefile, src/Make_bc3.mak, src/Make_bc5.mak, + src/Make_cyg_ming.mak, src/Make_dice.mak, src/Make_ivc.mak, + src/Make_manx.mak, src/Make_morph.mak, src/Make_mvc.mak, + src/Make_sas.mak, src/Make_vms.mms, src/proto/json.pro, + src/proto/eval.pro, src/testdir/test_json.vim, + src/testdir/test_alot.vim, Filelist, runtime/doc/eval.txt + +Patch 7.4.1155 +Problem: Build with normal features fails. +Solution: Always define dict_lookup(). +Files: src/eval.c + +Patch 7.4.1156 +Problem: Coverity warns for NULL pointer and ignoring return value. +Solution: Check for NULL pointer. When dict_add() returns FAIL free the item. +Files: src/json.c + +Patch 7.4.1157 +Problem: type() does not work for v:true, v:none, etc. +Solution: Add new type numbers. +Files: src/eval.c, src/testdir/test_json.vim, src/testdir/test_viml.vim + +Patch 7.4.1158 +Problem: Still using __ARGS(). +Solution: Remove __ARGS() from eval.c +Files: src/eval.c + +Patch 7.4.1159 +Problem: Automatically generated function prototypes use __ARGS. +Solution: Remove __ARGS from osdef.sh. +Files: src/osdef.sh, src/osdef1.h.in, src/osdef2.h.in + +Patch 7.4.1160 +Problem: No error for jsondecode('"'). +Solution: Give an error message for missing double quote. +Files: src/json.c + +Patch 7.4.1161 +Problem: ":argadd" without argument is supposed to add the current buffer + name to the arglist. +Solution: Make it work as documented. (Coot, closes #577) +Files: src/ex_cmds.h, src/ex_cmds2.c, src/testdir/test_arglist.vim + +Patch 7.4.1162 +Problem: Missing error number in MzScheme. (Dominique Pelle) +Solution: Add a proper error number. +Files: src/if_mzsch.c + +Patch 7.4.1163 +Problem: Expressions "0 + v:true" and "'' . v:true" cause an error. +Solution: Return something sensible when using a special variable as a + number or as a string. (suggested by Damien) +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1164 +Problem: No tests for comparing special variables. Error in jsondecode() + not reported. test_json does not work with Japanese system. +Solution: Set scriptencoding. (Ken Takata) Add a few more tests. Add error. +Files: src/json.c, src/testdir/test_viml.vim, src/testdir/test_json.vim + +Patch 7.4.1165 +Problem: When defining DYNAMIC_ICONV_DLL in the makefile, the build fails. +Solution: Add #ifdef's. (Taro Muraoka) Try the newer version first. +Files: src/mbyte.c, src/os_win32.c + +Patch 7.4.1166 +Problem: Can't encode a Funcref into JSON. jsonencode() doesn't handle the + same list or dict twice properly. (Nikolai Pavlov) +Solution: Give an error. Reset copyID when the list or dict is finished. +Files: src/json.c, src/proto/json.pro, src/testdir/test_json.vim + +Patch 7.4.1167 +Problem: No tests for "is" and "isnot" with the new variables. +Solution: Add tests. +Files: src/testdir/test_viml.vim + +Patch 7.4.1168 +Problem: This doesn't give the right result: eval(string(v:true)). (Nikolai + Pavlov) +Solution: Make the string "v:true" instead of "true". +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1169 +Problem: The socket I/O is intertwined with the netbeans code. +Solution: Start refactoring the netbeans communication to split off the + socket I/O. Add the +channel feature. +Files: src/channel.c, src/netbeans.c, src/proto/channel.pro, + src/proto/netbeans.pro, src/proto/gui_w32.pro, src/gui_w32.c, + src/eval.c, src/os_mswin.c, src/ui.c, src/macros.h, Makefile, + src/proto.h, src/feature.h, src/os_unix.c, src/vim.h, + src/configure.in, src/auto/configure, src/config.mk.in, + src/config.aap.in, src/config.h.in, src/Make_bc5.mak, + src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 7.4.1170 (after 7.4.1169) +Problem: Missing changes in src/Makefile, Filelist. +Solution: Add the missing changes. +Files: Filelist, src/Makefile + +Patch 7.4.1171 +Problem: Makefile dependencies are outdated. +Solution: Run "make depend". Add GTK resource dependencies. +Files: src/Makefile + +Patch 7.4.1172 (after 7.4.1169) +Problem: Configure is overly positive. +Solution: Insert "test". +Files: src/configure.in, src/auto/configure + +Patch 7.4.1173 (after 7.4.1168) +Problem: No test for new behavior of v:true et al. +Solution: Add a test. +Files: src/testdir/test_viml.vim + +Patch 7.4.1174 +Problem: Netbeans contains dead code inside #ifndef INIT_SOCKETS. +Solution: Remove the dead code. +Files: src/netbeans.c + +Patch 7.4.1175 (after 7.4.1169) +Problem: Can't build with Mingw and Cygwin. +Solution: Remove extra "endif". (Christian J. Robinson) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1176 +Problem: Missing change to proto file. +Solution: Update the proto file. (Charles Cooper) +Files: src/proto/gui_w32.pro + +Patch 7.4.1177 +Problem: The +channel feature is not in :version output. (Tony Mechelynck) +Solution: Add the feature string. +Files: src/version.c + +Patch 7.4.1178 +Problem: empty() doesn't work for the new special variables. +Solution: Make empty() work. (Damien) +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1179 +Problem: test_writefile and test_viml do not delete the tempfile. +Solution: Delete the tempfile. (Charles Cooper) Add DeleteTheScript(). +Files: src/testdir/test_writefile.in, src/testdir/test_viml.vim + +Patch 7.4.1180 +Problem: Crash with invalid argument to glob2regpat(). +Solution: Check for NULL. (Justin M. Keyes, closes #596) Add a test. +Files: src/eval.c, src/testdir/test_glob2regpat.vim, + src/testdir/test_alot.vim + +Patch 7.4.1181 +Problem: free_tv() can't handle special variables. (Damien) +Solution: Add the variable type. +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1182 +Problem: Still socket code intertwined with netbeans. +Solution: Move code from netbeans.c to channel.c +Files: src/channel.c, src/netbeans.c, src/proto/channel.pro, + src/proto/netbeans.pro, src/gui.c, src/gui_w48.c + +Patch 7.4.1183 (after 7.4.1182) +Problem: MS-Windows build is broken. +Solution: Remove init in wrong place. +Files: src/channel.c + +Patch 7.4.1184 (after 7.4.1182) +Problem: MS-Windows build is still broken. +Solution: Change nbsock to ch_fd. +Files: src/channel.c + +Patch 7.4.1185 +Problem: Can't build with TCL on some systems. +Solution: Rename the channel_ functions. +Files: src/if_tcl.c + +Patch 7.4.1186 +Problem: Error messages for security context are hard to translate. +Solution: Use one string with %s. (Ken Takata) +Files: src/os_unix.c + +Patch 7.4.1187 +Problem: MS-Windows channel code only supports one channel. Doesn't build + without netbeans support. +Solution: Get the channel index from the socket in the message. Closes #600. +Files: src/channel.c, src/netbeans.c, src/gui_w48.c, + src/proto/channel.pro, src/proto/netbeans.pro + +Patch 7.4.1188 +Problem: Using older JSON standard. +Solution: Update the link. Adjust the text a bit. +Files: src/json.c, runtime/doc/eval.txt + +Patch 7.4.1189 (after 7.4.1165) +Problem: Using another language on MS-Windows does not work. (Yongwei Wu) +Solution: Undo the change to try loading libintl-8.dll first. +Files: src/os_win32.c + +Patch 7.4.1190 +Problem: On OSX the default flag for dlopen() is different. +Solution: Add RTLD_LOCAL in the configure check. (sv99, closes #604) +Files: src/configure.in, src/auto/configure + +Patch 7.4.1191 +Problem: The channel feature isn't working yet. +Solution: Add the connect(), disconnect(), sendexpr() and sendraw() + functions. Add initial documentation. Add a demo server. +Files: src/channel.c, src/eval.c, src/proto/channel.pro, + src/proto/eval.pro, runtime/doc/channel.txt, runtime/doc/eval.txt, + runtime/doc/Makefile, runtime/tools/demoserver.py + +Patch 7.4.1192 +Problem: Can't build with FEAT_EVAL but without FEAT_MBYTE. (John + Marriott) +Solution: Add #ifdef for FEAT_MBYTE. +Files: src/json.c + +Patch 7.4.1193 +Problem: Can't build the channel feature on MS-Windows. +Solution: Add #ifdef HAVE_POLL. +Files: src/channel.c + +Patch 7.4.1194 +Problem: Compiler warning for not using return value of fwrite(). +Solution: Return OK/FAIL. (Charles Campbell) +Files: src/channel.c, src/proto/channel.pro + +Patch 7.4.1195 +Problem: The channel feature does not work in the MS-Windows console. +Solution: Add win32 console support. (Yasuhiro Matsumoto) +Files: src/channel.c, src/gui_w32.c, src/os_mswin.c, src/os_win32.c, + src/proto/gui_w32.pro, src/proto/os_mswin.pro, src/vim.h + +Patch 7.4.1196 +Problem: Still using __ARGS. +Solution: Remove __ARGS in several files. (script by Hirohito Higashi) +Files: src/arabic.c, src/buffer.c, src/charset.c, src/crypt_zip.c, + src/diff.c, src/digraph.c, src/edit.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c + +Patch 7.4.1197 +Problem: Still using __ARGS. +Solution: Remove __ARGS in several files. (script by Hirohito Higashi) +Files: src/ex_eval.c, src/ex_getln.c, src/farsi.c, src/fileio.c, + src/fold.c, src/getchar.c, src/gui.c, src/gui_at_fs.c, + gui_at_sb.c, src/gui_athena.c, src/gui_beval.c, src/gui_motif.c, + src/gui_w32.c, src/gui_w48.c + +Patch 7.4.1198 +Problem: Still using __ARGS. +Solution: Remove __ARGS in several files. (script by Hirohito Higashi) + Also remove use of HAVE_STDARG_H. +Files: src/gui_x11.c, src/hangulin.c, src/hardcopy.c, src/hashtab.c, + src/if_cscope.c, src/if_python3.c, src/if_sniff.c, + src/if_xcmdsrv.c, src/main.c, src/mark.c, src/mbyte.c, + src/memfile.c, src/memfile_test.c, src/memline.c, src/menu.c, + src/message.c, src/misc1.c, src/misc2.c, src/move.c, + src/netbeans.c, src/normal.c + +Patch 7.4.1199 +Problem: Still using __ARGS. +Solution: Remove __ARGS in several files. (script by Hirohito Higashi) +Files: src/ops.c, src/option.c, src/os_amiga.c, src/os_mac_conv.c, + src/os_unix.c, src/os_vms.c, src/os_w32exe.c, src/popupmnu.c, + src/pty.c, src/quickfix.c, src/regexp.c, src/regexp_nfa.c, + src/screen.c, src/search.c, src/sha256.c, src/spell.c, + src/syntax.c, src/tag.c, src/term.c, src/termlib.c, src/ui.c, + src/undo.c, src/version.c, src/window.c + +Patch 7.4.1200 +Problem: Still using __ARGS. +Solution: Remove __ARGS in several files. (script by Hirohito Higashi) +Files: src/blowfish.c, src/ex_cmds2.c, src/ex_getln.c, src/fold.c, + src/gui_beval.c, src/gui_w32.c, src/os_unix.c, src/os_win16.c, + src/pty.c, src/regexp.c, src/syntax.c, src/xpm_w32.c, + src/ex_cmds.h, src/globals.h, src/gui_at_sb.h, src/gui_beval.h, + src/if_cscope.h, src/if_sniff.h, src/nbdebug.h, src/os_unix.h, + src/proto.h, src/structs.h, src/vim.h, src/xpm_w32.h, + src/if_perl.xs, src/proto/if_lua.pro, src/proto/pty.pro, + runtime/tools/xcmdsrv_client.c, + src/Makefile + +Patch 7.4.1201 +Problem: One more file still using __ARGS. +Solution: Remove __ARGS in the last file. (script by Hirohito Higashi) +Files: src/gui_at_sb.c + +Patch 7.4.1202 +Problem: Still one more file still using __ARGS. +Solution: Remove __ARGS in the last file. (script by Hirohito Higashi) + (closes #612) +Files: src/proto/os_mac_conv.pro, src/os_mac_conv.c, src/Makefile + +Patch 7.4.1203 +Problem: Still more files still using __ARGS. +Solution: Remove __ARGS in really the last files. +Files: src/proto/if_mzsch.pro, src/if_mzsch.c, src/vim.h, + src/proto/gui_gtk_gresources.pro, src/proto/gui_mac.pro, + src/proto/if_ole.pro, src/proto/os_qnx.pro, src/Makefile + +Patch 7.4.1204 +Problem: Latin1 characters cause encoding conversion. +Solution: Remove the characters. +Files: src/gui_motif.c + +Patch 7.4.1205 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/arabic.c, src/blowfish.c, src/buffer.c, src/channel.c, + src/charset.c, src/crypt.c, src/crypt_zip.c, src/diff.c, + src/digraph.c, src/edit.c, src/eval.c + +Patch 7.4.1206 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, + src/ex_getln.c, src/farsi.c, src/fileio.c + +Patch 7.4.1207 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/fold.c, src/getchar.c, src/gui_at_fs.c, src/gui_athena.c, + src/gui_at_sb.c, src/gui_beval.c, src/gui.c, src/gui_gtk.c, + src/gui_gtk_x11.c, src/gui_mac.c, src/gui_motif.c + +Patch 7.4.1208 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/gui_photon.c, src/gui_w32.c, src/gui_w48.c, src/gui_x11.c, + src/hangulin.c, src/hardcopy.c, src/hashtab.c, src/if_cscope.c, + src/if_mzsch.c, src/if_perlsfio.c, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_sniff.c, src/if_tcl.c, + src/if_xcmdsrv.c, src/integration.c + +Patch 7.4.1209 (after 7.4.1207) +Problem: Can't build with Athena. (Elimar Riesebieter) +Solution: Fix function declarations. +Files: src/gui_athena.c, src/gui_x11.c, src/gui_at_sb.c, src/gui_at_fs.c + +Patch 7.4.1210 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/main.c, src/mark.c, src/mbyte.c, src/memfile.c, + src/memfile_test.c, src/memline.c, src/menu.c, src/message.c + +Patch 7.4.1211 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/misc1.c, src/misc2.c, src/move.c, src/netbeans.c, + src/normal.c, src/ops.c, src/option.c + +Patch 7.4.1212 (after 7.4.1207) +Problem: Can't build with Motif. +Solution: Fix function declaration.(Dominique Pelle) +Files: src/gui_motif.c + +Patch 7.4.1213 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/os_amiga.c, src/os_mac_conv.c, src/os_msdos.d, src/os_mswin.c, + src/os_qnx.c, src/os_unix.c, src/os_vms.c, src/os_win16.c, + src/os_win32.c, src/popupmnu.c, src/pty.c, src/quickfix.c, + src/regexp.c, src/regexp_nfa.c, src/screen.c + +Patch 7.4.1214 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/search.c, src/sha256.c, src/spell.c, src/syntax.c, src/tag.c, + src/term.c, src/termlib.c, src/ui.c, src/undo.c + +Patch 7.4.1215 +Problem: Using old style function declarations. +Solution: Change to new style function declarations. (script by Hirohito + Higashi) +Files: src/version.c, src/winclip.c, src/window.c, src/workshop.c, + src/xpm_w32.c, runtime/doc/doctags.c, + runtime/tools/xcmdsrv_client.c, src/po/sjiscorr.c, src/xxd/xxd.c + +Patch 7.4.1216 +Problem: Still using HAVE_STDARG_H. +Solution: Assume it's always defined. +Files: src/eval.c, src/misc2.c, src/vim.h, src/proto.h, src/configure.in, + src/auto/configure, config.h.in, src/os_amiga.h, src/os_msdos.h, + src/os_vms_conf.h, src/os_win32.h + +Patch 7.4.1217 +Problem: Execution of command on channel doesn't work yet. +Solution: Implement the "ex" and "normal" commands. +Files: src/channel.c, src/proto/channel.pro, src/misc2.c, src/eval.c, + src/ex_docmd.c, src/proto/ex_docmd.pro, src/feature.h + +Patch 7.4.1218 +Problem: Missing change in configure. More changes for function style. +Solution: Avoid the typos. +Files: src/configure.in, src/config.h.in, runtime/tools/ccfilter.c, + src/os_msdos.c + +Patch 7.4.1219 +Problem: Build fails with +channel but without +float. +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.1220 +Problem: Warnings for unused variables in tiny build. (Tony Mechelynck) +Solution: Move declarations inside #ifdef. (Hirohito Higashi) +Files: src/ex_cmds.c + +Patch 7.4.1221 +Problem: Including netbeans and channel support in small and tiny builds. + Build fails with some interfaces. +Solution: Only include these features in small build and above. Let + configure fail if trying to enable an interface that won't build. +Files: src/configure.in, src/auto/configure + +Patch 7.4.1222 +Problem: ":normal" command and others missing in tiny build. +Solution: Graduate FEAT_EX_EXTRA. +Files: src/feature.h, src/charset.c, src/eval.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/getchar.c, + src/normal.c, src/ui.c, src/version.c, src/globals.h + +Patch 7.4.1223 +Problem: Crash when setting v:errors to a number. +Solution: Free the typval without assuming its type. (Yasuhiro Matsumoto) +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 7.4.1224 +Problem: Build problems with GTK on BSD. (Mike Williams) +Solution: Don't use "$<". Skip building gui_gtk_gresources.h when it doesn't + work. (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 7.4.1225 +Problem: Still a few old style function declarations. +Solution: Make them new style. (Hirohito Higashi) +Files: runtime/tools/blink.c, src/eval.c, src/ex_cmds2.c, src/ex_getln.c, + src/fileio.c, src/gui_w32.c, src/gui_x11.c, src/if_perl.xs, + src/os_unix.c, src/po/sjiscorr.c, src/pty.c + +Patch 7.4.1226 +Problem: GRESOURCE_HDR is unused. +Solution: Remove it. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure, src/config.mk.in + +Patch 7.4.1227 +Problem: Compiler warnings. +Solution: Add UNUSED. Add type cast. (Yegappan Lakshmanan) +Files: src/getchar.c, src/os_macosx.m + +Patch 7.4.1228 +Problem: copy() and deepcopy() fail with special variables. (Nikolai + Pavlov) +Solution: Make it work. Add a test. Closes #614. +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1229 +Problem: "eval" and "expr" channel commands don't work yet. +Solution: Implement them. Update the error numbers. Also add "redraw". +Files: src/channel.c, src/eval.c, src/json.c, src/ex_docmd.c, + src/proto/channel.pro, src/proto/json.pro, src/proto/ex_docmd.pro, + runtime/doc/channel.txt + +Patch 7.4.1230 +Problem: Win32: opening a channel may hang. Not checking for messages + while waiting for characters. +Solution: Add a zero timeout. Call parse_queued_messages(). (Yasuhiro + Matsumoto) +Files: src/os_win32.c + +Patch 7.4.1231 +Problem: JSON messages are not parsed properly. +Solution: Queue received messages. +Files: src/eval.c src/channel.c, src/json.c, src/proto/eval.pro, + src/proto/channel.pro, src/proto/json.pro, src/structs.h + +Patch 7.4.1232 +Problem: Compiler warnings when the Sniff feature is enabled. +Solution: Add UNUSED. +Files: src/gui_gtk_x11.c + +Patch 7.4.1233 +Problem: Channel command may cause a crash. +Solution: Check for NULL argument. (Damien) +Files: src/channel.c + +Patch 7.4.1234 +Problem: Demo server only runs with Python 2. +Solution: Make it run with Python 3 as well. (Ken Takata) +Files: runtime/tools/demoserver.py + +Patch 7.4.1235 (after 7.4.1231) +Problem: Missing change to eval.c. +Solution: Include that change. +Files: src/eval.c + +Patch 7.4.1236 +Problem: When "syntax manual" was used switching between buffers removes + the highlighting. +Solution: Set the syntax option without changing the value. (Anton + Lindqvist) +Files: runtime/syntax/manual.vim + +Patch 7.4.1237 +Problem: Can't translate message without adding a line break. +Solution: Join the two parts of the message. +Files: src/memline.c + +Patch 7.4.1238 +Problem: Can't handle two messages right after each other. +Solution: Find the end of the JSON. Read more when incomplete. Add a C + test for the JSON decoding. +Files: src/channel.c, src/json.c, src/proto/json.pro, src/eval.c, + src/Makefile, src/json_test.c, src/memfile_test.c, src/structs.h + +Patch 7.4.1239 +Problem: JSON message after the first one is dropped. +Solution: Put remainder of message back in the queue. +Files: src/channel.c + +Patch 7.4.1240 +Problem: Visual studio tools are noisy. +Solution: Suppress startup info. (Mike Williams) +Files: src/GvimExt/Makefile, src/Make_mvc.mak, src/tee/Make_mvc.mak + +Patch 7.4.1241 (after 7.4.1238) +Problem: Missing change in Makefile due to diff mismatch +Solution: Update the list of object files. +Files: src/Makefile + +Patch 7.4.1242 (after 7.4.1238) +Problem: json_test fails without the eval feature. +Solution: Add #ifdef. +Files: src/json_test.c + +Patch 7.4.1243 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize it. (Elias Diem) +Files: src/json.c + +Patch 7.4.1244 +Problem: The channel functions don't sort together. +Solution: Use a common "ch_" prefix. +Files: src/eval.c, runtime/doc/eval.txt, runtime/tools/demoserver.py + +Patch 7.4.1245 +Problem: File missing from distribution. +Solution: Add json_test.c. +Files: Filelist + +Patch 7.4.1246 +Problem: The channel functionality isn't tested. +Solution: Add a test using a Python test server. +Files: src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, src/testdir/test_channel.py, + src/testdir/Make_all.mak + +Patch 7.4.1247 +Problem: The channel test doesn't run on MS-Windows. +Solution: Make it work on the MS-Windows console. (Ken Takata) +Files: src/testdir/test_channel.py, src/testdir/test_channel.vim + +Patch 7.4.1248 +Problem: Can't reliably stop the channel test server. Can't start the + server if the python file is not executable. +Solution: Use "pkill" instead of "killall". Run the python file as an + argument instead of as an executable. +Files: src/testdir/test_channel.vim + +Patch 7.4.1249 +Problem: Crash when the process a channel is connected to exits. +Solution: Use the file descriptor properly. Add a test. (Damien) + Also add a test for eval(). +Files: src/channel.c, src/testdir/test_channel.py, + src/testdir/test_channel.vim + +Patch 7.4.1250 +Problem: Running tests in shadow directory fails. +Solution: Also link testdir/*.py +Files: src/Makefile + +Patch 7.4.1251 +Problem: New test file missing from distribution. +Solution: Add src/testdir/*.py. +Files: Filelist + +Patch 7.4.1252 +Problem: The channel test server may receive two messages concatenated. +Solution: Split the messages. +Files: src/testdir/test_channel.py + +Patch 7.4.1253 +Problem: Python test server not displaying second of two commands. + Solaris doesn't have "pkill --full". +Solution: Also echo the second command. Use "pkill -f". +Files: src/testdir/test_channel.py, src/testdir/test_channel.vim + +Patch 7.4.1254 +Problem: Opening a second channel causes a crash. (Ken Takata) +Solution: Don't re-allocate the array with channels. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1255 +Problem: Crash for channel "eval" command without third argument. +Solution: Check for missing argument. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1256 +Problem: On Mac sys.exit(0) doesn't kill the test server. +Solution: Use self.server.shutdown(). (Jun Takimoto) +Files: src/testdir/test_channel.py + +Patch 7.4.1257 +Problem: Channel test fails in some configurations. +Solution: Add check for the +channel feature. +Files: src/testdir/test_channel.vim + +Patch 7.4.1258 +Problem: The channel test can fail if messages arrive later. +Solution: Add a short sleep. (Jun Takimoto) +Files: src/testdir/test_channel.vim + +Patch 7.4.1259 +Problem: No test for what patch 7.3.414 fixed. +Solution: Add a test. (Elias Diem) +Files: src/testdir/test_increment.vim + +Patch 7.4.1260 +Problem: The channel feature doesn't work on Win32 GUI. +Solution: Use WSAGetLastError(). (Ken Takata) +Files: src/channel.c, src/testdir/test_channel.vim, src/vim.h + +Patch 7.4.1261 +Problem: Pending channel messages are garbage collected. Leaking memory in + ch_sendexpr(). Leaking memory for a decoded JSON string. +Solution: Mark the message list as used. Free the encoded JSON. Don't save + the JSON string. +Files: src/eval.c, src/channel.c, src/json.c, src/proto/channel.pro + +Patch 7.4.1262 +Problem: The channel callback is not invoked. +Solution: Make a list of pending callbacks. +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1263 +Problem: ch_open() hangs when the server isn't running. +Solution: Add a timeout. Use a dict to pass arguments. (Yasuhiro Matsumoto) +Files: runtime/doc/eval.txt, runtime/doc/channel.txt, src/channel.c, + src/eval.c, src/netbeans.c, src/os_win32.c, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1264 +Problem: Crash when receiving an empty array. +Solution: Check for array with wrong number of arguments. (Damien) +Files: src/channel.c, src/eval.c, src/testdir/test_channel.py, + src/testdir.test_channel.vim + +Patch 7.4.1265 +Problem: Not all channel commands are tested. +Solution: Add a test for "normal", "expr" and "redraw". +Files: src/testdir/test_channel.py, src/testdir/test_channel.vim + +Patch 7.4.1266 +Problem: A BufAdd autocommand may cause an ml_get error (Christian + Brabandt) +Solution: Increment RedrawingDisabled earlier. +Files: src/ex_cmds.c + +Patch 7.4.1267 +Problem: Easy to miss handling all types of variables. +Solution: Change the variable type into an enum. +Files: src/structs.h, src/eval.c + +Patch 7.4.1268 +Problem: Waittime is used as seconds instead of milliseconds. (Hirohito + Higashi) +Solution: Divide by 1000. +Files: src/channel.c + +Patch 7.4.1269 +Problem: Encoding {'key':v:none} to JSON doesn't give an error (Tyru) +Solution: Give an error. +Files: src/json.c, src/testdir/test_json.vim + +Patch 7.4.1270 +Problem: Warnings for missing values in switch. +Solution: Change switch to if-else or add values. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 7.4.1271 +Problem: assert_false(v:false) reports an error. (Nikolai Pavlov) +Solution: Recognize v:true and v:false. (Closes #625) +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 7.4.1272 (after 7.4.1270) +Problem: Using future enum value. +Solution: Remove it. +Files: src/if_python.c, src/if_python3.c + +Patch 7.4.1273 (after 7.4.1271) +Problem: assert_false(v:false) still fails. +Solution: Fix the typo. +Files: src/eval.c + +Patch 7.4.1274 +Problem: Cannot run a job. +Solution: Add job_start(), job_status() and job_stop(). Currently only works + for Unix. +Files: src/eval.c, src/structs.h, runtime/doc/eval.txt, src/os_unix.c, + src/proto/os_unix.pro, src/feature.h, src/version.c, + src/testdir/test_channel.vim + +Patch 7.4.1275 (after 7.4.1274) +Problem: Build fails on MS-Windows. +Solution: Fix wrong #ifdef. +Files: src/eval.c + +Patch 7.4.1276 +Problem: Warning for not using return value of fcntl(). +Solution: Explicitly ignore the return value. +Files: src/fileio.c, src/channel.c, src/memfile.c, src/memline.c + +Patch 7.4.1277 +Problem: Compiler can complain about missing enum value in switch with some + combination of features. +Solution: Remove #ifdefs around case statements. +Files: src/eval.c + +Patch 7.4.1278 +Problem: When jsonencode() fails it still returns something. +Solution: Return an empty string on failure. +Files: src/json.c, src/channel.c, src/testdir/test_json.vim, + src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 7.4.1279 +Problem: jsonencode() is not producing strict JSON. +Solution: Add jsencode() and jsdecode(). Make jsonencode() and jsondecode() + strict. +Files: src/json.c, src/json_test.c, src/proto/json.pro, src/channel.c, + src/proto/channel.pro, src/eval.c, src/vim.h, src/structs.h, + runtime/doc/eval.txt, runtime/doc/channel.txt, + src/testdir/test_json.vim + +Patch 7.4.1280 +Problem: Missing case value. +Solution: Add VAR_JOB. +Files: src/if_python.c, src/if_python3.c + +Patch 7.4.1281 +Problem: No test for skipping over code that isn't evaluated. +Solution: Add a test with code that would fail when not skipped. +Files: src/testdir/test_viml.vim + +Patch 7.4.1282 +Problem: Crash when evaluating the pattern of ":catch" causes an error. + (Dominique Pelle) +Solution: Block error messages at this point. +Files: src/ex_eval.c + +Patch 7.4.1283 +Problem: The job feature isn't available on MS-Windows. +Solution: Add the job feature. Fix argument of job_stop(). (Yasuhiro + Matsumoto) +Files: src/eval.c, src/feature.h, src/os_win32.c, src/proto/os_win32.pro + +Patch 7.4.1284 (after 7.4.1282) +Problem: Test 49 fails. +Solution: Check for a different error message. +Files: src/testdir/test49.vim + +Patch 7.4.1285 +Problem: Cannot measure elapsed time. +Solution: Add reltimefloat(). +Files: src/ex_cmds2.c, src/eval.c, src/proto/ex_cmds2.pro, + src/testdir/test_reltime.vim, src/testdir/test_alot.vim + +Patch 7.4.1286 +Problem: ch_open() with a timeout doesn't work correctly. +Solution: Change how select() is used. Don't give an error on timeout. + Add a test for ch_open() failing. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1287 (after 7.4.1286) +Problem: Channel test fails. +Solution: Use reltimefloat(). +Files: src/testdir/test_channel.vim + +Patch 7.4.1288 +Problem: ch_sendexpr() does not use JS encoding. +Solution: Use the encoding that fits the channel mode. Refuse using + ch_sendexpr() on a raw channel. +Files: src/channel.c, src/proto/channel.pro, src/eval.c + +Patch 7.4.1289 +Problem: Channel test fails on MS-Windows, connect() takes too long. +Solution: Adjust the test for MS-Windows using "waittime". +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1290 +Problem: Coverity complains about unnecessary check for NULL. +Solution: Remove the check. +Files: src/eval.c + +Patch 7.4.1291 +Problem: On MS-Windows the channel test server doesn't quit. +Solution: Use return instead of break. (Ken Takata) +Files: src/testdir/test_channel.py + +Patch 7.4.1292 +Problem: Some compilers complain about uninitialized variable, even though + all possible cases are handled. (Dominique Pelle) +Solution: Add a default initialization. +Files: src/eval.c + +Patch 7.4.1293 +Problem: Sometimes a channel may hang waiting for a message that was + already discarded. (Ken Takata) +Solution: Store the ID of the message blocking on in the channel. +Files: src/channel.c + +Patch 7.4.1294 +Problem: job_stop() only kills the started process. +Solution: Send the signal to the process group. (Olaf Dabrunz) +Files: src/os_unix.c + +Patch 7.4.1295 +Problem: string(job) doesn't work well on MS-Windows. +Solution: Use the process ID. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.1296 +Problem: Cursor changes column with up motion when the matchparen plugin + saves and restores the cursor position. (Martin Kunev) +Solution: Make sure curswant is updated before invoking the autocommand. +Files: src/edit.c + +Patch 7.4.1297 +Problem: On Mac test_channel leaves python instances running. +Solution: Use a small waittime to make ch_open() work. (Ozaki Kiichi) +Files: src/testdir/test_channel.vim + +Patch 7.4.1298 +Problem: When the channel test fails in an unexpected way the server keeps + running. +Solution: Use try/catch. (Ozaki Kiichi) +Files: src/testdir/test_channel.vim + +Patch 7.4.1299 +Problem: When the server sends a message with ID zero the channel handler + is not invoked. (Christian J. Robinson) +Solution: Recognize zero value for the request ID. Add a test for invoking + the channel handler. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1300 +Problem: Cannot test CursorMovedI because there is typeahead. +Solution: Add disable_char_avail_for_testing(). +Files: src/eval.c, src/getchar.c, src/globals.h, + src/testdir/test_cursor_func.vim, src/testdir/README.txt + +Patch 7.4.1301 +Problem: Missing options in ch_open(). +Solution: Add s:chopt like in the other calls. (Ozaki Kiichi) +Files: src/testdir/test_channel.vim + +Patch 7.4.1302 +Problem: Typo in struct field name. (Ken Takata) +Solution: Rename jf_pi to jv_pi. +Files: src/eval.c, src/os_win32.c, src/structs.h + +Patch 7.4.1303 +Problem: A Funcref is not accepted as a callback. +Solution: Make a Funcref work. (Damien) +Files: src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1304 +Problem: Function names are difficult to read. +Solution: Rename jsonencode to json_encode, jsondecode to json_decode, + jsencode to js_encode and jsdecode to js_decode. +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test_json.vim + +Patch 7.4.1305 +Problem: "\%1l^#.*" does not match on a line starting with "#". +Solution: Do not clear the start-of-line flag. (Christian Brabandt) +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test36.in, + src/testdir/test36.ok + +Patch 7.4.1306 +Problem: Job control doesn't work well on MS-Windows. +Solution: Various fixes. (Ken Takata, Ozaki Kiichi, Yukihiro Nakadaira, + Yasuhiro Matsumoto) +Files: src/Make_mvc.mak, src/eval.c, src/os_unix.c, src/os_win32.c, + src/proto/os_unix.pro, src/proto/os_win32.pro, src/structs.h + +Patch 7.4.1307 +Problem: Some channel tests fail on MS-Windows. +Solution: Disable the failing tests temporarily. +Files: src/testdir/test_channel.vim + +Patch 7.4.1308 (after 7.4.1307) +Problem: Typo in test. +Solution: Change endf to endif. +Files: src/testdir/test_channel.vim + +Patch 7.4.1309 +Problem: When a test fails not all relevant info is listed. +Solution: Add the errors to the messages. +Files: src/testdir/runtest.vim + +Patch 7.4.1310 +Problem: Jobs don't open a channel. +Solution: Create pipes and add them to the channel. Add ch_logfile(). + Only Unix for now. +Files: src/channel.c, src/eval.c, src/os_unix.c, src/structs.h, + src/gui_w48.c, src/proto/channel.pro, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py, runtime/doc/eval.txt + +Patch 7.4.1311 (after 7.4.1310) +Problem: sock_T is defined too late. +Solution: Move it up. +Files: src/vim.h + +Patch 7.4.1312 (after 7.4.1311) +Problem: sock_T is not defined without the +channel feature. +Solution: Always define it. +Files: src/vim.h + +Patch 7.4.1313 +Problem: MS-Windows: Using socket after it was closed causes an exception. +Solution: Don't give an error when handling WM_NETBEANS. Re-enable tests + for MS-Windows. +Files: src/gui_w48.c, src/testdir/test_channel.vim + +Patch 7.4.1314 +Problem: Warning for uninitialized variable. +Solution: Initialize it. (Dominique Pelle) +Files: src/channel.c + +Patch 7.4.1315 +Problem: Using a channel handle does not allow for freeing it when unused. +Solution: Add the Channel variable type. +Files: src/structs.h, src/channel.c, src/misc2.c, src/eval.c, + src/if_python.c, src/if_python3.c, src/json.c, src/gui_w48.c, + src/netbeans.c, src/proto/channel.pro, src/os_unix.c, + src/testdir/test_channel.py, src/testdir/test_channel.vim + +Patch 7.4.1316 +Problem: Can't build MS-Windows console version. (Tux) +Solution: Add #ifdefs. +Files: src/eval.c + +Patch 7.4.1317 +Problem: MS-Windows: channel test fails. +Solution: Temporarily disable Test_connect_waittime(). +Files: src/testdir/test_channel.vim + +Patch 7.4.1318 +Problem: Channel with pipes doesn't work in GUI. +Solution: Register input handlers for pipes. +Files: src/structs.h, src/feature.h, src/channel.c, src/eval.c, + src/os_unix.c, src/os_win32.c, src/gui_w48.c, src/proto/channel.pro + +Patch 7.4.1319 (after 7.4.1318) +Problem: Tests fail on MS-Windows and on Unix with GUI. +Solution: Fix unregistering. +Files: src/structs.h, src/channel.c, src/os_unix.c, src/os_win32.c, + src/proto/channel.pro + +Patch 7.4.1320 +Problem: Building with Cygwin or MingW with channel but without Netbeans + doesn't work. +Solution: Set NETBEANS to "no" when not used. +Files: src/Make_cyg_ming.mak + +Patch 7.4.1321 +Problem: Compiler complains about missing statement. +Solution: Add an empty statement. (Andrei Olsen) +Files: src/os_win32.c + +Patch 7.4.1322 +Problem: Crash when unletting the variable that holds the channel in a + callback function. (Christian Robinson) +Solution: Increase the reference count while invoking the callback. +Files: src/eval.c, src/channel.c, src/proto/eval.pro, + src/testdir/test_channel.vim + +Patch 7.4.1323 +Problem: Do not get warnings when building with MingW. +Solution: Remove the -w flag. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1324 +Problem: Channels with pipes don't work on MS-Windows. +Solution: Add pipe I/O support. (Yasuhiro Matsumoto) +Files: src/channel.c, src/os_win32.c, src/proto/channel.pro, + src/structs.h, src/vim.h, src/testdir/test_channel.vim + +Patch 7.4.1325 +Problem: Channel test fails on difference between Unix and DOS line endings. +Solution: Strip off CR. Make assert show difference better. +Files: src/eval.c, src/channel.c + +Patch 7.4.1326 +Problem: Build rules are bit too complicated. +Solution: Remove -lwsock32 from Netbeans, it's already added for the channel + feature that it depends on. (Tony Mechelynck) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1327 +Problem: Channel test doesn't work if Python executable is python.exe. +Solution: Find py.exe or python.exe. (Ken Takata) +Files: src/testdir/test_channel.vim + +Patch 7.4.1328 +Problem: Can't compile with +job but without +channel. (John Marriott) +Solution: Add more #ifdefs. +Files: src/os_unix.c + +Patch 7.4.1329 +Problem: Crash when using channel that failed to open. +Solution: Check for NULL. Update messages. (Yukihiro Nakadaira) +Files: src/channel.c, src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1330 +Problem: fd_read() has an unused argument. +Solution: Remove the timeout. (Yasuhiro Matsumoto) +Files: src/channel.c + +Patch 7.4.1331 +Problem: Crash when closing the channel in a callback. (Christian J. + Robinson) +Solution: Take the callback out of the list before invoking it. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1332 +Problem: Problem using Python3 when compiled with MingW. +Solution: Define PYTHON3_HOME as a wide character string. (Yasuhiro + Matsumoto) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1333 +Problem: Channel test fails on non-darwin builds. +Solution: Add the "osx" feature and test for that. (Kazunobu Kuriyama) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1334 +Problem: Many compiler warnings with MingW. +Solution: Add type casts. (Yasuhiro Matsumoto) +Files: src/channel.c, src/dosinst.h, src/eval.c, src/ex_cmds2.c, + src/ex_getln.c, src/fileio.c, src/if_cscope.c, src/if_perl.xs, + src/if_python.c, src/if_python3.c, src/if_ruby.c, src/main.c, + src/mbyte.c, src/misc1.c, src/option.c, src/os_mswin.c, + src/os_win32.c + +Patch 7.4.1335 +Problem: Can't build on MS-Windows with +job but without +channel. (Cesar + Romani) +Solution: Add #ifdefs. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.1336 +Problem: Channel NL mode is not supported yet. +Solution: Add NL mode support to channels. +Files: src/channel.c, src/netbeans.c, src/structs.h, src/os_unix.d, + src/os_win32.c, src/proto/channel.pro, src/proto/os_unix.pro, + src/proto/os_win32.pro, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py + +Patch 7.4.1337 (after 7.4.1336) +Problem: Part of the change is missing. +Solution: Add changes to eval.c +Files: src/eval.c + + +Patch 7.4.1338 (after 7.4.1336) +Problem: Another part of the change is missing. +Solution: Type os_unix.c right this time. +Files: src/os_unix.c + +Patch 7.4.1339 +Problem: Warnings when building the GUI with MingW. (Cesar Romani) +Solution: Add type casts. (Yasuhiro Matsumoto) +Files: src/edit.c, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, + src/os_win32.c + +Patch 7.4.1340 (after 7.4.1339) +Problem: Merge left extra #endif behind. +Solution: Remove the #endif +Files: src/os_win32.c + +Patch 7.4.1341 +Problem: It's difficult to add more arguments to ch_sendraw() and + ch_sendexpr(). +Solution: Make the third option a dictionary. +Files: src/eval.c, src/structs.h, src/channel.c, src/os_unix.c, + src/os_win32.c, src/proto/channel.pro, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1342 +Problem: On Mac OS/X the waittime must be > 0 for connect to work. +Solution: Use select() in a different way. (partly by Kazunobu Kuriyama) + Always use a waittime of 1 or more. +Files: src/eval.c, src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1343 +Problem: Can't compile with +job but without +channel. (Andrei Olsen) +Solution: Move get_job_options up and adjust #ifdef. +Files: src/eval.c + +Patch 7.4.1344 +Problem: Can't compile Win32 GUI with tiny features. +Solution: Add #ifdef. (Christian Brabandt) +Files: src/gui_w32.c + +Patch 7.4.1345 +Problem: A few more compiler warnings. (Axel Bender) +Solution: Add type casts. +Files: src/gui_w32.c, src/gui_w48.c + +Patch 7.4.1346 +Problem: Compiler warnings in build with -O2. +Solution: Add initializations. +Files: src/eval.c + +Patch 7.4.1347 +Problem: When there is any error Vim will use a non-zero exit code. +Solution: When using ":silent!" do not set the exit code. (Yasuhiro + Matsumoto) +Files: src/message.c + +Patch 7.4.1348 +Problem: More compiler warnings. (John Marriott) +Solution: Add type casts, remove unused variable. +Files: src/gui_w32.c + +Patch 7.4.1349 +Problem: And some more MingW compiler warnings. (Cesar Romani) +Solution: Add type casts. +Files: src/if_mzsch.c + +Patch 7.4.1350 +Problem: When the test server fails to start Vim hangs. +Solution: Check that there is actually something to read from the tty fd. +Files: src/os_unix.c + +Patch 7.4.1351 +Problem: When the port isn't opened yet when ch_open() is called it may + fail instead of waiting for the specified time. +Solution: Loop when select() succeeds but when connect() failed. Also use + channel logging for jobs. Add ch_log(). +Files: src/channel.c, src/eval.c, src/netbeans.c, src/proto/channel.pro, + src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 7.4.1352 +Problem: The test script lists all functions before executing them. +Solution: Only list the function currently being executed. +Files: src/testdir/runtest.vim + +Patch 7.4.1353 +Problem: Test_connect_waittime is skipped for MS-Windows. +Solution: Add the test back, it works now. +Files: src/testdir/test_channel.vim + +Patch 7.4.1354 +Problem: MS-Windows: Mismatch between default compile options and what the + code expects. +Solution: Change the default WINVER from 0x0500 to 0x0501. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 7.4.1355 +Problem: Win32 console and GUI handle channels differently. +Solution: Consolidate code between Win32 console and GUI. +Files: src/channel.c, src/eval.c, src/gui_w48.c, src/os_win32.c, + src/proto/channel.pro + +Patch 7.4.1356 +Problem: Job and channel options parsing is scattered. +Solution: Move all option value parsing to get_job_options(); +Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1357 (after 7.4.1356) +Problem: Error for returning value from void function. +Solution: Don't do that. +Files: src/eval.c + +Patch 7.4.1358 +Problem: Compiler warning when not building with +crypt. +Solution: Add #ifdef. (John Marriott) +Files: src/undo.c + +Patch 7.4.1359 (after 7.4.1356) +Problem: Channel test ch_sendexpr() times out. +Solution: Increase the timeout +Files: src/testdir/test_channel.vim + +Patch 7.4.1360 +Problem: Can't remove a callback with ch_setoptions(). +Solution: When passing zero or an empty string remove the callback. +Files: src/channel.c, src/proto/channel.pro, src/testdir/test_channel.vim + +Patch 7.4.1361 +Problem: Channel test fails on Solaris. +Solution: Use the 1 msec waittime for all systems. +Files: src/channel.c + +Patch 7.4.1362 (after 7.4.1356) +Problem: Using uninitialized value. +Solution: Initialize jo_set. +Files: src/eval.c + +Patch 7.4.1363 +Problem: Compiler warnings with tiny build. +Solution: Add #ifdefs. +Files: src/gui_w48.c, src/gui_w32.c + +Patch 7.4.1364 +Problem: The Win 16 code is not maintained and unused. +Solution: Remove the Win 16 support. +Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, src/Make_w16.mak, + src/Makefile, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/proto/gui_w16.pro, src/proto/os_win16.pro, src/guiw16rc.h, + src/vim16.rc, src/vim16.def, src/tools16.bmp, src/eval.c, + src/gui.c, src/misc2.c, src/option.c, src/os_msdos.c, + src/os_mswin.c, src/os_win16.c, src/os_win16.h, src/version.c, + src/winclip.c, src/feature.h, src/proto.h, src/vim.h, Filelist + +Patch 7.4.1365 +Problem: Cannot execute a single test function. +Solution: Add an argument to filter the functions with. (Yasuhiro Matsumoto) +Files: src/testdir/runtest.vim + +Patch 7.4.1366 +Problem: Typo in test and resulting error in test result. +Solution: Fix the typo and correct the result. (James McCoy, closes #650) +Files: src/testdir/test_charsearch.in, src/testdir/test_charsearch.ok + +Patch 7.4.1367 +Problem: Compiler warning for unreachable code. +Solution: Remove a "break". (Danek Duvall) +Files: src/json.c + +Patch 7.4.1368 +Problem: One more Win16 file remains. +Solution: Delete it. +Files: src/proto/os_win16.pro + +Patch 7.4.1369 +Problem: Channels don't have a queue for stderr. +Solution: Have a queue for each part of the channel. +Files: src/channel.c, src/eval.c, src/structs.h, src/netbeans.c, + src/gui_w32.c, src/proto/channel.pro + +Patch 7.4.1370 +Problem: The Python test script may keep on running. +Solution: Join the threads. (Yasuhiro Matsumoto) +Files: src/testdir/test_channel.py + +Patch 7.4.1371 +Problem: X11 GUI callbacks don't specify the part of the channel. +Solution: Pass the fd instead of the channel ID. +Files: src/channel.c + +Patch 7.4.1372 +Problem: channel read implementation is incomplete. +Solution: Add ch_read() and options for ch_readraw(). +Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1373 +Problem: Calling a Vim function over a channel requires turning the + arguments into a string. +Solution: Add the "call" command. (Damien) Also merge "expr" and "eval" + into one. +Files: src/channel.c, src/testdir/test_channel.py, + src/testdir/test_channel.vim + +Patch 7.4.1374 +Problem: Channel test hangs on MS-Windows. +Solution: Disable the ch_read() that is supposed to time out. +Files: src/testdir/test_channel.vim + +Patch 7.4.1375 +Problem: Still some Win16 code. +Solution: Remove FEAT_GUI_W16.(Hirohito Higashi) +Files: src/eval.c, src/ex_cmds.h, src/feature.h, src/gui.h, src/menu.c, + src/misc1.c, src/option.c, src/proto.h, src/structs.h, src/term.c, + src/vim.h, runtime/doc/gui_w16.txt + +Patch 7.4.1376 +Problem: ch_setoptions() cannot set all options. +Solution: Support more options. +Files: src/channel.c, src/eval.c, src/structs.h, runtime/doc/channel.txt, + src/testdir/test_channel.vim + +Patch 7.4.1377 +Problem: Test_connect_waittime() is flaky. +Solution: Ignore the "Connection reset by peer" error. +Files: src/testdir/test_channel.vim + +Patch 7.4.1378 +Problem: Can't change job settings after it started. +Solution: Add job_setoptions() with the "stoponexit" flag. +Files: src/eval.c, src/main.c, src/structs.h, src/proto/eval.pro, + src/testdir/test_channel.vim + +Patch 7.4.1379 +Problem: Channel test fails on Win32 console. +Solution: Don't sleep when timeout is zero. Call channel_wait() before + channel_read(). Channels are not polled during ":sleep". (Yukihiro + Nakadaira) +Files: src/channel.c, src/misc2.c, src/gui_w32.c, src/os_win32.c + +Patch 7.4.1380 +Problem: The job exit callback is not implemented. +Solution: Add the "exit-cb" option. +Files: src/structs.h, src/eval.c, src/channel.c, src/proto/eval.pro, + src/misc2.c, src/macros.h, src/testdir/test_channel.vim + +Patch 7.4.1381 (after 7.4.1380) +Problem: Exit value not available on MS-Windows. +Solution: Set the exit value. +Files: src/structs.h, src/os_win32.c + +Patch 7.4.1382 +Problem: Can't get the job of a channel. +Solution: Add ch_getjob(). +Files: src/eval.c, runtime/doc/channel.txt, runtime/doc/eval.txt + +Patch 7.4.1383 +Problem: GvimExt only loads the old libintl.dll. +Solution: Also try loading libint-8.dll. (Ken Takata, closes #608) +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 7.4.1384 +Problem: It is not easy to use a set of plugins and their dependencies. +Solution: Add packages, ":loadplugin", 'packpath'. +Files: src/main.c, src/ex_cmds2.c, src/option.c, src/option.h, + src/ex_cmds.h, src/eval.c, src/version.c, src/proto/ex_cmds2.pro, + runtime/doc/repeat.txt, runtime/doc/options.txt, + runtime/optwin.vim + +Patch 7.4.1385 +Problem: Compiler warning for using array. +Solution: Use the right member name. (Yegappan Lakshmanan) +Files: src/eval.c + +Patch 7.4.1386 +Problem: When the Job exit callback is invoked, the job may be freed too + soon. (Yasuhiro Matsumoto) +Solution: Increase refcount. +Files: src/eval.c + +Patch 7.4.1387 +Problem: Win16 docs still referenced. +Solution: Remove Win16 files from the docs Makefile. (Kenichi Ito) +Files: runtime/doc/Makefile + +Patch 7.4.1388 +Problem: Compiler warning. (Cesar Romani) +Solution: Initialize variable. +Files: src/ex_cmds2.c + +Patch 7.4.1389 +Problem: Incomplete function declaration. +Solution: Add "void". (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.1390 +Problem: When building with GTK and glib-compile-resources cannot be found + building Vim fails. (Michael Gehring) +Solution: Make GLIB_COMPILE_RESOURCES empty instead of leaving it at "no". + (nuko8, closes #655) +Files: src/configure.in, src/auto/configure + +Patch 7.4.1391 +Problem: Warning for uninitialized variable. +Solution: Set it to zero. (Christian Brabandt) +Files: src/eval.c + +Patch 7.4.1392 +Problem: Some tests fail for Win32 console version. +Solution: Move the tests to SCRIPTS_MORE2. Pass VIMRUNTIME. (Christian + Brabandt) +Files: src/testdir/Make_all.mak + +Patch 7.4.1393 +Problem: Starting a job hangs in the GUI. (Takuya Fujiwara) +Solution: Don't check if ch_job is NULL when checking for an error. + (Yasuhiro Matsumoto) +Files: src/channel.c + +Patch 7.4.1394 +Problem: Can't sort inside a sort function. +Solution: Use a struct to store the sort parameters. (Jacob Niehus) +Files: src/eval.c, src/testdir/test_sort.vim + +Patch 7.4.1395 +Problem: Using DETACH in quotes is not compatible with the Netbeans + interface. (Xavier de Gaye) +Solution: Remove the quotes, only use them for JSON and JS mode. +Files: src/netbeans.c, src/channel.c + +Patch 7.4.1396 +Problem: Compiler warnings for conversions. +Solution: Add type cast. +Files: src/ex_cmds2.c + +Patch 7.4.1397 +Problem: Sort test fails on MS-Windows. +Solution: Correct the compare function. +Files: src/testdir/test_sort.vim + +Patch 7.4.1398 +Problem: The close-cb option is not implemented yet. +Solution: Implement close-cb. (Yasuhiro Matsumoto) +Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro, + src/testdir/test_channel.py, src/testdir/test_channel.vim + +Patch 7.4.1399 +Problem: The MS-DOS code does not build. +Solution: Remove the old MS-DOS code. +Files: Filelist, src/Make_bc3.mak, src/Make_bc5.mak, src/Make_djg.mak, + src/Makefile, src/blowfish.c, src/buffer.c, src/diff.c, + src/digraph.c, src/dosinst.h, src/eval.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/feature.h, + src/fileio.c, src/getchar.c, src/globals.h, src/macros.h, + src/main.c, src/mbyte.c, src/memfile.c, src/memline.c, + src/misc1.c, src/misc2.c, src/netbeans.c, src/option.c, + src/option.h, src/os_msdos.c, src/os_msdos.h, src/proto.h, + src/proto/os_msdos.pro, src/regexp.c, src/screen.c, src/structs.h, + src/syntax.c, src/term.c, src/undo.c, src/uninstal.c, + src/version.c, src/vim.h, src/window.c, src/xxd/Make_bc3.mak, + src/xxd/Make_djg.mak + + +Patch 7.4.1400 +Problem: Perl eval doesn't work properly on 64-bit big-endian machine. +Solution: Use 32 bit type for the key. (Danek Duvall) +Files: src/if_perl.xs + +Patch 7.4.1401 +Problem: Having 'autochdir' set during startup and using diff mode doesn't + work. (Axel Bender) +Solution: Don't use 'autochdir' while still starting up. (Christian + Brabandt) +Files: src/buffer.c + +Patch 7.4.1402 +Problem: GTK 3 is not supported. +Solution: Add GTK 3 support. (Kazunobu Kuriyama) +Files: runtime/doc/eval.txt, runtime/doc/gui.txt, + runtime/doc/gui_x11.txt, src/auto/configure, src/channel.c, + src/config.h.in, src/configure.in, src/eval.c, src/gui.h, + src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, src/gui_gtk_f.c, + src/gui_gtk_f.h, src/gui_gtk_x11.c, src/if_mzsch.c, src/mbyte.c, + src/netbeans.c, src/structs.h, src/version.c + +Patch 7.4.1403 +Problem: Can't build without the quickfix feature. +Solution: Add #ifdefs. Call ex_ni() for unimplemented commands. (Yegappan + Lakshmanan) +Files: src/ex_cmds2.c, src/popupmnu.c + +Patch 7.4.1404 +Problem: ch_read() doesn't time out on MS-Windows. +Solution: Instead of WM_NETBEANS use select(). (Yukihiro Nakadaira) +Files: src/channel.c, src/gui_w32.c, src/os_win32.c, src/structs.h, + src/testdir/test_channel.vim, src/vim.h + +Patch 7.4.1405 +Problem: Completion menu flickers. +Solution: Delay showing the popup menu. (Shougo Matsu, Justin M. Keyes, + closes #656) +Files: src/edit.c + +Patch 7.4.1406 +Problem: Leaking memory in cs_print_tags_priv(). +Solution: Free tbuf. (idea by Forrest Fleming) +Files: src/if_cscope.c + +Patch 7.4.1407 +Problem: json_encode() does not handle NaN and inf properly. (David + Barnett) +Solution: For JSON turn them into "null". For JS use "NaN" and "Infinity". + Add isnan(). +Files: src/eval.c, src/json.c, src/testdir/test_json.vim + +Patch 7.4.1408 +Problem: MS-Windows doesn't have isnan() and isinf(). +Solution: Use _isnan() and _isinf(). +Files: src/eval.c, src/json.c + +Patch 7.4.1409 (after 7.4.1402) +Problem: Configure includes GUI despite --disable-gui flag. +Solution: Add SKIP_GTK3. (Kazunobu Kuriyama) +Files: src/configure.in, src/auto/configure + +Patch 7.4.1410 +Problem: Leaking memory in cscope interface. +Solution: Free memory when no tab is found. (Christian Brabandt) +Files: src/if_cscope.c + +Patch 7.4.1411 +Problem: Compiler warning for indent. (Ajit Thakkar) +Solution: Indent normally. +Files: src/ui.c + +Patch 7.4.1412 +Problem: Compiler warning for indent. (Dominique Pelle) +Solution: Fix the indent. +Files: src/farsi.c + +Patch 7.4.1413 +Problem: When calling ch_close() the close callback is invoked, even though + the docs say it isn't. (Christian J. Robinson) +Solution: Don't call the close callback. +Files: src/eval.c, src/channel.c, src/netbeans.c, src/proto/channel.pro + +Patch 7.4.1414 +Problem: Appveyor only builds one feature set. +Solution: Build a combination of features and GUI/console. (Christian + Brabandt) +Files: appveyor.yml, src/appveyor.bat + +Patch 7.4.1415 (after 7.4.1414) +Problem: Dropped the skip-tags setting. +Solution: Put it back. +Files: appveyor.yml + +Patch 7.4.1416 +Problem: Using "u_char" instead of "char_u", which doesn't work everywhere. + (Jörg Plate) +Solution: Use "char_u" always. +Files: src/integration.c, src/macros.h + +Patch 7.4.1417 (after 7.4.1414) +Problem: Missing appveyor.bat from the distribution. +Solution: Add it to the list of files. +Files: Filelist + +Patch 7.4.1418 +Problem: job_stop() on MS-Windows does not really stop the job. +Solution: Make the default to stop the job forcefully. (Ken Takata) + Make MS-Windows and Unix more similar. +Files: src/os_win32.c, src/os_unix.c, runtime/doc/eval.txt + +Patch 7.4.1419 +Problem: Tests slowed down because of the "not a terminal" warning. +Solution: Add the --not-a-term command line argument. +Files: src/main.c, src/testdir/Makefile, src/Make_all.mak, + src/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + runtime/doc/starting.txt + +Patch 7.4.1420 (after 7.4.1419) +Problem: Missing makefile. +Solution: Type the path correctly. +Files: src/testdir/Make_all.mak + +Patch 7.4.1421 +Problem: May free a channel when a callback may need to be invoked. +Solution: Keep the channel when refcount is zero. +Files: src/eval.c, src/channel.c, src/proto/channel.pro + +Patch 7.4.1422 +Problem: Error when reading fails uses wrong errno. Keeping channel open + after job stops results in test failing. +Solution: Move the error up. Add ch_job_killed. +Files: src/channel.c, src/eval.c, src/structs.h + +Patch 7.4.1423 +Problem: Channel test fails on MS-Windows. +Solution: Do not give an error message when reading fails, assume the other + end exited. +Files: src/channel.c + +Patch 7.4.1424 +Problem: Not using --not-a-term when running tests on MS-Windows. +Solution: Use NO_PLUGIN. (Christian Brabandt) +Files: src/testdir/Make_dos.mak + +Patch 7.4.1425 +Problem: There are still references to MS-DOS support. +Solution: Remove most of the help txt and install instructions. (Ken Takata) +Files: src/INSTALLpc.txt, runtime/doc/os_msdos.txt, csdpmi4b.zip, + Filelist + +Patch 7.4.1426 +Problem: The "out-io" option for jobs is not implemented yet. +Solution: Implement the "buffer" value: append job output to a buffer. +Files: src/eval.c, src/channel.c, src/structs.h, src/netbeans.c, + runtime/doc/channel.txt + +Patch 7.4.1427 +Problem: Trailing comma in enums is not ANSI C. +Solution: Remove the trailing commas. +Files: src/alloc.h, src/gui_mac.c + +Patch 7.4.1428 +Problem: Compiler warning for non-virtual destructor. +Solution: Make it virtual. (Yasuhiro Matsumoto) +Files: src/gui_dwrite.cpp + +Patch 7.4.1429 +Problem: On MS-Windows, when not use renderoptions=type:directx, drawing + emoji will be broken. +Solution: Fix usage of unicodepdy. (Yasuhiro Matsumoto) +Files: src/gui_w32.c + +Patch 7.4.1430 +Problem: When encoding JSON, turning NaN and Infinity into null without + giving an error is not useful. +Solution: Pass NaN and Infinity on. If the receiver can't handle them it + will generate the error. +Files: src/json.c, src/testdir/test_json.vim, runtime/doc/eval.txt + +Patch 7.4.1431 +Problem: Including header files twice. +Solution: Remove the extra includes. +Files: src/if_cscope.h + +Patch 7.4.1432 +Problem: Typo in button text. +Solution: Fix the typo. (Dominique Pelle) +Files: src/gui_gtk.c + +Patch 7.4.1433 +Problem: The Sniff interface is no longer useful, the tool has not been + available for may years. +Solution: Delete the Sniff interface and related code. +Files: src/if_sniff.c, src/if_sniff.h, src/charset.c, src/edit.c, + src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, + src/gui_gtk_x11.c, src/gui_w32.c, src/gui_x11.c, src/normal.c, + src/os_unix.c, src/os_win32.c, src/term.c, src/ui.c, + src/version.c, src/ex_cmds.h, src/feature.h, src/keymap.h, + src/structs.h, src/vim.h, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/configure.in, src/auto/configure, + src/config.h.in, src/config.mk.in, runtime/doc/if_sniff.txt, + src/config.aap.in, src/main.aap + +Patch 7.4.1434 +Problem: JSON encoding doesn't handle surrogate pair. +Solution: Improve multi-byte handling of JSON. (Yasuhiro Matsumoto) +Files: src/json.c, src/testdir/test_json.vim + +Patch 7.4.1435 +Problem: It is confusing that ch_sendexpr() and ch_sendraw() wait for a + response. +Solution: Add ch_evalexpr() and ch_evalraw(). +Files: src/eval.c, runtime/doc/channel.txt, runtime/doc/eval.txt, + src/testdir/test_channel.vim + +Patch 7.4.1436 (after 7.4.1433) +Problem: Sniff files still referenced in distribution. +Solution: Remove sniff files from distribution. +Files: Filelist + +Patch 7.4.1437 +Problem: Old system doesn't have isinf() and NAN. (Ben Fritz) +Solution: Adjust #ifdefs. Detect isnan() and isinf() functions with + configure. Use a replacement when missing. (Kazunobu Kuriyama) +Files: src/eval.c, src/json.c, src/macros.h, src/message.c, + src/config.h.in, src/configure.in, src/auto/configure + +Patch 7.4.1438 +Problem: Can't get buffer number of a channel. +Solution: Add ch_getbufnr(). +Files: src/eval.c, src/channel.c, src/testdir/test_channel.vim, + runtime/doc/channel.txt, runtime/doc/eval.txt + +Patch 7.4.1439 (after 7.4.1434) +Problem: Using uninitialized variable. +Solution: Initialize vc_type. +Files: src/json.c + +Patch 7.4.1440 (after 7.4.1437) +Problem: Can't build on Windows. +Solution: Change #ifdefs. Only define isnan when used. +Files: src/macros.h, src/eval.c, src/json.c + +Patch 7.4.1441 +Problem: Using empty name instead of no name for channel buffer. +Solution: Remove the empty name. +Files: src/channel.c + +Patch 7.4.1442 +Problem: MS-Windows: more compilation warnings for destructor. +Solution: Add "virtual". (Ken Takata) +Files: src/if_ole.cpp + +Patch 7.4.1443 +Problem: Can't build GTK3 with small features. +Solution: Use gtk_widget_get_window(). Fix typos. (Dominique Pelle) +Files: src/gui_gtk_x11.c + +Patch 7.4.1444 +Problem: Can't build with JSON but without multi-byte. +Solution: Fix pointer name. +Files: src/json.c + +Patch 7.4.1445 +Problem: Memory corruption when 'encoding' is not utf-8. +Solution: Convert decoded string later. +Files: src/json.c + +Patch 7.4.1446 +Problem: Crash when using json_decode(). +Solution: Terminate string with a NUL byte. +Files: src/json.c + +Patch 7.4.1447 +Problem: Memory leak when using ch_read(). (Dominique Pelle) + No log message when stopping a job and a few other situations. + Too many "Nothing to read" messages. Channels are not freed. +Solution: Free the listtv. Add more log messages. Remove "Nothing to read" + message. Remove the channel from the job when its refcount + becomes zero. +Files: src/eval.c, src/channel.c + +Patch 7.4.1448 +Problem: JSON tests fail if 'encoding' is not utf-8. +Solution: Force encoding to utf-8. +Files: src/testdir/test_json.vim + +Patch 7.4.1449 +Problem: Build fails with job feature but without channel feature. +Solution: Add #ifdef. +Files: src/eval.c + +Patch 7.4.1450 +Problem: Json encoding still fails when encoding is not utf-8. +Solution: Set 'encoding' before :scriptencoding. Run the json test + separately to avoid affecting other tests. +Files: src/testdir/test_json.vim, src/testdir/Make_all.mak, + src/testdir/test_alot.vim + +Patch 7.4.1451 +Problem: Vim hangs when a channel has a callback but isn't referenced. +Solution: Have channel_unref() only return TRUE when the channel was + actually freed. +Files: src/eval.c, src/channel.c, src/proto/channel.pro + +Patch 7.4.1452 +Problem: When a callback adds a syntax item either the redraw doesn't + happen right away or in the GUI the cursor is in the wrong + position for a moment. (Jakson Alves de Aquino) +Solution: Redraw after the callback was invoked. +Files: src/channel.c + +Patch 7.4.1453 +Problem: Missing --not-a-term. +Solution: Add the argument. +Files: src/testdir/Make_amiga.mak + +Patch 7.4.1454 +Problem: The exit callback test is flaky. +Solution: Loop to wait for a short time up to a second. +Files: src/testdir/test_channel.vim + +Patch 7.4.1455 +Problem: JSON decoding test for surrogate pairs is in the wrong place. +Solution: Move the test lines. (Ken Takata) +Files: src/testdir/test_json.vim + +Patch 7.4.1456 +Problem: Test 87 fails with Python 3.5. +Solution: Work around difference. (Taro Muraoka) +Files: src/testdir/test87.in + +Patch 7.4.1457 +Problem: Opening a channel with select() is not done properly. +Solution: Also used read-fds. Use getsockopt() to check for errors. (Ozaki + Kiichi) +Files: src/channel.c + +Patch 7.4.1458 +Problem: When a JSON channel has a callback it may never be cleared. +Solution: Do not write "DETACH" into a JS or JSON channel. +Files: src/channel.c + +Patch 7.4.1459 (after 7.4.1457) +Problem: MS-Windows doesn't know socklen_t. +Solution: Use previous method for WIN32. +Files: src/channel.c + +Patch 7.4.1460 +Problem: Syntax error in rarely used code. +Solution: Fix the mch_rename() declaration. (Ken Takata) +Files: src/os_unix.c, src/proto/os_unix.pro + +Patch 7.4.1461 +Problem: When starting job on MS-Windows all parts of the command are put + in quotes. +Solution: Only use quotes when needed. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.1462 +Problem: Two more rarely used functions with errors. +Solution: Add proper argument types. (Dominique Pelle) +Files: src/misc2.c, src/termlib.c + +Patch 7.4.1463 +Problem: Configure doesn't find isinf() and isnan() on some systems. +Solution: Use a configure check that includes math.h. +Files: src/configure.in, src/auto/configure + +Patch 7.4.1464 +Problem: When the argument of sort() is zero or empty it fails. +Solution: Make zero work as documented. (suggested by Yasuhiro Matsumoto) +Files: src/eval.c, src/testdir/test_sort.vim + +Patch 7.4.1465 +Problem: Coverity reported possible use of NULL pointer when using buffer + output with JSON mode. +Solution: Make it actually possible to use JSON mode with a buffer. + Re-encode the JSON to append it to the buffer. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1466 +Problem: Coverity reports dead code. +Solution: Remove the two lines. +Files: src/channel.c + +Patch 7.4.1467 +Problem: Can't build without the float feature. +Solution: Add #ifdefs. (Nick Owens, closes #667) +Files: src/eval.c, src/json.c + +Patch 7.4.1468 +Problem: Sort test doesn't test with "1" argument. +Solution: Also test ignore-case sorting. (Yasuhiro Matsumoto) +Files: src/testdir/test_sort.vim + +Patch 7.4.1469 +Problem: Channel test sometimes fails, especially on OS/X. (Kazunobu + Kuriyama) +Solution: Change the && into ||, call getsockopt() in more situations. + (Ozaki Kiichi) +Files: src/channel.c + +Patch 7.4.1470 +Problem: Coverity reports missing restore. +Solution: Move json_encode() call up. +Files: src/channel.c + +Patch 7.4.1471 +Problem: Missing out-of-memory check. And Coverity warning. +Solution: Bail out when msg is NULL. +Files: src/channel.c + +Patch 7.4.1472 +Problem: Coverity warning for not using return value. +Solution: Add "(void)". +Files: src/os_unix.c + +Patch 7.4.1473 +Problem: Can't build without the autocommand feature. +Solution: Add #ifdefs. (Yegappan Lakshmanan) +Files: src/edit.c, src/main.c, src/syntax.c + +Patch 7.4.1474 +Problem: Compiler warnings without the float feature. +Solution: Move #ifdefs. (John Marriott) +Files: src/eval.c + +Patch 7.4.1475 +Problem: When using hangulinput with utf-8 a CSI character is + misinterpreted. +Solution: Convert CSI to K_CSI. (SungHyun Nam) +Files: src/ui.c + +Patch 7.4.1476 +Problem: Function arguments marked as unused while they are not. +Solution: Remove UNUSED. (Yegappan Lakshmanan) +Files: src/diff.c, src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, + src/window.c + +Patch 7.4.1477 +Problem: Test_reltime is flaky, it depends on timing. +Solution: When it fails run it a second time. +Files: src/testdir/runtest.vim + +Patch 7.4.1478 +Problem: ":loadplugin" doesn't take care of ftdetect files. +Solution: Also load ftdetect scripts when appropriate. +Files: src/ex_cmds2.c + +Patch 7.4.1479 +Problem: No testfor ":loadplugin". +Solution: Add a test. Fix how option is being set. +Files: src/ex_cmds2.c, src/testdir/test_loadplugin.vim, + src/testdir/Make_all.mak + +Patch 7.4.1480 +Problem: Cannot add a pack directory without loading a plugin. +Solution: Add the :packadd command. +Files: src/ex_cmds.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, + src/testdir/test_loadplugin.vim, runtime/doc/repeat.txt + +Patch 7.4.1481 +Problem: Can't build with small features. +Solution: Add #ifdef. +Files: src/ex_cmds2.c + +Patch 7.4.1482 +Problem: "timeout" option not supported on ch_eval*(). +Solution: Get and use the timeout option from the argument. +Files: src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1483 +Problem: A one-time callback is not used for a raw channel. +Solution: Use a one-time callback when it exists. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1484 +Problem: Channel "err-io" value "out" is not supported. +Solution: Connect stderr to stdout if wanted. +Files: src/os_unix.c, src/os_win32.c, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py + +Patch 7.4.1485 +Problem: Job input from buffer is not implemented. +Solution: Implement it. Add "in-top" and "in-bot" options. +Files: src/structs.h, src/eval.c, src/channel.c, src/proto/channel.pro, + src/os_unix.c, src/os_win32.c, src/testdir/test_channel.vim + +Patch 7.4.1486 +Problem: ":loadplugin" is not optimal, some people find it confusing. +Solution: Only use ":packadd" with an optional "!". +Files: src/ex_cmds.h, src/ex_cmds2.c, src/testdir/test_loadplugin.vim, + src/testdir/test_packadd.vim, src/testdir/Make_all.mak, + runtime/doc/repeat.txt + +Patch 7.4.1487 +Problem: For WIN32 isinf() is defined as a macro. +Solution: Define it as an inline function. (ZyX) +Files: src/macros.h + +Patch 7.4.1488 (after 7.4.1475) +Problem: Not using key when result from hangul_string_convert() is NULL. +Solution: Fall back to not converted string. +Files: src/ui.c + +Patch 7.4.1489 (after 7.4.1487) +Problem: "inline" is not supported by old MSVC. +Solution: use "__inline". (Ken Takata) +Files: src/macros.h + +Patch 7.4.1490 +Problem: Compiler warning for unused function. +Solution: Add #ifdef. (Dominique Pelle) +Files: src/gui_gtk_x11.c + +Patch 7.4.1491 +Problem: Visual-block shift breaks multi-byte characters. +Solution: Compute column differently. (Yasuhiro Matsumoto) Add a test. +Files: src/ops.c, src/testdir/test_visual.vim, src/testdir/Make_all.mak + +Patch 7.4.1492 +Problem: No command line completion for ":packadd". +Solution: Implement completion. (Hirohito Higashi) +Files: src/ex_docmd.c, src/ex_getln.c, src/testdir/test_packadd.vim, + src/vim.h + +Patch 7.4.1493 +Problem: Wrong callback invoked for zero-id messages. +Solution: Don't use the first one-time callback when the sequence number + doesn't match. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1494 +Problem: clr_history() does not work properly. +Solution: Increment hisptr. Add a test. (Yegappan Lakshmanan) +Files: src/ex_getln.c, src/testdir/test_history.vim, + src/testdir/Make_all.mak + +Patch 7.4.1495 +Problem: Compiler warnings when building on Unix with the job feature but + without the channel feature. +Solution: Move #ifdefs. (Dominique Pelle) +Files: src/os_unix.c + +Patch 7.4.1496 +Problem: Crash when built with GUI but it's not active. (Dominique Pelle) +Solution: Check gui.in_use. +Files: src/channel.c + +Patch 7.4.1497 +Problem: Cursor drawing problem with GTK 3. +Solution: Handle blinking differently. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.1498 +Problem: Error for locked item when using json_decode(). (Shougo Matsu) +Solution: Initialize v_lock. +Files: src/json.c + +Patch 7.4.1499 +Problem: No error message when :packadd does not find anything. +Solution: Add an error message. (Hirohito Higashi) +Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, + src/globals.h, src/testdir/test_packadd.vim + +Patch 7.4.1500 +Problem: Should_free flag set to FALSE. +Solution: Set it to TRUE. (Neovim 4415) +Files: src/ex_eval.c + +Patch 7.4.1501 +Problem: Garbage collection with an open channel is not tested. +Solution: Call garbagecollect() in the test. +Files: src/testdir/test_channel.vim + +Patch 7.4.1502 +Problem: Writing last-but-one line of buffer to a channel isn't implemented + yet. +Solution: Implement it. Fix leaving a swap file behind. +Files: src/channel.c, src/structs.h, src/memline.c, src/proto/channel.pro + +Patch 7.4.1503 +Problem: Crash when using ch_getjob(). (Damien) +Solution: Check for a NULL job. +Files: src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1504 (after 7.4.1502) +Problem: No test for reading last-but-one line. +Solution: Add a test. +Files: src/testdir/test_channel.vim + +Patch 7.4.1505 +Problem: When channel log is enabled get too many "looking for messages" + log entries. +Solution: Only give the message after another message. +Files: src/channel.c + +Patch 7.4.1506 +Problem: Job cannot read from a file. +Solution: Implement reading from a file for Unix. +Files: src/eval.c, src/os_unix.c, src/os_win32.c, + src/testdir/test_channel.vim + +Patch 7.4.1507 +Problem: Crash when starting a job fails. +Solution: Check for the channel to be NULL. (idea by Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.1508 +Problem: Can't build GvimExt with MingW. +Solution: Adjust the makefile. (Ben Fritz) +Files: src/GvimExt/Make_ming.mak + +Patch 7.4.1509 +Problem: Keeping both a variable for a job and the channel it refers to is + a hassle. +Solution: Allow passing the job where a channel is expected. (Damien) +Files: src/eval.c, src/testdir/test_channel.vim + +Patch 7.4.1510 +Problem: Channel test fails on AppVeyor. +Solution: Wait longer than 10 msec if needed. +Files: src/testdir/test_channel.vim + +Patch 7.4.1511 +Problem: Statusline highlighting is sometimes wrong. +Solution: Check for Highlight type. (Christian Brabandt) +Files: src/buffer.c + +Patch 7.4.1512 +Problem: Channel input from file not supported on MS-Windows. +Solution: Implement it. (Yasuhiro Matsumoto) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 7.4.1513 +Problem: "J" fails if there are not enough lines. (Christian Neukirchen) +Solution: Reduce the count, only fail on the last line. +Files: src/normal.c, src/testdir/test_join.vim, src/testdir/test_alot.vim + +Patch 7.4.1514 +Problem: Channel output to file not implemented yet. +Solution: Implement it for Unix. +Files: src/os_unix.c, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py + +Patch 7.4.1515 +Problem: Channel test is a bit flaky. +Solution: Instead of a fixed sleep time wait until an expression evaluates + to true. +Files: src/testdir/test_channel.vim + +Patch 7.4.1516 +Problem: Cannot change file permissions. +Solution: Add setfperm(). +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test_alot.vim, + src/testdir/test_file_perm.vim + +Patch 7.4.1517 +Problem: Compiler warning with 64bit compiler. +Solution: Add typecast. (Mike Williams) +Files: src/channel.c + +Patch 7.4.1518 +Problem: Channel with disconnected in/out/err is not supported. +Solution: Implement it for Unix. +Files: src/eval.c, src/os_unix.c, src/structs.h, + src/testdir/test_channel.vim, src/testdir/test_channel_pipe.py + +Patch 7.4.1519 (after 7.4.1514) +Problem: Channel output to file not implemented for MS-Windows. +Solution: Implement it. (Yasuhiro Matsumoto) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 7.4.1520 +Problem: Channel test: Waiting for a file to appear doesn't work. +Solution: In waitFor() ignore errors. +Files: src/testdir/test_channel.vim + +Patch 7.4.1521 (after 7.4.1516) +Problem: File permission test fails on MS-Windows. +Solution: Expect a different permission. +Files: src/testdir/test_file_perm.vim + +Patch 7.4.1522 +Problem: Cannot write channel err to a buffer. +Solution: Implement it. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1523 +Problem: Writing channel to a file fails on MS-Windows. +Solution: Disable it for now. +Files: src/testdir/test_channel.vim + +Patch 7.4.1524 +Problem: Channel test fails on BSD. +Solution: Break out of the loop when connect() succeeds. (Ozaki Kiichi) +Files: src/channel.c + +Patch 7.4.1525 +Problem: On a high resolution screen the toolbar icons are too small. +Solution: Add "huge" and "giant" to 'toolbariconsize'. (Brian Gix) +Files: src/gui_gtk_x11.c, src/option.h + +Patch 7.4.1526 +Problem: Writing to file and not connecting a channel doesn't work for + MS-Windows. +Solution: Make it work. (Yasuhiro Matsumoto) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 7.4.1527 +Problem: Channel test is flaky on MS-Windows. +Solution: Limit the select() timeout to 50 msec and try with a new socket if + it fails. +Files: src/channel.c + +Patch 7.4.1528 +Problem: Using "ever" for packages is confusing. +Solution: Use "start", as it's related to startup. +Files: src/ex_cmds2.c, runtime/doc/repeat.txt + +Patch 7.4.1529 +Problem: Specifying buffer number for channel not implemented yet. +Solution: Implement passing a buffer number. +Files: src/structs.h, src/channel.c, src/eval.c, + src/testdir/test_channel.vim + +Patch 7.4.1530 +Problem: MS-Windows job_start() closes wrong handle. +Solution: Close hThread on the process info. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.1531 +Problem: Compiler warning for uninitialized variable. (Dominique Pelle) +Solution: Always give the variable a value. +Files: src/channel.c + +Patch 7.4.1532 +Problem: MS-Windows channel leaks file descriptor. +Solution: Use CreateFile with the right options. (Yasuhiro Matsumoto) +Files: src/os_win32.c + +Patch 7.4.1533 +Problem: Using feedkeys() with an empty string disregards 'x' option. +Solution: Make 'x' work with an empty string. (Thinca) +Files: src/eval.c, src/testdir/test_alot.vim, + src/testdir/test_feedkeys.vim + +Patch 7.4.1534 +Problem: Compiler warning for shadowed variable. (Kazunobu Kuriyama) +Solution: Rename it. +Files: src/eval.c + +Patch 7.4.1535 +Problem: The feedkeys test has a one second delay. +Solution: Avoid need_wait_return() to delay. (Hirohito Higashi) +Files: src/eval.c + +Patch 7.4.1536 +Problem: Cannot re-use a channel for another job. +Solution: Add the "channel" option to job_start(). +Files: src/channel.c, src/eval.c, src/structs.h, src/os_unix.c, + src/os_win32.c, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1537 +Problem: Too many feature flags for pipes, jobs and channels. +Solution: Only use FEAT_JOB_CHANNEL. +Files: src/structs.h, src/feature.h, src/configure.in, + src/auto/configure, src/config.h.in, src/channel.c, src/eval.c, + src/gui.c, src/main.c, src/memline.c, src/misc2.c, src/os_mswin.c, + src/os_unix.c, src/os_win32.c, src/ui.c, src/version.c, + src/macros.h, src/proto.h, src/vim.h, src/Make_cyg_ming.mak, + src/Make_bc5.mak, src/Make_mvc.mak + +Patch 7.4.1538 +Problem: Selection with the mouse does not work in command line mode. +Solution: Use cairo functions. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.1539 +Problem: Too much code in eval.c. +Solution: Move job and channel code to channel.c. +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/proto/eval.pro + +Patch 7.4.1540 +Problem: Channel test is a bit flaky. +Solution: Increase expected wait time. +Files: src/testdir/test_channel.vim + +Patch 7.4.1541 +Problem: Missing job_info(). +Solution: Implement it. +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1542 +Problem: job_start() with a list is not tested. +Solution: Call job_start() with a list. +Files: src/testdir/test_channel.vim + +Patch 7.4.1543 +Problem: Channel log methods are not tested. +Solution: Log job activity and check it. +Files: src/testdir/test_channel.vim + +Patch 7.4.1544 +Problem: On Win32 escaping the command does not work properly. +Solution: Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto) +Files: src/channel.c + +Patch 7.4.1545 +Problem: GTK3: horizontal cursor movement in Visual selection not good. +Solution: Make it work better. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.1546 +Problem: Sticky type checking is more annoying than useful. +Solution: Remove the error for changing a variable type. +Files: src/eval.c, src/testdir/test_assign.vim, + src/testdir/test_alot.vim, runtime/doc/eval.txt + +Patch 7.4.1547 +Problem: Getting a cterm highlight attribute that is not set results in the + string "-1". +Solution: Return an empty string. (Taro Muraoka) +Files: src/syntax.c, src/testdir/test_alot.vim, + src/testdir/test_syn_attr.vim + +Patch 7.4.1548 (after 7.4.1546) +Problem: Two tests fail. +Solution: Adjust the expected error number. Remove check for type. +Files: src/testdir/test101.ok, src/testdir/test55.in, + src/testdir/test55.ok + +Patch 7.4.1549 (after 7.4.1547) +Problem: Test for syntax attributes fails in Win32 GUI. +Solution: Use an existing font name. +Files: src/testdir/test_syn_attr.vim + +Patch 7.4.1550 +Problem: Cannot load packages early. +Solution: Add the ":packloadall" command. +Files: src/ex_cmds.h, src/ex_cmds2.c, src/main.c, + src/proto/ex_cmds2.pro, src/testdir/test_packadd.vim + +Patch 7.4.1551 +Problem: Cannot generate help tags in all doc directories. +Solution: Make ":helptags ALL" work. +Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/ex_cmds.c, src/vim.h + src/testdir/test_packadd.vim + +Patch 7.4.1552 +Problem: ":colorscheme" does not use 'packpath'. +Solution: Also use in "start" and "opt" directories in 'packpath'. +Files: src/ex_cmds2.c, src/gui.c, src/hardcopy.c, src/os_mswin.c, + src/spell.c, src/tag.c, src/if_py_both.h, src/vim.h, + src/digraph.c, src/eval.c, src/ex_docmd.c, src/main.c, + src/option.c, src/syntax.c, src/testdir/test_packadd.vim + +Patch 7.4.1553 +Problem: ":runtime" does not use 'packpath'. +Solution: Add "what" argument. +Files: src/ex_cmds2.c, src/vim.h, runtime/doc/repeat.txt, + src/testdir/test_packadd.vim + +Patch 7.4.1554 +Problem: Completion for :colorscheme does not use 'packpath'. +Solution: Make it work, add a test. (Hirohito Higashi) +Files: src/ex_getln.c, src/testdir/test_packadd.vim + +Patch 7.4.1555 +Problem: List of test targets incomplete. +Solution: Add newly added tests. +Files: src/Makefile + +Patch 7.4.1556 +Problem: "make install" changes the help tags file, causing it to differ + from the repository. +Solution: Move it aside and restore it. +Files: src/Makefile + +Patch 7.4.1557 +Problem: Windows cannot be identified. +Solution: Add a unique window number to each window and functions to use it. +Files: src/structs.h, src/window.c, src/eval.c, src/proto/eval.pro, + src/proto/window.pro, src/testdir/test_window_id.vim, + src/testdir/Make_all.mak, runtime/doc/eval.txt + +Patch 7.4.1558 +Problem: It is not easy to find out what windows display a buffer. +Solution: Add win_findbuf(). +Files: src/eval.c, src/window.c, src/proto/window.pro, + src/testdir/test_window_id.vim, runtime/doc/eval.txt + +Patch 7.4.1559 +Problem: Passing cookie to a callback is clumsy. +Solution: Change function() to take arguments and return a partial. +Files: src/structs.h, src/channel.c, src/eval.c, src/if_python.c, + src/if_python3.c, src/if_py_both.h, src/json.c, + src/proto/eval.pro, src/testdir/test_partial.vim, + src/testdir/test_alot.vim, runtime/doc/eval.txt + +Patch 7.4.1560 +Problem: Dict options with a dash are more difficult to use. +Solution: Use an underscore, so that dict.err_io can be used. +Files: src/channel.c, src/structs.h, src/testdir/test_channel.vim, + runtime/doc/channel.txt + +Patch 7.4.1561 (after 7.4.1559) +Problem: Missing update to proto file. +Solution: Change the proto file. +Files: src/proto/channel.pro + +Patch 7.4.1562 +Problem: ":helptags ALL" crashes. (Lcd) +Solution: Don't free twice. +Files: src/ex_cmds.c + +Patch 7.4.1563 +Problem: Partial test fails on windows. +Solution: Return 1 or -1 from compare function. +Files: src/testdir/test_partial.vim + +Patch 7.4.1564 +Problem: An empty list in function() causes an error. +Solution: Handle an empty list like there is no list of arguments. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1565 +Problem: Crash when assert_equal() runs into a NULL string. +Solution: Check for NULL. (Dominique) Add a test. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 7.4.1566 +Problem: Compiler warning for shadowed variable. (Kazunobu Kuriyama) +Solution: Remove the inner one. +Files: src/eval.c + +Patch 7.4.1567 +Problem: Crash in assert_fails(). +Solution: Check for NULL. (Dominique Pelle) Add a test. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 7.4.1568 +Problem: Using CTRL-] in help on option in parentheses doesn't work. +Solution: Skip the "(" in "('". (Hirohito Higashi) +Files: src/ex_cmds.c + +Patch 7.4.1569 +Problem: Using old style tests for quickfix. +Solution: Change them to new style tests. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test106.in, + src/testdir/test106.ok, src/testdir/test_qf_title.in, + src/testdir/test_qf_title.ok, src/testdir/test_quickfix.vim + +Patch 7.4.1570 +Problem: There is no way to avoid the message when editing a file. +Solution: Add the "F" flag to 'shortmess'. (Shougo Matsu, closes #686) +Files: runtime/doc/options.txt, src/buffer.c, src/ex_cmds.c, + src/option.h + +Patch 7.4.1571 +Problem: No test for ":help". +Solution: Add a test for what 7.4.1568 fixed. (Hirohito Higashi) +Files: src/testdir/test_alot.vim, src/testdir/test_help_tagjump.vim + +Patch 7.4.1572 +Problem: Setting 'compatible' in test influences following tests. +Solution: Turn 'compatible' off again. +Files: src/testdir/test_backspace_opt.vim + +Patch 7.4.1573 +Problem: Tests get stuck at the more prompt. +Solution: Move the backspace test out of test_alot. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak + +Patch 7.4.1574 +Problem: ":undo 0" does not work. (Florent Fayolle) +Solution: Make it undo all the way. (closes #688) +Files: src/undo.c, src/testdir/test_undolevels.vim, + src/testdir/test_ex_undo.vim, src/testdir/test_alot.vim + +Patch 7.4.1575 +Problem: Using wrong size for struct. +Solution: Use the size for wide API. (Ken Takata) +Files: src/gui_w32.c + +Patch 7.4.1576 +Problem: Write error of viminfo file is not handled properly. (Christian + Neukirchen) +Solution: Check the return value of fclose(). (closes #682) +Files: src/ex_cmds.c + +Patch 7.4.1577 +Problem: Cannot pass "dict.Myfunc" around as a partial. +Solution: Create a partial when expected. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1578 +Problem: There is no way to invoke a function later or periodically. +Solution: Add timer support. +Files: src/eval.c, src/ex_cmds2.c, src/screen.c, src/ex_docmd.c, + src/feature.h, src/gui.c, src/proto/eval.pro, + src/proto/ex_cmds2.pro, src/proto/screen.pro, src/structs.h, + src/version.c, src/testdir/test_alot.vim, + src/testdir/test_timers.vim, runtime/doc/eval.txt + +Patch 7.4.1579 (after 7.4.1578) +Problem: Missing changes in channel.c +Solution: Include the changes. +Files: src/channel.c + +Patch 7.4.1580 +Problem: Crash when using function reference. (Luchr) +Solution: Set initial refcount. (Ken Takata, closes #690) +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1581 +Problem: Using ":call dict.func()" where the function is a partial does + not work. Using "dict.func()" where the function does not take a + Dictionary does not work. +Solution: Handle partial properly in ":call". (Yasuhiro Matsumoto) +Files: src/eval.c, src/testdir/test_partial.vim, src/testdir/test55.ok + +Patch 7.4.1582 +Problem: Get E923 when using function(dict.func, [], dict). (Kent Sibilev) + Storing a function with a dict in a variable drops the dict if the + function is script-local. +Solution: Translate the function name. Use dict arg if present. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1583 +Problem: Warning for uninitialized variable. +Solution: Initialize it. (Dominique) +Files: src/ex_cmds2.c + +Patch 7.4.1584 +Problem: Timers don't work for Win32 console. +Solution: Add check_due_timer() in WaitForChar(). +Files: src/os_win32.c + +Patch 7.4.1585 +Problem: Partial is not recognized everywhere. +Solution: Check for partial in trans_function_name(). (Yasuhiro Matsumoto) + Add a test. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1586 +Problem: Nesting partials doesn't work. +Solution: Append arguments. (Ken Takata) +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1587 +Problem: Compiler warnings with 64 bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/ex_cmds2.c + +Patch 7.4.1588 +Problem: Old style test for quickfix. +Solution: Turn test 96 into a new style test. +Files: src/testdir/Make_all.mak, src/testdir/test96.in, + src/testdir/test96.ok, src/testdir/test_quickfix.vim + +Patch 7.4.1589 +Problem: Combining dict and args with partial doesn't always work. +Solution: Use the arguments from the partial. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1590 +Problem: Warning for shadowed variable. (Christian Brabandt) +Solution: Move the variable into a local block. +Files: src/eval.c + +Patch 7.4.1591 +Problem: The quickfix title is truncated. +Solution: Save the command before it is truncated. (Anton Lindqvist) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1592 +Problem: Quickfix code using memory after being freed. (Dominique Pelle) +Solution: Detect that the window was closed. (Hirohito Higashi) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1593 +Problem: Using channel timeout instead of request timeout. (Coverity) +Solution: Remove the extra assignment. +Files: src/channel.c + +Patch 7.4.1594 +Problem: Timers don't work on Unix. +Solution: Add missing code. +Files: src/os_unix.c + +Patch 7.4.1595 +Problem: Not checking for failed open(). (Coverity) +Solution: Check file descriptor not being negative. +Files: src/os_unix.c + +Patch 7.4.1596 +Problem: Memory leak. (Coverity) +Solution: Free the pattern. +Files: src/ex_cmds2.c + +Patch 7.4.1597 +Problem: Memory leak when out of memory. (Coverity) +Solution: Free the name. +Files: src/eval.c + +Patch 7.4.1598 +Problem: When starting the GUI fails a swap file is left behind. (Joerg + Plate) +Solution: Preserve files before exiting. (closes #692) +Files: src/main.c, src/gui.c + +Patch 7.4.1599 +Problem: No link to Coverity. +Solution: Add Coverity badge in README. +Files: README.md + +Patch 7.4.1600 +Problem: libs directory is not useful. +Solution: Remove arp.library, it was only for very old Amiga versions. +Files: libs/arp.library, Filelist + +Patch 7.4.1601 +Problem: README files take a lot of space in the top directory. +Solution: Move most of them to "READMEdir". +Files: Filelist, Makefile, README.txt.info, README_ami.txt, + README_ami.txt.info, README_amibin.txt, README_amibin.txt.info, + README_amisrc.txt, README_amisrc.txt.info, README_bindos.txt, + README_dos.txt, README_extra.txt, README_mac.txt, README_ole.txt, + README_os2.txt, README_os390.txt, README_src.txt, + README_srcdos.txt, README_unix.txt, README_vms.txt, + README_w32s.txt, READMEdir/README.txt.info, + READMEdir/README_ami.txt, READMEdir/README_ami.txt.info, + READMEdir/README_amibin.txt, READMEdir/README_amibin.txt.info, + READMEdir/README_amisrc.txt, READMEdir/README_amisrc.txt.info, + READMEdir/README_bindos.txt, READMEdir/README_dos.txt, + READMEdir/README_extra.txt, READMEdir/README_mac.txt, + READMEdir/README_ole.txt, READMEdir/README_os2.txt, + READMEdir/README_os390.txt, READMEdir/README_src.txt, + READMEdir/README_srcdos.txt, READMEdir/README_unix.txt, + READMEdir/README_vms.txt, READMEdir/README_w32s.txt, + +Patch 7.4.1602 +Problem: Info files take space in the top directory. +Solution: Move them to "READMEdir". +Files: Filelist, src.info, Contents.info, runtime.info, vimdir.info, + Vim.info, Xxd.info, READMEdir/src.info, READMEdir/Contents.info, + READMEdir/runtime.info, READMEdir/vimdir.info, READMEdir/Vim.info, + READMEdir/Xxd.info + +Patch 7.4.1603 +Problem: Timer with an ":echo" command messes up display. +Solution: Redraw depending on the mode. (Hirohito Higashi) Avoid the more + prompt being used recursively. +Files: src/screen.c, src/message.c + +Patch 7.4.1604 +Problem: Although emoji characters are ambiguous width, best is to treat + them as full width. +Solution: Update the Unicode character tables. Add the 'emoji' options. + (Yasuhiro Matsumoto) +Files: runtime/doc/options.txt, runtime/optwin.vim, + runtime/tools/unicode.vim, src/mbyte.c, src/option.c, src/option.h + +Patch 7.4.1605 +Problem: Catching exception that won't be thrown. +Solution: Remove try/catch. +Files: src/testdir/test55.in + +Patch 7.4.1606 +Problem: Having type() handle a Funcref that is or isn't a partial + differently causes problems for existing scripts. +Solution: Make type() return the same value. (Thinca) +Files: src/eval.c, src/testdir/test_viml.vim + +Patch 7.4.1607 +Problem: Comparing a function that exists on two dicts is not backwards + compatible. (Thinca) +Solution: Only compare the function, not what the partial adds. +Files: src/eval.c, src/testdir/test_alot.vim, src/testdir/test_expr.vim + +Patch 7.4.1608 +Problem: string() doesn't handle a partial. +Solution: Make a string from a partial. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1609 +Problem: Contents file is only for Amiga distro. +Solution: Move it to "READMEdir". Update some info. +Files: Filelist, Contents, READMEdir/Contents + +Patch 7.4.1610 +Problem: Compiler warnings for non-virtual destructor. +Solution: Mark the classes final. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/gui_dwrite.cpp, src/if_ole.cpp + +Patch 7.4.1611 +Problem: The versplit feature makes the code unnecessary complicated. +Solution: Remove FEAT_VERTSPLIT, always support vertical splits when + FEAT_WINDOWS is defined. +Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/if_lua.c, + src/if_mzsch.c, src/if_ruby.c, src/main.c, src/misc1.c, + src/misc2.c, src/move.c, src/normal.c, src/option.c, + src/quickfix.c, src/screen.c, src/syntax.c, src/term.c, src/ui.c, + src/window.c, src/globals.h, src/gui.h, src/if_py_both.h, + src/option.h, src/structs.h, src/term.h + src/feature.h, src/vim.h, src/version.c + +Patch 7.4.1612 (after 7.4.1611) +Problem: Can't build with small features. +Solution: Move code and #ifdefs. +Files: src/ex_getln.c + +Patch 7.4.1613 (after 7.4.1612) +Problem: Still can't build with small features. +Solution: Adjust #ifdefs. +Files: src/ex_getln.c + +Patch 7.4.1614 +Problem: Still quickfix test in old style. +Solution: Turn test 10 into a new style test. +Files: src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test10.in, + src/testdir/test10.ok, src/testdir/test_quickfix.vim, + src/testdir/test10a.in, src/testdir/test10a.ok + +Patch 7.4.1615 +Problem: Build fails with tiny features. +Solution: Adjust #ifdefs. +Files: src/normal.c, src/window.c + +Patch 7.4.1616 +Problem: Malformed channel request causes a hang. +Solution: Drop malformed message. (Damien) +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1617 +Problem: When a JSON message is split it isn't decoded. +Solution: Wait a short time for the rest of the message to arrive. +Files: src/channel.c, src/json.c, src/structs.h, + src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 7.4.1618 +Problem: Starting job with output to buffer changes options in the current + buffer. +Solution: Set "curbuf" earlier. (Yasuhiro Matsumoto) +Files: src/channel.c + +Patch 7.4.1619 +Problem: When 'fileformats' is set in the vimrc it applies to new buffers + but not the initial buffer. +Solution: Set 'fileformat' when starting up. (Mike Williams) +Files: src/option.c + +Patch 7.4.1620 +Problem: Emoji characters are not considered as a kind of word character. +Solution: Give emoji characters a word class number. (Yasuhiro Matsumoto) +Files: src/mbyte.c + +Patch 7.4.1621 +Problem: Channel test doesn't work with Python 2.6. +Solution: Add number in formatting placeholder. (Wiredool) +Files: src/testdir/test_channel.py + +Patch 7.4.1622 +Problem: Channel demo doesn't work with Python 2.6. +Solution: Add number in formatting placeholder +Files: runtime/tools/demoserver.py + +Patch 7.4.1623 +Problem: All Channels share the message ID, it keeps getting bigger. +Solution: Use a message ID per channel. +Files: src/channel.c, src/proto/channel.pro, src/structs.h + +Patch 7.4.1624 +Problem: Can't get info about a channel. +Solution: Add ch_info(). +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1625 +Problem: Trying to close file descriptor that isn't open. +Solution: Check for negative number. +Files: src/os_unix.c + +Patch 7.4.1626 (after 7.4.1624) +Problem: Missing changes to structs. +Solution: Include the changes. +Files: src/structs.h + +Patch 7.4.1627 +Problem: Channel out_cb and err_cb are not tested. +Solution: Add a test. +Files: src/testdir/test_channel.vim + +Patch 7.4.1628 +Problem: 64-bit Compiler warning. +Solution: Change type of variable. (Mike Williams) +Files: src/channel.c + +Patch 7.4.1629 +Problem: Handling emoji characters as full width has problems with + backwards compatibility. +Solution: Remove ambiguous and double width characters from the emoji table. + Use a separate table for the character class. + (partly by Yasuhiro Matsumoto) +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 7.4.1630 +Problem: Unicode table for double width is outdated. +Solution: Update to the latest Unicode standard. +Files: src/mbyte.c + +Patch 7.4.1631 +Problem: Compiler doesn't understand switch on all enum values. (Tony + Mechelynck) +Solution: Initialize variable. +Files: src/channel.c + +Patch 7.4.1632 +Problem: List of test targets is outdated. +Solution: Update to current list of test targets. +Files: src/Makefile + +Patch 7.4.1633 +Problem: If the help tags file was removed "make install" fails. (Tony + Mechelynck) +Solution: Only try moving the file if it exists. +Files: src/Makefile + +Patch 7.4.1634 +Problem: Vertical movement after CTRL-A ends up in the wrong column. + (Urtica Dioica) +Solution: Set curswant when appropriate. (Hirohito Higashi) +Files: src/ops.c, src/testdir/test_increment.vim + +Patch 7.4.1635 +Problem: Channel test is a bit flaky. +Solution: Remove 'DETACH' if it's there. +Files: src/testdir/test_channel.vim + +Patch 7.4.1636 +Problem: When 'F' is in 'shortmess' the prompt for the encryption key isn't + displayed. (Toothpik) +Solution: Reset msg_silent. +Files: src/ex_getln.c + +Patch 7.4.1637 +Problem: Can't build with older MinGW compiler. +Solution: Change option from c++11 to gnu++11. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1638 +Problem: When binding a function to a dict the reference count is wrong. +Solution: Decrement dict reference count, only reference the function when + actually making a copy. (Ken Takata) +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1639 +Problem: Invoking garbage collection may cause a double free. +Solution: Don't free the dict in a partial when recursive is FALSE. +Files: src/eval.c + +Patch 7.4.1640 +Problem: Crash when an autocommand changes a quickfix list. (Dominique) +Solution: Check whether an entry is still valid. (Yegappan Lakshmanan, + Hirohito Higashi) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1641 +Problem: Using unterminated string. +Solution: Add NUL before calling vim_strsave_shellescape(). (James McCoy) +Files: src/eval.c, src/testdir/test105.in, src/testdir/test105.ok + +Patch 7.4.1642 +Problem: Handling emoji characters as full width has problems with + backwards compatibility. +Solution: Only put characters in the 1f000 range in the emoji table. +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 7.4.1643 (after 7.4.1641) +Problem: Terminating file name has side effects. +Solution: Restore the character. (mostly by James McCoy, closes #713) +Files: src/eval.c, src/testdir/test105.in, src/testdir/test105.ok + +Patch 7.4.1644 +Problem: Using string() on a partial that exists in the dictionary it binds + results in an error. (Nikolai Pavlov) +Solution: Make string() not fail on a recursively nested structure. (Ken + Takata) +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1645 +Problem: When a dict contains a partial it can't be redefined as a + function. (Nikolai Pavlov) +Solution: Remove the partial when overwriting with a function. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1646 +Problem: Using Python vim.bindeval() on a partial doesn't work. (Nikolai + Pavlov) +Solution: Add VAR_PARTIAL support in Python. +Files: src/if_py_both.h, src/testdir/test_partial.vim + +Patch 7.4.1647 +Problem: Using freed memory after setqflist() and ":caddbuffer". (Dominique) +Solution: Set qf_ptr when adding the first item to the quickfix list. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1648 +Problem: Compiler has a problem copying a string into di_key[]. (Yegappan + Lakshmanan) +Solution: Add dictitem16_T. +Files: src/structs.h, src/eval.c + +Patch 7.4.1649 +Problem: The matchit plugin needs to be copied to be used. +Solution: Put the matchit plugin in an optional package. +Files: Filelist, runtime/macros/matchit.vim, runtime/macros/matchit.txt, + runtime/macros/README.txt, src/Makefile, + runtime/pack/dist/opt/matchit/plugin/matchit.vim, + runtime/pack/dist/opt/matchit/doc/matchit.txt, + runtime/pack/dist/opt/matchit/doc/tags, + runtime/doc/usr_05.txt, runtime/doc/usr_toc.txt + +Patch 7.4.1650 +Problem: Quickfix test fails. +Solution: Accept any number of matches. +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1651 +Problem: Some dead (MSDOS) code remains. +Solution: Remove the unused lines. (Ken Takata) +Files: src/misc1.c + +Patch 7.4.1652 +Problem: Old style test for fnamemodify(). +Solution: Turn it into a new style test. +Files: src/testdir/test105.in, src/testdir/test105.ok, + src/testdir/test_fnamemodify.vim, src/testdir/test_alot.vim, + src/testdir/Make_all.mak + +Patch 7.4.1653 (after 7.4.1649) +Problem: Users who loaded matchit.vim manually have to change their + startup. (Gary Johnson) +Solution: Add a file in the old location that loads the package. +Files: runtime/macros/matchit.vim, Filelist + +Patch 7.4.1654 +Problem: Crash when using expand('%:S') in a buffer without a name. +Solution: Don't set a NUL. (James McCoy, closes #714) +Files: src/eval.c, src/testdir/test_fnamemodify.vim + +Patch 7.4.1655 +Problem: remote_expr() hangs. (Ramel) +Solution: Check for messages in the waiting loop. +Files: src/if_xcmdsrv.c + +Patch 7.4.1656 +Problem: Crash when using partial with a timer. +Solution: Increment partial reference count. (Hirohito Higashi) +Files: src/eval.c, src/testdir/test_timers.vim + +Patch 7.4.1657 +Problem: On Unix in a terminal: channel messages are not handled right away. + (Jackson Alves de Aquino) +Solution: Break the loop for timers when something was received. +Files: src/os_unix.c + +Patch 7.4.1658 +Problem: A plugin does not know when VimEnter autocommands were already + triggered. +Solution: Add the v:vim_did_enter variable. +Files: src/eval.c, src/main.c, src/vim.h, src/testdir/test_autocmd.vim, + src/testdir/test_alot.vim, runtime/doc/autocmd.txt, + runtime/doc/eval.txt + +Patch 7.4.1659 (after 7.4.1657) +Problem: Compiler warning for argument type. (Manuel Ortega) +Solution: Remove "&". +Files: src/os_unix.c + +Patch 7.4.1660 +Problem: has('patch-7.4.1') doesn't work. +Solution: Fix off-by-one error. (Thinca) +Files: src/eval.c, src/testdir/test_expr.vim, src/testdir/test60.in, + src/testdir/test60.ok + +Patch 7.4.1661 +Problem: No test for special characters in channel eval command. +Solution: Testing sending and receiving text with special characters. +Files: src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 7.4.1662 +Problem: No test for an invalid Ex command on a channel. +Solution: Test handling an invalid command gracefully. Avoid getting an + error message, do write it to the channel log. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel.py + +Patch 7.4.1663 +Problem: In tests it's often useful to check if a pattern matches. +Solution: Add assert_match(). +Files: src/eval.c, src/testdir/test_assert.vim, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1664 +Problem: Crash in :cgetexpr. +Solution: Check for NULL pointer. (Dominique) Add a test. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1665 +Problem: Crash when calling job_start() with a NULL string. (Dominique) +Solution: Check for an invalid argument. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1666 +Problem: When reading JSON from a channel all readahead is used. +Solution: Use the fill function to reduce overhead. +Files: src/channel.c, src/json.c, src/structs.h + +Patch 7.4.1667 +Problem: Win32: waiting on a pipe with fixed sleep time. +Solution: Start with a short delay and increase it when looping. +Files: src/channel.c + +Patch 7.4.1668 +Problem: channel_get_all() does multiple allocations. +Solution: Compute the size and allocate once. +Files: src/channel.c + +Patch 7.4.1669 +Problem: When writing buffer lines to a pipe Vim may block. +Solution: Avoid blocking, write more lines later. +Files: src/channel.c, src/misc2.c, src/os_unix.c, src/structs.h, + src/vim.h, src/proto/channel.pro, src/testdir/test_channel.vim + +Patch 7.4.1670 +Problem: Completion doesn't work well for a variable containing "#". +Solution: Recognize the "#". (Watiko) +Files: src/eval.c + +Patch 7.4.1671 +Problem: When help exists in multiple languages, adding @ab while "ab" is + the default help language is unnecessary. +Solution: Leave out "@ab" when not needed. (Ken Takata) +Files: src/ex_getln.c + +Patch 7.4.1672 +Problem: The Dvorak support is a bit difficult to install. +Solution: Turn it into an optional package. +Files: runtime/macros/dvorak, runtime/macros/README.txt, + runtime/pack/dist/opt/dvorak/plugin/dvorak.vim, + runtime/pack/dist/opt/dvorak/dvorak/enable.vim, + runtime/pack/dist/opt/dvorak/dvorak/disable.vim + +Patch 7.4.1673 +Problem: The justify plugin has to be copied or sourced to be used. +Solution: Turn it into a package. +Files: runtime/macros/justify.vim, runtime/macros/README.txt, + runtime/pack/dist/opt/justify/plugin/justify.vim, Filelist + +Patch 7.4.1674 +Problem: The editexisting plugin has to be copied or sourced to be used. +Solution: Turn it into a package. +Files: runtime/macros/editexisting.vim, runtime/macros/README.txt, + runtime/pack/dist/opt/editexisting/plugin/editexisting.vim, + Filelist + +Patch 7.4.1675 +Problem: The swapmous plugin has to be copied or sourced to be used. +Solution: Turn it into the swapmouse package. +Files: runtime/macros/swapmous.vim, runtime/macros/README.txt, + runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim, Filelist + +Patch 7.4.1676 +Problem: The shellmenu plugin has to be copied or sourced to be used. +Solution: Turn it into a package. +Files: runtime/macros/shellmenu.vim, runtime/macros/README.txt, + runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim, Filelist + +Patch 7.4.1677 +Problem: A reference to the removed file_select plugin remains. +Solution: Remove it. +Files: runtime/macros/README.txt + +Patch 7.4.1678 +Problem: Warning for unused argument. +Solution: Add UNUSED. (Dominique Pelle) +Files: src/if_mzsch.c + +Patch 7.4.1679 +Problem: Coverity: copying value of v_lock without initializing it. +Solution: Init v_lock in rettv_list_alloc() and rettv_dict_alloc(). +Files: src/eval.c + +Patch 7.4.1680 +Problem: Coverity warns for not checking name length (false positive). +Solution: Only copy the characters we know are there. +Files: src/channel.c + +Patch 7.4.1681 +Problem: Coverity warns for fixed size buffer length (false positive). +Solution: Add a check for the name length. +Files: src/eval.c + +Patch 7.4.1682 +Problem: Coverity: no check for NULL. +Solution: Add check for invalid argument to assert_match(). +Files: src/eval.c + +Patch 7.4.1683 +Problem: Generated .bat files do not support --nofork. +Solution: Add check for --nofork. Also add "setlocal". (Kevin Cantú, + closes #659) +Files: src/dosinst.c + +Patch 7.4.1684 +Problem: README text is slightly outdated. +Solution: Mention the READMEdir directory. +Files: README.md, README.txt + +Patch 7.4.1685 +Problem: There is no easy way to get all the information about a match. +Solution: Add matchstrpos(). (Ozaki Kiichi) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, + src/testdir/test_alot.vim, src/testdir/test_matchstrpos.vim + +Patch 7.4.1686 +Problem: When running tests $HOME/.viminfo is written. (James McCoy) +Solution: Add 'nviminfo' to the 'viminfo' option. (closes #722) +Files: src/testdir/test_backspace_opt.vim, src/testdir/test_viminfo.vim, + src/testdir/runtest.vim. + +Patch 7.4.1687 +Problem: The channel close_cb option does not work. +Solution: Use jo_close_partial instead of jo_err_partial. (Damien) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1688 +Problem: MzScheme does not support partial. +Solution: Add minimal partial support. (Ken Takata) +Files: src/if_mzsch.c + +Patch 7.4.1689 +Problem: Ruby interface has inconsistent coding style. +Solution: Fix the coding style. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.1690 +Problem: Can't compile with the conceal feature but without multi-byte. +Solution: Adjust #ifdef. (Owen Leibman) +Files: src/eval.c, src/window.c + +Patch 7.4.1691 +Problem: When switching to a new buffer and an autocommand applies syntax + highlighting an ml_get error may occur. +Solution: Check "syn_buf" against the buffer in the window. (Alexander von + Buddenbrock, closes #676) +Files: src/syntax.c + +Patch 7.4.1692 +Problem: feedkeys('i', 'x') gets stuck, waits for a character to be typed. +Solution: Behave like ":normal". (Yasuhiro Matsumoto) +Files: src/eval.c, src/testdir/test_feedkeys.vim + +Patch 7.4.1693 +Problem: Building the Perl interface gives compiler warnings. +Solution: Remove a pragma. Add noreturn attributes. (Damien) +Files: src/if_perl.xs + +Patch 7.4.1694 +Problem: Win32 gvim doesn't work with "dvorakj" input method. +Solution: Wait for QS_ALLINPUT instead of QS_ALLEVENTS. (Yukihiro Nakadaira) +Files: src/gui_w32.c + +Patch 7.4.1695 +Problem: ":syn reset" clears the effect ":syn iskeyword". (James McCoy) +Solution: Remove clearing the syntax keywords. +Files: src/syntax.c + +Patch 7.4.1696 +Problem: When using :stopinsert in a silent mapping the "INSERT" message + isn't cleared. (Coacher) +Solution: Always clear the message. (Christian Brabandt, closes #718) +Files: src/ex_docmd.c, src/proto/screen.pro, src/screen.c + +Patch 7.4.1697 +Problem: Display problems when the 'ambiwidth' and 'emoji' options are not + set properly or the terminal doesn't behave as expected. +Solution: After drawing an ambiguous width character always position the + cursor. +Files: src/mbyte.c, src/screen.c, src/proto/mbyte.pro + +Patch 7.4.1698 +Problem: Two tests fail when running tests with MinGW. (Michael Soyka) +Solution: Convert test_getcwd.ok test_wordcount.ok to unix fileformat. +Files: src/testdir/Make_ming.mak + +Patch 7.4.1699 +Problem: :packadd does not work the same when used early or late. +Solution: Always load plugins matching "plugin/**/*.vim". +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 7.4.1700 +Problem: Equivalence classes are not properly tested. +Solution: Add tests for multi-byte and latin1. Fix an error. (Owen Leibman) +Files: src/regexp.c, src/testdir/Make_all.mak, + src/testdir/test_alot_latin.vim, src/testdir/test_alot_utf8.vim, + src/testdir/test_regexp_latin.vim, + src/testdir/test_regexp_utf8.vim + +Patch 7.4.1701 +Problem: Equivalence classes still tested in old style tests. +Solution: Remove the duplicate. +Files: src/testdir/test44.in, src/testdir/test44.ok, + src/testdir/test99.in, src/testdir/test99.ok + +Patch 7.4.1702 +Problem: Using freed memory when parsing 'printoptions' fails. +Solution: Save the old options and restore them in case of an error. + (Dominique) +Files: src/hardcopy.c, src/testdir/test_hardcopy.vim + +Patch 7.4.1703 +Problem: Can't assert for not equal and not matching. +Solution: Add assert_notmatch() and assert_notequal(). +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test_assert.vim + +Patch 7.4.1704 +Problem: Using freed memory with "wincmd p". (Dominique Pelle) +Solution: Also clear "prevwin" in other tab pages. +Files: src/window.c + +Patch 7.4.1705 +Problem: The 'guifont' option does not allow for a quality setting. +Solution: Add the "q" item, supported on MS-Windows. (Yasuhiro Matsumoto) +Files: runtime/doc/options.txt, src/gui_w32.c, src/os_mswin.c, + src/proto/os_mswin.pro + +Patch 7.4.1706 +Problem: Old style function declaration breaks build. +Solution: Remove __ARGS(). +Files: src/proto/os_mswin.pro + +Patch 7.4.1707 +Problem: Cannot use empty dictionary key, even though it can be useful. +Solution: Allow using an empty dictionary key. +Files: src/hashtab.c, src/eval.c, src/testdir/test_expr.vim + +Patch 7.4.1708 +Problem: New regexp engine does not work properly with EBCDIC. +Solution: Define equivalence class characters. (Owen Leibman) +Files: src/regexp_nfa.c + +Patch 7.4.1709 +Problem: Mistake in #ifdef. +Solution: Change PROOF_QUALITY to DRAFT_QUALITY. (Ken Takata) +Files: src/os_mswin.c + +Patch 7.4.1710 +Problem: Not all output of an external command is read. +Solution: Avoid timing out when the process has exited. (closes #681) +Files: src/os_unix.c + +Patch 7.4.1711 +Problem: When using try/catch in 'statusline' it is still considered an + error and the status line will be disabled. +Solution: Check did_emsg instead of called_emsg. (haya14busa, closes #729) +Files: src/screen.c, src/testdir/test_statusline.vim, + src/testdir/test_alot.vim + +Patch 7.4.1712 +Problem: For plugins in packages, plugin authors need to take care of all + dependencies. +Solution: When loading "start" packages and for :packloadall, first add all + directories to 'runtimepath' before sourcing plugins. +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 7.4.1713 +Problem: GTK GUI doesn't work on Wayland. +Solution: Specify that only the X11 backend is allowed. (Simon McVittie) +Files: src/gui_gtk_x11.c + +Patch 7.4.1714 +Problem: Non-GUI specific settings in the gvimrc_example file. +Solution: Move some settings to the vimrc_example file. Remove setting + 'hlsearch' again. (suggested by Hirohito Higashi) +Files: runtime/vimrc_example.vim, runtime/gvimrc_example.vim + +Patch 7.4.1715 +Problem: Double free when a partial is in a cycle with a list or dict. + (Nikolai Pavlov) +Solution: Do not free a nested list or dict used by the partial. +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1716 +Problem: 'autochdir' doesn't work for the first file. (Rob Hoelz) +Solution: Call DO_AUTOCHDIR after startup. (Christian Brabandt, closes #704) +Files: src/main.c + +Patch 7.4.1717 +Problem: Leaking memory when opening a channel fails. +Solution: Unreference partials in job options. +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1718 +Problem: Coverity: not using return value of set_ref_in_item(). +Solution: Use the return value. +Files: src/eval.c + +Patch 7.4.1719 +Problem: Leaking memory when there is a cycle involving a job and a + partial. +Solution: Add a copyID to job and channel. Set references in items referred + by them. Go through all jobs and channels to find unreferenced + items. Also, decrement reference counts when garbage collecting. +Files: src/eval.c, src/channel.c, src/netbeans.c, src/globals.h, + src/ops.c, src/regexp.c, src/tag.c, src/proto/channel.pro, + src/proto/eval.pro, src/testdir/test_partial.vim, src/structs.h + +Patch 7.4.1720 +Problem: Tests fail without the job feature. +Solution: Skip tests when the job feature is not present. +Files: src/testdir/test_partial.vim + +Patch 7.4.1721 +Problem: The vimtbar files are unused. +Solution: Remove them. (Ken Takata) +Files: src/vimtbar.dll, src/vimtbar.h, src/vimtbar.lib, Filelist + +Patch 7.4.1722 +Problem: Crash when calling garbagecollect() after starting a job. +Solution: Set the copyID on job and channel. (Hirohito Higashi, Ozaki + Kiichi) +Files: src/eval.c + +Patch 7.4.1723 +Problem: When using try/catch in 'tabline' it is still considered an + error and the tabline will be disabled. +Solution: Check did_emsg instead of called_emsg. (haya14busa, closes #746) +Files: src/screen.c, src/testdir/test_tabline.vim, + src/testdir/test_alot.vim + +Patch 7.4.1724 (after 7.4.1723) +Problem: Tabline test fails in GUI. +Solution: Remove 'e' from 'guioptions'. +Files: src/testdir/test_tabline.vim + +Patch 7.4.1725 +Problem: Compiler errors for non-ANSI compilers. +Solution: Remove // comment. Remove comma at end of enum. (Michael Jarvis) +Files: src/eval.c + +Patch 7.4.1726 +Problem: ANSI compiler complains about string length. +Solution: Split long string in two parts. (Michael Jarvis) +Files: src/ex_cmds.c + +Patch 7.4.1727 +Problem: Cannot detect a crash in tests when caused by garbagecollect(). +Solution: Add garbagecollect_for_testing(). Do not free a job if is still + useful. +Files: src/channel.c, src/eval.c, src/getchar.c, src/main.c, src/vim.h, + src/proto/eval.pro, src/testdir/runtest.vim, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1728 +Problem: The help for functions require a space after the "(". +Solution: Make CTRL-] on a function name ignore the arguments. (Hirohito + Higashi) +Files: src/ex_cmds.c, src/testdir/test_help_tagjump.vim, + runtime/doc/eval.txt + +Patch 7.4.1729 +Problem: The Perl interface cannot use 'print' operator for writing + directly in standard IO. +Solution: Add a minimal implementation of PerlIO Layer feature and try to + use it for STDOUT/STDERR. (Damien) +Files: src/if_perl.xs, src/testdir/test_perl.vim + +Patch 7.4.1730 +Problem: It is not easy to get a character out of a string. +Solution: Add strgetchar() and strcharpart(). +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 7.4.1731 +Problem: Python: turns partial into simple funcref. +Solution: Use partials like partials. (Nikolai Pavlov, closes #734) +Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, + src/if_python.c, src/if_python3.c, src/proto/eval.pro, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.1732 +Problem: Folds may close when using autocomplete. (Anmol Sethi) +Solution: Increment/decrement disable_fold. (Christian Brabandt, closes + #643) +Files: src/edit.c, src/fold.c, src/globals.h + +Patch 7.4.1733 +Problem: "make install" doesn't know about cross-compiling. (Christian + Neukirchen) +Solution: Add CROSS_COMPILING. (closes #740) +Files: src/configure.in, src/auto/configure, src/config.mk.in, + src/Makefile + +Patch 7.4.1734 (after 7.4.1730) +Problem: Test fails when not using utf-8. +Solution: Split test in regular and utf-8 part. +Files: src/testdir/test_expr.vim, src/testdir/test_expr_utf8.vim, + src/testdir/test_alot_utf8.vim + +Patch 7.4.1735 +Problem: It is not possible to only see part of the message history. It is + not possible to clear messages. +Solution: Add a count to ":messages" and a clear argument. (Yasuhiro + Matsumoto) +Files: runtime/doc/message.txt, src/ex_cmds.h, src/message.c, + src/testdir/test_messages.vim, src/testdir/test_alot.vim + +Patch 7.4.1736 (after 7.4.1731) +Problem: Unused variable. +Solution: Remove it. (Yasuhiro Matsumoto) +Files: src/if_py_both.h + +Patch 7.4.1737 +Problem: Argument marked as unused is used. +Solution: Remove UNUSED. +Files: src/message.c + +Patch 7.4.1738 +Problem: Count for ":messages" depends on number of lines. +Solution: Add ADDR_OTHER address type. +Files: src/ex_cmds.h + +Patch 7.4.1739 +Problem: Messages test fails on MS-Windows. +Solution: Adjust the asserts. Skip the "messages maintainer" line if not + showing all messages. +Files: src/message.c, src/testdir/test_messages.vim + +Patch 7.4.1740 +Problem: syn-cchar defined with matchadd() does not appear if there are no + other syntax definitions which matches buffer text. +Solution: Check for startcol. (Ozaki Kiichi, haya14busa, closes #757) +Files: src/screen.c, src/testdir/Make_all.mak, + src/testdir/test_alot_utf8.vim, src/testdir/test_match_conceal.in, + src/testdir/test_match_conceal.ok, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_undolevels.vim + +Patch 7.4.1741 +Problem: Not testing utf-8 characters. +Solution: Move the right asserts to the test_expr_utf8 test. +Files: src/testdir/test_expr.vim, src/testdir/test_expr_utf8.vim + +Patch 7.4.1742 +Problem: strgetchar() does not work correctly. +Solution: use mb_cptr2len(). Add a test. (Naruhiko Nishino) +Files: src/eval.c, src/testdir/test_expr_utf8.vim + +Patch 7.4.1743 +Problem: Clang warns for uninitialized variable. (Michael Jarvis) +Solution: Initialize it. +Files: src/if_py_both.h + +Patch 7.4.1744 +Problem: Python: Converting a sequence may leak memory. +Solution: Decrement a reference. (Nikolai Pavlov) +Files: src/if_py_both.h + +Patch 7.4.1745 +Problem: README file is not clear about where to get Vim. +Solution: Add links to github, releases and the Windows installer. + (Suggested by Christian Brabandt) +Files: README.md, README.txt + +Patch 7.4.1746 +Problem: Memory leak in Perl. +Solution: Decrement the reference count. Add a test. (Damien) +Files: src/if_perl.xs, src/testdir/test_perl.vim + +Patch 7.4.1747 +Problem: Coverity: missing check for NULL pointer. +Solution: Check for out of memory. +Files: src/if_py_both.h + +Patch 7.4.1748 +Problem: "gD" does not find match in first column of first line. (Gary + Johnson) +Solution: Accept match at the cursor. +Files: src/normal.c, src/testdir/test_goto.vim, src/testdir/test_alot.vim + +Patch 7.4.1749 +Problem: When using GTK 3.20 there are a few warnings. +Solution: Use new functions when available. (Kazunobu Kuriyama) +Files: src/gui_beval.c src/gui_gtk_x11.c + +Patch 7.4.1750 +Problem: When a buffer gets updated while in command line mode, the screen + may be messed up. +Solution: Postpone the redraw when the screen is scrolled. +Files: src/channel.c + +Patch 7.4.1751 +Problem: Crash when 'tagstack' is off. (Dominique Pelle) +Solution: Fix it. (Hirohito Higashi) +Files: src/tag.c, src/testdir/test_alot.vim, src/testdir/test_tagjump.vim + +Patch 7.4.1752 +Problem: When adding to the quickfix list the current position is reset. +Solution: Do not reset the position when not needed. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1753 +Problem: "noinsert" in 'completeopt' is sometimes ignored. +Solution: Set the variables when the 'completeopt' was set. (Ozaki Kiichi) +Files: src/edit.c, src/option.c, src/proto/edit.pro + +Patch 7.4.1754 +Problem: When 'filetype' was set and reloading a buffer which does not + cause it to be set, the syntax isn't loaded. (KillTheMule) +Solution: Remember whether the FileType event was fired and fire it if not. + (Anton Lindqvist, closes #747) +Files: src/fileio.c, src/testdir/test_syntax.vim + +Patch 7.4.1755 +Problem: When using getreg() on a non-existing register a NULL list is + returned. (Bjorn Linse) +Solution: Allocate an empty list. Add a test. +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 7.4.1756 +Problem: "dll" options are not expanded. +Solution: Expand environment variables. (Ozaki Kiichi) +Files: src/option.c, src/testdir/test_alot.vim, + src/testdir/test_expand_dllpath.vim + +Patch 7.4.1757 +Problem: When using complete() it may set 'modified' even though nothing + was inserted. +Solution: Use Down/Up instead of Next/Previous match. (Shougo Matsu, closes + #745) +Files: src/edit.c + +Patch 7.4.1758 +Problem: Triggering CursorHoldI when in CTRL-X mode causes problems. +Solution: Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to + feedkeys() (test with that didn't work though). +Files: src/edit.c, src/eval.c + +Patch 7.4.1759 +Problem: When using feedkeys() in a timer the inserted characters are not + used right away. +Solution: Break the wait loop when characters have been added to typebuf. + use this for testing CursorHoldI. +Files: src/gui.c, src/os_win32.c, src/os_unix.c, + src/testdir/test_autocmd.vim + +Patch 7.4.1760 (after 7.4.1759) +Problem: Compiler warning for unused variable. +Solution: Add #ifdef. (John Marriott) +Files: src/os_win32.c + +Patch 7.4.1761 +Problem: Coverity complains about ignoring return value. +Solution: Add "(void)" to get rid of the warning. +Files: src/eval.c + +Patch 7.4.1762 +Problem: Coverity: useless assignments. +Solution: Remove them. +Files: src/search.c + +Patch 7.4.1763 +Problem: Coverity: useless assignment. +Solution: Add #if 0. +Files: src/spell.c + +Patch 7.4.1764 +Problem: C++ style comment. (Ken Takata) +Solution: Finish the work started here: don't call perror() when stderr + isn't working. +Files: src/os_unix.c + +Patch 7.4.1765 +Problem: Undo options are not together in the options window. +Solution: Put them together. (Gary Johnson) +Files: runtime/optwin.vim + +Patch 7.4.1766 +Problem: Building instructions for MS-Windows are outdated. +Solution: Mention setting SDK_INCLUDE_DIR. (Ben Franklin, closes #771) Move + outdated instructions further down. +Files: src/INSTALLpc.txt + +Patch 7.4.1767 +Problem: When installing Vim on a GTK system the icon cache is not updated. +Solution: Update the GTK icon cache when possible. (Kazunobu Kuriyama) +Files: src/Makefile, src/configure.in, src/config.mk.in, + src/auto/configure + +Patch 7.4.1768 +Problem: Arguments of setqflist() are not checked properly. +Solution: Add better checks, add a test. (Nikolai Pavlov, Hirohito Higashi, + closes #661) +Files: src/eval.c, src/testdir/test_quickfix.vim + +Patch 7.4.1769 +Problem: No "closed", "errors" and "encoding" attribute on Python output. +Solution: Add attributes and more tests. (Roland Puntaier, closes #622) +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.1770 +Problem: Cannot use true color in the terminal. +Solution: Add the 'guicolors' option. (Nikolai Pavlov) +Files: runtime/doc/options.txt, runtime/doc/term.txt, + runtime/doc/various.txt, src/auto/configure, src/config.h.in, + src/configure.in, src/eval.c, src/globals.h, src/hardcopy.c, + src/option.c, src/option.h, src/proto/term.pro, src/screen.c, + src/structs.h, src/syntax.c, src/term.c, src/term.h, + src/version.c, src/vim.h + +Patch 7.4.1771 (after 7.4.1768) +Problem: Warning for unused variable. +Solution: Add #ifdef. (John Marriott) +Files: src/eval.c + +Patch 7.4.1772 (after 7.4.1767) +Problem: Installation fails when $GTK_UPDATE_ICON_CACHE is empty. +Solution: Add quotes. (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 7.4.1773 (after 7.4.1770) +Problem: Compiler warnings. (Dominique Pelle) +Solution: Add UNUSED. Add type cast. Avoid a buffer overflow. +Files: src/syntax.c, src/term.c + +Patch 7.4.1774 (after 7.4.1770) +Problem: Cterm true color feature has warnings. +Solution: Add type casts. +Files: src/screen.c, src/syntax.c, src/term.c + +Patch 7.4.1775 +Problem: The rgb.txt file is not installed. +Solution: Install the file. (Christian Brabandt) +Files: src/Makefile + +Patch 7.4.1776 +Problem: Using wrong buffer length. +Solution: use the right name. (Kazunobu Kuriyama) +Files: src/term.c + +Patch 7.4.1777 +Problem: Newly added features can escape the sandbox. +Solution: Add checks for restricted and secure. (Yasuhiro Matsumoto) +Files: src/eval.c + +Patch 7.4.1778 +Problem: When using the term truecolor feature, the t_8f and t_8b termcap + options are not set by default. +Solution: Move the values to before BT_EXTRA_KEYS. (Christian Brabandt) +Files: src/term.c + +Patch 7.4.1779 +Problem: Using negative index in strcharpart(). (Yegappan Lakshmanan) +Solution: Assume single byte when using a negative index. +Files: src/eval.c + +Patch 7.4.1780 +Problem: Warnings reported by cppcheck. +Solution: Fix the warnings. (Dominique Pelle) +Files: src/ex_cmds2.c, src/json.c, src/misc1.c, src/ops.c, + src/regexp_nfa.c + +Patch 7.4.1781 +Problem: synIDattr() does not respect 'guicolors'. +Solution: Change the condition for the mode. (Christian Brabandt) +Files: src/eval.c + +Patch 7.4.1782 +Problem: strcharpart() does not work properly with some multi-byte + characters. +Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi) +Files: src/eval.c, src/testdir/test_expr_utf8.vim + +Patch 7.4.1783 +Problem: The old regexp engine doesn't handle character classes correctly. + (Manuel Ortega) +Solution: Use regmbc() instead of regc(). Add a test. +Files: src/regexp.c, src/testdir/test_regexp_utf8.vim + +Patch 7.4.1784 +Problem: The termtruecolor feature is enabled differently from many other + features. +Solution: Enable the termtruecolor feature for the big build, not through + configure. +Files: src/configure.in, src/config.h.in, src/auto/configure, + src/feature.h + +Patch 7.4.1785 (after 7.4.1783) +Problem: Regexp test fails on windows. +Solution: set 'isprint' to the right value for testing. +Files: src/testdir/test_regexp_utf8.vim + +Patch 7.4.1786 +Problem: Compiled-in colors do not match rgb.txt. +Solution: Use the rgb.txt colors. (Kazunobu Kuriyama) +Files: src/term.c + +Patch 7.4.1787 +Problem: When a job ends the close callback is invoked before other + callbacks. On Windows the close callback is not called. +Solution: First invoke out/err callbacks before the close callback. + Make the close callback work on Windows. +Files: src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, src/testdir/test_channel_pipe.py + +Patch 7.4.1788 +Problem: NSIS script is missing packages. +Solution: Add the missing directories. (Ken Takata) +Files: nsis/gvim.nsi + +Patch 7.4.1789 +Problem: Cannot use ch_read() in the close callback. +Solution: Do not discard the channel if there is readahead. Do not discard + readahead if there is a close callback. +Files: src/eval.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 7.4.1790 +Problem: Leading white space in a job command matters. (Andrew Stewart) +Solution: Skip leading white space. +Files: src/os_unix.c + +Patch 7.4.1791 +Problem: Channel could be garbage collected too early. +Solution: Don't free a channel or remove it from a job when it is still + useful. +Files: src/channel.c + +Patch 7.4.1792 +Problem: Color name decoding is implemented several times. +Solution: Move it to term.c. (Christian Brabandt) +Files: src/gui_mac.c, src/gui_photon.c, src/gui_w32.c, + src/proto/term.pro, src/term.c + +Patch 7.4.1793 +Problem: Some character classes may differ between systems. On OS/X the + regexp test fails. +Solution: Make this less dependent on the system. (idea by Kazunobu Kuriyama) +Files: src/regexp.c, src/regexp_nfa.c + +Patch 7.4.1794 (after 7.4.1792) +Problem: Can't build on MS-Windows. +Solution: Add missing declaration. +Files: src/gui_w32.c + +Patch 7.4.1795 +Problem: Compiler warning for redefining RGB. (John Marriott) +Solution: Rename it to TORGB. +Files: src/term.c + +Patch 7.4.1796 (after 7.4.1795) +Problem: Colors are wrong on MS-Windows. (Christian Robinson) +Solution: Use existing RGB macro if it exists. (Ken Takata) +Files: src/term.c + +Patch 7.4.1797 +Problem: Warning from Windows 64 bit compiler. +Solution: Change int to size_t. (Mike Williams) +Files: src/term.c + +Patch 7.4.1798 +Problem: Still compiler warning for unused return value. (Charles Campbell) +Solution: Assign to ignoredp. +Files: src/term.c + +Patch 7.4.1799 +Problem: 'guicolors' is a confusing option name. +Solution: Use 'termguicolors' instead. (Hirohito Higashi, Ken Takata) +Files: runtime/doc/options.txt, runtime/doc/term.txt, + runtime/doc/various.txt, runtime/syntax/dircolors.vim, src/eval.c, + src/feature.h, src/globals.h, src/hardcopy.c, src/option.c, + src/option.h, src/proto/term.pro, src/screen.c, src/structs.h, + src/syntax.c, src/term.c, src/version.c, src/vim.h + +Patch 7.4.1800 (after 7.4.1799) +Problem: Unnecessary #ifdef. +Solution: Just use USE_24BIT. (Ken Takata) +Files: src/syntax.c + +Patch 7.4.1801 +Problem: Make uninstall leaves file behind. +Solution: Delete rgb.txt. (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 7.4.1802 +Problem: Quickfix doesn't handle long lines well, they are split. +Solution: Drop characters after a limit. (Anton Lindqvist) +Files: src/quickfix.c, src/testdir/test_quickfix.vim, + src/testdir/samples/quickfix.txt + +Patch 7.4.1803 +Problem: GTK3 doesn't handle menu separators properly. +Solution: Use gtk_separator_menu_item_new(). (Kazunobu Kuriyama) +Files: src/gui_gtk.c + +Patch 7.4.1804 +Problem: Can't use Vim as MANPAGER. +Solution: Add manpager.vim. (Enno Nagel, closes #491) +Files: runtime/doc/filetype.txt, runtime/plugin/manpager.vim + +Patch 7.4.1805 +Problem: Running tests in shadow dir fails. +Solution: Link the samples directory +Files: src/Makefile + +Patch 7.4.1806 +Problem: 'termguicolors' option missing from the options window. +Solution: Add the entry. +Files: runtime/optwin.vim + +Patch 7.4.1807 +Problem: Test_out_close_cb sometimes fails. +Solution: Always write DETACH to out, not err. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1808 (after 7.4.1806) +Problem: Using wrong feature name to check for 'termguicolors'. +Solution: Use the right feature name. (Ken Takata) +Files: runtime/optwin.vim + +Patch 7.4.1809 (after 7.4.1808) +Problem: Using wrong short option name for 'termguicolors'. +Solution: Use the option name. +Files: runtime/optwin.vim + +Patch 7.4.1810 +Problem: Sending DETACH after a channel was closed isn't useful. +Solution: Only add DETACH for a netbeans channel. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1811 +Problem: Netbeans channel gets garbage collected. +Solution: Set reference in nb_channel. +Files: src/eval.c, src/netbeans.c, src/proto/netbeans.pro + +Patch 7.4.1812 +Problem: Failure on startup with Athena and Motif. +Solution: Check for INVALCOLOR. (Kazunobu Kuriyama) +Files: src/syntax.c, src/vim.h + +Patch 7.4.1813 +Problem: Memory access error when running test_quickfix. +Solution: Allocate one more byte. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 7.4.1814 +Problem: A channel may be garbage collected while it's still being used by + a job. (James McCoy) +Solution: Mark the channel as used if the job is still used. Do the same + for channels that are still used. +Files: src/eval.c, src/channel.c, src/proto/channel.pro + +Patch 7.4.1815 +Problem: Compiler warnings for unused variables. (Ajit Thakkar) +Solution: Add a dummy initialization. (Yasuhiro Matsumoto) +Files: src/quickfix.c + +Patch 7.4.1816 +Problem: Looping over a null list throws an error. +Solution: Skip over the for loop. +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 7.4.1817 +Problem: The screen is not updated if a callback is invoked when closing a + channel. +Solution: Invoke redraw_after_callback(). +Files: src/channel.c + +Patch 7.4.1818 +Problem: Help completion adds @en to all matches except the first one. +Solution: Remove "break", go over all items. +Files: src/ex_getln.c + +Patch 7.4.1819 +Problem: Compiler warnings when sprintf() is a macro. +Solution: Don't interrupt sprintf() with an #ifdef. (Michael Jarvis, + closes #788) +Files: src/fileio.c, src/tag.c, src/term.c + +Patch 7.4.1820 +Problem: Removing language from help tags too often. +Solution: Only remove @en when not needed. (Hirohito Higashi) +Files: src/ex_getln.c, src/testdir/test_help_tagjump.vim + +Patch 7.4.1821 (after 7.4.1820) +Problem: Test fails on MS-Windows. +Solution: Sort the completion results. +Files: src/testdir/test_help_tagjump.vim + +Patch 7.4.1822 +Problem: Redirecting stdout of a channel to "null" doesn't work. (Nicola) +Solution: Correct the file descriptor number. +Files: src/os_unix.c + +Patch 7.4.1823 +Problem: Warning from 64 bit compiler. +Solution: Add type cast. (Mike Williams) +Files: src/quickfix.c + +Patch 7.4.1824 +Problem: When a job is no longer referenced and does not have an exit + callback the process may hang around in defunct state. (Nicola) +Solution: Call job_status() if the job is running and won't get freed + because it might still be useful. +Files: src/channel.c + +Patch 7.4.1825 +Problem: When job writes to buffer nothing is written. (Nicola) +Solution: Do not discard a channel before writing is done. +Files: src/channel.c + +Patch 7.4.1826 +Problem: Callbacks are invoked when it's not safe. (Andrew Stewart) +Solution: When a channel is to be closed don't invoke callbacks right away, + wait for a safe moment. +Files: src/structs.h, src/channel.c + +Patch 7.4.1827 +Problem: No error when invoking a callback when it's not safe. +Solution: Add an error message. Avoid the error when freeing a channel. +Files: src/structs.h, src/channel.c + +Patch 7.4.1828 +Problem: May try to access buffer that's already freed. +Solution: When freeing a buffer remove it from any channel. +Files: src/buffer.c, src/channel.c, src/proto/channel.pro + +Patch 7.4.1829 (after 7.4.1828) +Problem: No message on channel log when buffer was freed. +Solution: Log a message. +Files: src/channel.c + +Patch 7.4.1830 +Problem: non-antialiased misnamed. +Solution: Use NONANTIALIASED and NONANTIALIASED_QUALITY. (Kim Brouer, + closes #793) +Files: src/os_mswin.c, runtime/doc/options.txt + +Patch 7.4.1831 +Problem: When timer_stop() is called with a string there is no proper error + message. +Solution: Require getting a number. (Bjorn Linse) +Files: src/eval.c + +Patch 7.4.1832 +Problem: Memory leak in debug commands. +Solution: Free memory before overwriting the pointer. (hint by Justin Keyes) +Files: src/ex_cmds2.c + +Patch 7.4.1833 +Problem: Cannot use an Ex command for 'keywordprg'. +Solution: Accept an Ex command. (Nelo-Thara Wallus) +Files: src/normal.c, runtime/doc/options.txt + +Patch 7.4.1834 +Problem: Possible crash when conceal is active. +Solution: Check for the screen to be valid when redrawing a line. +Files: src/screen.c + +Patch 7.4.1835 +Problem: When splitting and closing a window the status height changes. +Solution: Compute the frame height correctly. (Hirohito Higashi) +Files: src/window.c, src/testdir/test_alot.vim, + src/testdir/test_window_cmd.vim + +Patch 7.4.1836 +Problem: When using a partial on a dictionary it always gets bound to that + dictionary. +Solution: Make a difference between binding a function to a dictionary + explicitly or automatically. +Files: src/structs.h, src/eval.c, src/testdir/test_partial.vim, + runtime/doc/eval.txt + +Patch 7.4.1837 +Problem: The BufUnload event is triggered twice, when :bunload is used with + `bufhidden` set to `unload` or `delete`. +Solution: Do not trigger the event when ml_mfp is NULL. (Hirohito Higashi) +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 7.4.1838 +Problem: Functions specifically for testing do not sort together. +Solution: Rename garbagecollect_for_testing() to test_garbagecollect_now(). + Add test_null_list(), test_null_dict(), etc. +Files: src/eval.c, src/testdir/test_expr.vim, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 7.4.1839 +Problem: Cannot get the items stored in a partial. +Solution: Support using get() on a partial. +Files: src/eval.c, src/testdir/test_partial.vim, runtime/doc/eval.txt + +Patch 7.4.1840 +Problem: When using packages an "after" directory cannot be used. +Solution: Add the "after" directory of the package to 'runtimepath' if it + exists. +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 7.4.1841 +Problem: The code to reallocate the buffer used for quickfix is repeated. +Solution: Move the code to a function. (Yegappan Lakshmanan, closes #831) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1842 (after 7.4.1839) +Problem: get() works for Partial but not for Funcref. +Solution: Accept Funcref. Also return the function itself. (Nikolai Pavlov) +Files: src/eval.c, src/testdir/test_partial.vim, runtime/doc/eval.txt + +Patch 7.4.1843 +Problem: Tests involving Python are flaky. +Solution: Set the pt_auto field. Add tests. (Nikolai Pavlov) +Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, + src/testdir/test86.ok, src/testdir/test87.in, + src/testdir/test87.ok + +Patch 7.4.1844 +Problem: Using old function name in comment. More functions should start + with test_. +Solution: Rename function in comment. (Hirohito Higashi) Rename + disable_char_avail_for_testing() to test_disable_char_avail(). + And alloc_fail() to test_alloc_fail(). +Files: src/eval.c, src/getchar.c, src/testdir/runtest.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_quickfix.vim, + runtime/doc/eval.txt + +Patch 7.4.1845 +Problem: Mentioning NetBeans when reading from channel. (Ramel Eshed) +Solution: Make the text more generic. +Files: src/channel.c + +Patch 7.4.1846 +Problem: Ubsan detects a multiplication overflow. +Solution: Don't use orig_mouse_time when it's zero. (Dominique Pelle) +Files: src/term.c + +Patch 7.4.1847 +Problem: Getting an item from a NULL dict crashes. Setting a register to a + NULL list crashes. (Nikolai Pavlov, issue #768) Comparing a NULL + dict with a NULL dict fails. +Solution: Properly check for NULL. +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 7.4.1848 +Problem: Can't build with Strawberry Perl 5.24. +Solution: Define S_SvREFCNT_dec() if needed. (Damien, Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.1849 +Problem: Still trying to read from channel that is going to be closed. + (Ramel Eshed) +Solution: Check if ch_to_be_closed is set. +Files: src/channel.c + +Patch 7.4.1850 +Problem: GUI freezes when using a job. (Shougo Matsu) +Solution: Unregister the channel when there is an input error. +Files: src/channel.c + +Patch 7.4.1851 +Problem: test_syn_attr fails when using the GUI. (Dominique Pelle) +Solution: Escape the font name properly. +Files: src/testdir/test_syn_attr.vim + +Patch 7.4.1852 +Problem: Unix: Cannot run all tests with the GUI. +Solution: Add the "testgui" target. +Files: src/Makefile, src/testdir/Makefile + +Patch 7.4.1853 +Problem: Crash when job and channel are in the same dict while using + partials. (Luc Hermitte) +Solution: Do not decrement the channel reference count too early. +Files: src/channel.c + +Patch 7.4.1854 +Problem: When setting 'termguicolors' the Ignore highlighting doesn't work. + (Charles Campbell) +Solution: Handle the color names "fg" and "bg" when the GUI isn't running + and no colors are specified, fall back to black and white. +Files: src/syntax.c + +Patch 7.4.1855 +Problem: Valgrind reports memory leak for job that is not freed. +Solution: Free all jobs on exit. Add test for failing job. +Files: src/channel.c, src/misc2.c, src/proto/channel.pro, + src/testdir/test_partial.vim + +Patch 7.4.1856 (after 7.4.1855) +Problem: failing job test fails on MS-Windows. +Solution: Expect "fail" status instead of "dead". +Files: src/testdir/test_partial.vim + +Patch 7.4.1857 +Problem: When a channel appends to a buffer that is 'nomodifiable' there is + an error but appending is done anyway. +Solution: Add the 'modifiable' option. Refuse to write to a 'nomodifiable' + when the value is 1. +Files: src/structs.h, src/channel.c, src/testdir/test_channel.vim, + runtime/doc/channel.txt + +Patch 7.4.1858 +Problem: When a channel writes to a buffer it doesn't find a buffer by the + short name but re-uses it anyway. +Solution: Find buffer also by the short name. +Files: src/channel.c, src/buffer.c, src/vim.h + +Patch 7.4.1859 +Problem: Cannot use a function reference for "exit_cb". +Solution: Use get_callback(). (Yegappan Lakshmanan) +Files: src/channel.c, src/structs.h + +Patch 7.4.1860 +Problem: Using a partial for timer_start() may cause a crash. +Solution: Set the copyID in timer objects. (Ozaki Kiichi) +Files: src/testdir/test_timers.vim, src/eval.c, src/ex_cmds2.c, + src/proto/ex_cmds2.pro + +Patch 7.4.1861 +Problem: Compiler warnings with 64 bit compiler. +Solution: Change int to size_t. (Mike Williams) +Files: src/ex_cmds2.c + +Patch 7.4.1862 +Problem: string() with repeated argument does not give a result usable by + eval(). +Solution: Refactor echo_string and tv2string(), moving the common part to + echo_string_core(). (Ken Takata) +Files: src/eval.c, src/testdir/test_viml.vim, src/testdir/test86.ok, + src/testdir/test87.ok + +Patch 7.4.1863 +Problem: Compiler warnings on Win64. +Solution: Adjust types, add type casts. (Ken Takata) +Files: src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/version.c + +Patch 7.4.1864 +Problem: Python: encoding error with Python 2. +Solution: Use "getcwdu" instead of "getcwd". (Ken Takata) +Files: src/if_py_both.h + +Patch 7.4.1865 +Problem: Memory leaks in test49. (Dominique Pelle) +Solution: Use NULL instead of an empty string. +Files: src/eval.c + +Patch 7.4.1866 +Problem: Invalid memory access when exiting with EXITFREE defined. + (Dominique Pelle) +Solution: Set "really_exiting" and skip error messages. +Files: src/misc2.c, src/eval.c + +Patch 7.4.1867 +Problem: Memory leak in test_matchstrpos. +Solution: Free the string before overwriting. (Yegappan Lakshmanan) +Files: src/eval.c + +Patch 7.4.1868 +Problem: Setting really_exiting causes memory leaks to be reported. +Solution: Add the in_free_all_mem flag. +Files: src/globals.h, src/misc2.c, src/eval.c + +Patch 7.4.1869 +Problem: Can't build with old version of Perl. +Solution: Define PERLIO_FUNCS_DECL. (Tom G. Christensen) +Files: src/if_perl.xs + +Patch 7.4.1870 (after 7.4.1863) +Problem: One more Win64 compiler warning. +Solution: Change declared argument type. (Ken Takata) +Files: src/if_mzsch.c + +Patch 7.4.1871 +Problem: Appending to the quickfix list while the quickfix window is open + is very slow. +Solution: Do not delete all the lines, only append the new ones. Avoid + using a window while updating the list. (closes #841) +Files: src/quickfix.c + +Patch 7.4.1872 +Problem: Still build problem with old version of Perl. +Solution: Also define SvREFCNT_inc_void_NN if needed. (Tom G. Christensen) +Files: src/if_perl.xs + +Patch 7.4.1873 +Problem: When a callback adds a timer the GUI doesn't use it until later. + (Ramel Eshed) +Solution: Return early if a callback adds a timer. +Files: src/ex_cmds2.c, src/gui_gtk_x11.c, src/gui_w32.c, src/gui_x11.c, + src/globals.h + +Patch 7.4.1874 +Problem: Unused variable in Win32 code. +Solution: Remove it. (Mike Williams) +Files: src/gui_w32.c + +Patch 7.4.1875 +Problem: Comparing functions and partials doesn't work well. +Solution: Add tests. (Nikolai Pavlov) Compare the dict and arguments in the + partial. (closes #813) +Files: src/eval.c, src/testdir/test_partial.vim + +Patch 7.4.1876 +Problem: Typing "k" at the hit-enter prompt has no effect. +Solution: Don't assume recursive use of the prompt if a character was typed. + (Hirohito Higashi) +Files: src/message.c + +Patch 7.4.1877 +Problem: No test for invoking "close_cb" when writing to a buffer. +Solution: Add using close_cb to a test case. +Files: src/testdir/test_channel.vim + +Patch 7.4.1878 +Problem: Whether a job has exited isn't detected until a character is + typed. After calling exit_cb the cursor is in the wrong place. +Solution: Don't wait forever for a character to be typed when there is a + pending job. Update the screen if needed after calling exit_cb. +Files: src/os_unix.c, src/channel.c, src/proto/channel.pro + +Patch 7.4.1879 (after 7.4.1877) +Problem: Channel test is flaky. +Solution: Wait for close_cb to be invoked. +Files: src/testdir/test_channel.vim + +Patch 7.4.1880 +Problem: MS-Windows console build defaults to not having +channel. +Solution: Include the channel feature if building with huge features. +Files: src/Make_mvc.mak + +Patch 7.4.1881 +Problem: Appending to a long quickfix list is slow. +Solution: Add qf_last. +Files: src/quickfix.c + +Patch 7.4.1882 +Problem: Check for line break at end of line wrong. (Dominique Pelle) +Solution: Correct the logic. +Files: src/quickfix.c + +Patch 7.4.1883 +Problem: Cppcheck found 2 incorrect printf formats. +Solution: Use %ld and %lx. (Dominique Pelle) +Files: src/VisVim/Commands.cpp, src/gui_mac.c + +Patch 7.4.1884 +Problem: Updating marks in a quickfix list is very slow when the list is + long. +Solution: Only update marks if the buffer has a quickfix entry. +Files: src/structs.h, src/quickfix.c + +Patch 7.4.1885 +Problem: MinGW console build defaults to not having +channel. +Solution: Include the channel feature if building with huge features. (Ken + Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.1886 +Problem: When waiting for a character is interrupted by receiving channel + data and the first character of a mapping was typed, the mapping + times out. (Ramel Eshed) +Solution: When dealing with channel data don't return from mch_inchar(). +Files: src/getchar.c, src/proto/getchar.pro, src/os_unix.c + +Patch 7.4.1887 +Problem: When receiving channel data 'updatetime' is not respected. +Solution: Recompute the waiting time after being interrupted. +Files: src/os_unix.c + +Patch 7.4.1888 +Problem: Wrong computation of remaining wait time in RealWaitForChar() +Solution: Remember the original waiting time. +Files: src/os_unix.c + +Patch 7.4.1889 +Problem: When umask is set to 0177 Vim can't create temp files. (Lcd) +Solution: Also correct umask when using mkdtemp(). +Files: src/fileio.c + +Patch 7.4.1890 +Problem: GUI: When channel data is received the cursor blinking is + interrupted. (Ramel Eshed) +Solution: Don't update the cursor when it is blinking. +Files: src/screen.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, + src/gui_mac.c, src/proto/gui_mac.pro, src/gui_photon.c, + src/proto/gui_photon.pro, src/gui_w32.c, src/proto/gui_w32.pro, + src/gui_x11.c, src/proto/gui_x11.pro + +Patch 7.4.1891 +Problem: Channel reading very long lines is slow. +Solution: Collapse multiple buffers until a NL is found. +Files: src/channel.c, src/netbeans.c, src/proto/channel.pro, + src/structs.h + +Patch 7.4.1892 +Problem: balloon eval only gets the window number, not the ID. +Solution: Add v:beval_winid. +Files: src/eval.c, src/gui_beval.c, src/vim.h + +Patch 7.4.1893 +Problem: Cannot easily get the window ID for a buffer. +Solution: Add bufwinid(). +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.4.1894 +Problem: Cannot get the window ID for a mouse click. +Solution: Add v:mouse_winid. +Files: src/eval.c, src/vim.h, runtime/doc/eval.txt + +Patch 7.4.1895 +Problem: Cannot use a window ID where a window number is expected. +Solution: Add LOWEST_WIN_ID, so that the window ID can be used where a + number is expected. +Files: src/window.c, src/eval.c, src/vim.h, runtime/doc/eval.txt, + src/testdir/test_window_id.vim + +Patch 7.4.1896 +Problem: Invoking mark_adjust() when adding a new line below the last line + is pointless. +Solution: Skip calling mark_adjust() when appending below the last line. +Files: src/misc1.c, src/ops.c + +Patch 7.4.1897 +Problem: Various typos, long lines and style mistakes. +Solution: Fix the typos, wrap lines, improve style. +Files: src/buffer.c, src/ex_docmd.c, src/getchar.c, src/option.c, + src/main.aap, src/testdir/README.txt, + src/testdir/test_reltime.vim, src/testdir/test_tagjump.vim, + src/INSTALL, src/config.aap.in, src/if_mzsch.c + +Patch 7.4.1898 +Problem: User commands don't support modifiers. +Solution: Add the <mods> item. (Yegappan Lakshmanan, closes #829) +Files: runtime/doc/map.txt, src/ex_docmd.c, src/testdir/Make_all.mak, + src/testdir/test_usercommands.vim + +Patch 7.4.1899 +Problem: GTK 3: cursor blinking doesn't work well. +Solution: Instead of gui_gtk_window_clear() use gui_mch_clear_block(). + (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.1900 +Problem: Using CTRL-] in the help on "{address}." doesn't work. +Solution: Recognize an item in {}. (Hirohito Higashi, closes #814) +Files: src/ex_cmds.c, src/testdir/test_help_tagjump.vim + +Patch 7.4.1901 +Problem: Win32: the "Disabled" menu items would appear enabled. +Solution: Use submenu_id if there is a parent. (Shane Harper, closes #834) +Files: src/gui_w32.c + +Patch 7.4.1902 +Problem: No test for collapsing buffers for a channel. Some text is lost. +Solution: Add a simple test. Set rq_buflen correctly. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py + +Patch 7.4.1903 +Problem: When writing viminfo merging current history with history in + viminfo may drop recent history entries. +Solution: Add new format for viminfo lines, use it for history entries. Use + a timestamp for ordering the entries. Add test_settime(). + Add the viminfo version. Does not do merging on timestamp yet. +Files: src/eval.c, src/ex_getln.c, src/ex_cmds.c, src/structs.h, + src/globals.h, src/proto/ex_cmds.pro, src/proto/ex_getln.pro, + src/testdir/test_viminfo.vim + +Patch 7.4.1904 (after 7.4.1903) +Problem: Build fails. +Solution: Add missing changes. +Files: src/vim.h + +Patch 7.4.1905 (after 7.4.1903) +Problem: Some compilers can't handle a double semicolon. +Solution: Remove one semicolon. +Files: src/ex_cmds.c + +Patch 7.4.1906 +Problem: Collapsing channel buffers and searching for NL does not work + properly. (Xavier de Gaye, Ramel Eshed) +Solution: Do not assume the buffer contains a NUL or not. Change NUL bytes + to NL to avoid the string is truncated. +Files: src/channel.c, src/netbeans.c, src/proto/channel.pro + +Patch 7.4.1907 +Problem: Warnings from 64 bit compiler. +Solution: Change type to size_t. (Mike Williams) +Files: src/ex_cmds.c + +Patch 7.4.1908 +Problem: Netbeans uses uninitialized pointer and freed memory. +Solution: Set "buffer" at the right place (hint by Ken Takata) +Files: src/netbeans.c + +Patch 7.4.1909 +Problem: Doubled semicolons. +Solution: Reduce to one. (Dominique Pelle) +Files: src/dosinst.c, src/fold.c, src/gui_gtk_x11.c, src/gui_w32.c, + src/main.c, src/misc2.c + +Patch 7.4.1910 +Problem: Tests using external command to delete directory. +Solution: Use delete(). +Files: src/testdir/test17.in, src/testdir/test73.in, + src/testdir/test_getcwd.in + +Patch 7.4.1911 +Problem: Recent history lines may be lost when exiting Vim. +Solution: Merge history using the timestamp. +Files: src/ex_getln.c, src/ex_cmds.c, src/vim.h, src/proto/ex_getln.pro, + src/testdir/test_viminfo.vim + +Patch 7.4.1912 +Problem: No test for using setqflist() on an older quickfix list. +Solution: Add a couple of tests. +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1913 +Problem: When ":doautocmd" is used modelines are used even when no + autocommands were executed. (Daniel Hahler) +Solution: Skip processing modelines. (closes #854) +Files: src/fileio.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/fileio.pro + +Patch 7.4.1914 +Problem: Executing autocommands while using the signal stack has a high + chance of crashing Vim. +Solution: Don't invoke autocommands when on the signal stack. +Files: src/os_unix.c + +Patch 7.4.1915 +Problem: The effect of the PopupMenu autocommand isn't directly visible. +Solution: Call gui_update_menus() before displaying the popup menu. (Shane + Harper, closes #855) +Files: src/menu.c + +Patch 7.4.1916 (after 7.4.1906) +Problem: No proper test for what 7.4.1906 fixes. +Solution: Add a test for reading many lines. +Files: src/testdir/test_channel.vim + +Patch 7.4.1917 +Problem: History lines read from viminfo in different encoding than when + writing are not converted. +Solution: Convert the history lines. +Files: src/ex_cmds.c, src/testdir/test_viminfo.vim + +Patch 7.4.1918 +Problem: Not enough testing for parsing viminfo lines. +Solution: Add test with viminfo lines in bad syntax. Fix memory leak. +Files: src/ex_cmds.c, src/ex_getln.c, src/testdir/test_viminfo.vim + +Patch 7.4.1919 +Problem: Register contents is not merged when writing viminfo. +Solution: Use timestamps for register contents. +Files: src/ops.c, src/ex_getln.c, src/ex_cmds.c, src/proto/ex_cmds.pro, + src/proto/ex_getln.pro, src/proto/ops.pro, src/vim.h + +Patch 7.4.1920 (after 7.4.1919) +Problem: Missing test changes. +Solution: Update viminfo test. +Files: src/testdir/test_viminfo.vim + +Patch 7.4.1921 (after 7.4.1919) +Problem: vim_time() not included when needed. +Solution: Adjust #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.1922 +Problem: Ruby 2.4.0 unifies Fixnum and Bignum into Integer. +Solution: Use rb_cInteger. (Weiyong Mao) +Files: src/if_ruby.c + +Patch 7.4.1923 +Problem: Command line editing is not tested much. +Solution: Add tests for expanding the file name and 'wildmenu'. +Files: src/testdir/test_cmdline.vim, src/testdir/Make_all.mak + +Patch 7.4.1924 +Problem: Missing "void" for functions without argument. +Solution: Add "void". (Hirohito Higashi) +Files: src/channel.c, src/edit.c, src/ex_cmds2.c, src/ops.c, src/screen.c + +Patch 7.4.1925 +Problem: Viminfo does not merge file marks properly. +Solution: Use a timestamp. Add the :clearjumps command. +Files: src/mark.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/mark.pro, + src/structs.h, src/vim.h, src/ex_cmds.h, + src/testdir/test_viminfo.vim + +Patch 7.4.1926 +Problem: Possible crash with many history items. +Solution: Avoid the index going past the last item. +Files: src/ex_getln.c + +Patch 7.4.1927 +Problem: Compiler warning for signed/unsigned. +Solution: Add type cast. +Files: src/if_mzsch.c + +Patch 7.4.1928 +Problem: Overwriting pointer argument. +Solution: Assign to what it points to. (Dominique Pelle) +Files: src/fileio.c + +Patch 7.4.1929 +Problem: Inconsistent indenting and weird name. +Solution: Fix indent, make name all upper case. (Ken Takata) +Files: src/if_ruby.c + +Patch 7.4.1930 +Problem: Can't build without +spell but with +quickfix. (Charles) +Solution: Add better #ifdef around ml_append_buf(). (closes #864) +Files: src/memline.c + +Patch 7.4.1931 +Problem: Using both old and new style file mark lines from viminfo. +Solution: Skip the old style lines if the viminfo file was written with a + Vim version that supports the new style. +Files: src/ex_cmds.c + +Patch 7.4.1932 +Problem: When writing viminfo the jumplist is not merged with the one in + the viminfo file. +Solution: Merge based on timestamp. +Files: src/mark.c, src/testdir/test_viminfo.vim + +Patch 7.4.1933 +Problem: Compiler warning about uninitialized variable. (Yegappan) +Solution: Give it a dummy value. +Files: src/ex_getln.c + +Patch 7.4.1934 +Problem: New style tests not executed with MinGW compiler. +Solution: Add new style test support. (Yegappan Lakshmanan) +Files: src/testdir/Make_ming.mak + +Patch 7.4.1935 +Problem: When using the GUI search/replace a second match right after the + replacement is skipped. +Solution: Add the SEARCH_START flag. (Mleddy) +Files: src/gui.c + +Patch 7.4.1936 +Problem: Off-by-one error in bounds check. (Coverity) +Solution: Check register number properly. +Files: src/ops.c + +Patch 7.4.1937 +Problem: No test for directory stack in quickfix. +Solution: Add a test. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1938 +Problem: When writing viminfo numbered marks were duplicated. +Solution: Check for duplicates between current numbered marks and the ones + read from viminfo. +Files: src/mark.c + +Patch 7.4.1939 +Problem: Memory access error when reading viminfo. (Dominique Pelle) +Solution: Correct index in jumplist when at the end. +Files: src/mark.c, src/testdir/test_viminfo.vim + +Patch 7.4.1940 +Problem: "gd" hangs in some situations. (Eric Biggers) +Solution: Remove the SEARCH_START flag when looping. Add a test. +Files: src/normal.c, src/testdir/test_goto.vim + +Patch 7.4.1941 +Problem: Not all quickfix tests are also done with the location lists. +Solution: Test more quickfix code. Use user commands instead of "exe". + (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1942 +Problem: Background is not drawn properly when 'termguicolors' is set. +Solution: Check cterm_normal_bg_color. (Jacob Niehus, closes #805) +Files: src/screen.c + +Patch 7.4.1943 +Problem: Coverity warns for unreachable code. +Solution: Remove the code that won't do anything. +Files: src/mark.c + +Patch 7.4.1944 +Problem: Win32: Cannot compile with XPM feature using VC2015 +Solution: Add XPM libraries compiled with VC2015, and enable to build + gvim.exe which supports XPM using VC2015. (Ken Takata) +Files: src/Make_mvc.mak, src/xpm/x64/lib-vc14/libXpm.lib, + src/xpm/x86/lib-vc14/libXpm.lib + +Patch 7.4.1945 +Problem: The Man plugin doesn't work that well. +Solution: Use "g:ft_man_open_mode" to be able open man pages in vert split + or separate tab. Set nomodifiable for buffer with man content. Add + a test. (Andrey Starodubtsev, closes #873) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim, + src/testdir/Make_all.mak + +Patch 7.4.1946 (after 7.4.1944) +Problem: File list does not include new XPM libraries. +Solution: Add the file list entries. +Files: Filelist + +Patch 7.4.1947 +Problem: Viminfo continuation line with wrong length isn't skipped. (Marius + Gedminas) +Solution: Skip a line when encountering an error, but not two lines. +Files: src/ex_cmds.c + +Patch 7.4.1948 +Problem: Using Ctrl-A with double-byte encoding may result in garbled text. +Solution: Skip to the start of a character. (Hirohito Higashi) +Files: src/ops.c + +Patch 7.4.1949 +Problem: Minor problems with the quickfix code. +Solution: Fix the problems. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1950 +Problem: Quickfix long lines test not executed for buffer. +Solution: Call the function to test long lines. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1951 +Problem: Ruby test is old style. +Solution: Convert to a new style test. (Ken Takata) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_ruby.in, + src/testdir/test_ruby.ok, src/testdir/test_ruby.vim + +Patch 7.4.1952 +Problem: Cscope interface does not support finding assignments. +Solution: Add the "a" command. (ppettina, closes #882) +Files: runtime/doc/if_cscop.txt, src/if_cscope.c + +Patch 7.4.1953 +Problem: Not all parts of the quickfix code are tested. +Solution: Add more tests. (Yegappan Lakshmanan) +Files: src/testdir/samples/quickfix.txt, + src/testdir/test_quickfix.vim + +Patch 7.4.1954 (after 7.4.1948) +Problem: No test for what 7.4.1948 fixes. +Solution: Add a test. (Hirohito Higashi, closes #880) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_increment_dbcs.vim + +Patch 7.4.1955 +Problem: Using 32-bit Perl with 64-bit time_t causes memory corruption. + (Christian Brabandt) +Solution: Use time_T instead of time_t for global variables. (Ken Takata) +Files: src/ex_cmds.c, src/globals.h, src/misc2.c, src/proto/ex_cmds.pro, + src/proto/misc2.pro, src/structs.h, src/vim.h + +Patch 7.4.1956 +Problem: When using CTRL-W f and pressing "q" at the ATTENTION dialog the + newly opened window is not closed. +Solution: Close the window and go back to the original one. (Norio Takagi, + Hirohito Higashi) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 7.4.1957 +Problem: Perl interface has obsolete workaround. +Solution: Remove the workaround added by 7.3.623. (Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.1958 +Problem: Perl interface preprocessor statements not nicely indented. +Solution: Improve the indenting. (Ken Takata) +Files: src/if_perl.xs + +Patch 7.4.1959 +Problem: Crash when running test_channel.vim on Windows. +Solution: Check for NULL pointer result from FormatMessage(). (Christian + Brabandt) +Files: src/channel.c + +Patch 7.4.1960 +Problem: Unicode standard 9 was released. +Solution: Update the character property tables. (Christian Brabandt) +Files: src/mbyte.c + +Patch 7.4.1961 +Problem: When 'insertmode' is reset while doing completion the popup menu + remains even though Vim is in Normal mode. +Solution: Ignore stop_insert_mode when the popup menu is visible. Don't set + stop_insert_mode when 'insertmode' was already off. (Christian + Brabandt) +Files: src/edit.c, src/option.c, src/Makefile, src/testdir/test_alot.vim, + src/testdir/test_popup.vim + +Patch 7.4.1962 +Problem: Two test files for increment/decrement. +Solution: Move the old style test into the new style test. (Hirohito + Higashi, closes #881) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/main.aap, + src/testdir/test35.in, src/testdir/test35.ok, + src/testdir/test_increment.vim + +Patch 7.4.1963 +Problem: Running Win32 Vim in mintty does not work. +Solution: Detect mintty and give a helpful error message. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/iscygpty.c, + src/iscygpty.h, src/main.c, Filelist + +Patch 7.4.1964 +Problem: The quickfix init function is too big. +Solution: Factor out parsing 'errorformat' to a separate function. (Yegappan + Lakshmanan) +Files: src/quickfix.c + +Patch 7.4.1965 +Problem: When using a job in raw mode to append to a buffer garbage + characters are added. +Solution: Do not replace the trailing NUL with a NL. (Ozaki Kiichi) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.1966 +Problem: Coverity reports a resource leak. +Solution: Close "fd" also when bailing out. +Files: src/quickfix.c + +Patch 7.4.1967 +Problem: Falling back from NFA to old regexp engine does not work properly. + (fritzophrenic) +Solution: Do not restore nfa_match. (Christian Brabandt, closes #867) +Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.4.1968 +Problem: Invalid memory access with "\<C-">. +Solution: Do not recognize this as a special character. (Dominique Pelle) +Files: src/misc2.c, src/testdir/test_expr.vim + +Patch 7.4.1969 +Problem: When the netbeans channel is closed consuming the buffer may cause + a crash. +Solution: Check for nb_channel not to be NULL. (Xavier de Gaye) +Files: src/netbeans.c + +Patch 7.4.1970 +Problem: Using ":insert" in an empty buffer sets the jump mark. (Ingo + Karkat) +Solution: Don't adjust marks when replacing the empty line in an empty + buffer. (closes #892) +Files: src/ex_cmds.c, src/testdir/test_jumps.vim, + src/testdir/test_alot.vim + +Patch 7.4.1971 +Problem: It is not easy to see unrecognized error lines below the current + error position. +Solution: Add ":clist +count". +Files: src/quickfix.c, runtime/doc/quickfix.txt + +Patch 7.4.1972 +Problem: On Solaris select() does not work as expected when there is + typeahead. +Solution: Add ICANON when sleeping. (Ozaki Kiichi) +Files: src/os_unix.c + +Patch 7.4.1973 +Problem: On MS-Windows the package directory may be added at the end + because of forward/backward slash differences. (Matthew + Desjardins) +Solution: Ignore slash differences. +Files: src/ex_cmds2.c + +Patch 7.4.1974 +Problem: GUI has a problem with some termcodes. +Solution: Handle negative numbers. (Kazunobu Kuriyama) +Files: src/gui.c + +Patch 7.4.1975 +Problem: On MS-Windows large files (> 2Gbyte) cause problems. +Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct + stat". Use 64 bit system functions if available. (Ken Takata) +Files: src/Makefile, src/buffer.c, src/diff.c, src/eval.c, src/ex_cmds.c, + src/ex_cmds2.c, src/fileio.c, src/gui.c, src/gui_at_fs.c, + src/if_cscope.c, src/main.c, src/memfile.c, src/memline.c, + src/misc1.c, src/misc2.c, src/netbeans.c, src/os_mswin.c, + src/os_win32.c, src/proto/fileio.pro, src/proto/memline.pro, + src/proto/os_mswin.pro, src/pty.c, src/quickfix.c, src/spell.c, + src/structs.h, src/tag.c, src/testdir/Make_all.mak, + src/testdir/test_largefile.vim, src/testdir/test_stat.vim, + src/undo.c, src/vim.h + +Patch 7.4.1976 +Problem: Number variables are not 64 bits while they could be. +Solution: Add the num64 feature. (Ken Takata, Yasuhiro Matsumoto) +Files: runtime/doc/eval.txt, runtime/doc/various.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/charset.c, + src/eval.c, src/ex_cmds.c, src/ex_getln.c, src/feature.h, + src/fileio.c, src/fold.c, src/json.c, src/message.c, src/misc1.c, + src/misc2.c, src/ops.c, src/option.c, src/proto/charset.pro, + src/proto/eval.pro, src/quickfix.c, src/structs.h, + src/testdir/test_viml.vim, src/version.c + +Patch 7.4.1977 +Problem: With 64 bit changes don't need three calls to sprintf(). +Solution: Simplify the code, use vim_snprintf(). (Ken Takata) +Files: src/fileio.c + +Patch 7.4.1978 (after 7.4.1975) +Problem: Large file test does not delete its output. +Solution: Delete the output. Check size properly when possible. (Ken Takata) +Files: src/testdir/test_largefile.vim + +Patch 7.4.1979 (after 7.4.1976) +Problem: Getting value of binary option is wrong. (Kent Sibilev) +Solution: Fix type cast. Add a test. +Files: src/option.c, src/testdir/test_expr.vim + +Patch 7.4.1980 +Problem: 'errorformat' is parsed for every call to ":caddexpr". Can't add + to two location lists asynchronously. +Solution: Keep the previously parsed data when appropriate. (mostly by + Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.1981 +Problem: No testing for Farsi code. +Solution: Add a minimal test. Clean up Farsi code. +Files: src/farsi.c, src/Makefile, src/charset.c, src/normal.c, + src/proto/main.pro, src/testdir/Make_all.mak, + src/testdir/test_farsi.vim + +Patch 7.4.1982 +Problem: Viminfo file contains duplicate change marks. +Solution: Drop duplicate marks. +Files: src/mark.c + +Patch 7.4.1983 +Problem: farsi.c and arabic.c are included in a strange way. +Solution: Build them like other files. +Files: src/main.c, src/farsi.c, src/arabic.c, src/proto.h, + src/proto/main.pro, src/proto/farsi.pro, src/proto/arabic.pro, + src/Makefile, src/Make_bc5.mak, src/Make_cyg_ming.mak, + src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak, + src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak, + Filelist + +Patch 7.4.1984 +Problem: Not all quickfix features are tested. +Solution: Add a few more tests. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 7.4.1985 (after 7.4.1983) +Problem: Missing changes in VMS build file. +Solution: Use the right file name. +Files: src/Make_vms.mms + +Patch 7.4.1986 +Problem: Compiler warns for loss of data. +Solution: Use size_t instead of int. (Christian Brabandt) +Files: src/ex_cmds2.c + +Patch 7.4.1987 +Problem: When copying unrecognized lines for viminfo, end up with useless + continuation lines. +Solution: Skip continuation lines. +Files: src/ex_cmds.c + +Patch 7.4.1988 +Problem: When updating viminfo with file marks there is no time order. +Solution: Remember the time when a buffer was last used, store marks for + the most recently used buffers. +Files: src/buffer.c, src/structs.h, src/mark.c, src/main.c, + src/ex_cmds.c, src/proto/mark.pro, src/testdir/test_viminfo.vim + +Patch 7.4.1989 +Problem: filter() and map() only accept a string argument. +Solution: Implement using a Funcref argument (Yasuhiro Matsumoto, Ken + Takata) +Files: runtime/doc/eval.txt, src/Makefile, src/eval.c, + src/testdir/test_alot.vim, src/testdir/test_filter_map.vim, + src/testdir/test_partial.vim + +Patch 7.4.1990 (after 7.4.1952) +Problem: Cscope items are not sorted. +Solution: Put the new "a" command first. (Ken Takata) +Files: src/if_cscope.c + +Patch 7.4.1991 +Problem: glob() does not add a symbolic link when there are no wildcards. +Solution: Remove the call to mch_getperm(). +Files: src/misc1.c + +Patch 7.4.1992 +Problem: Values for true and false can be confusing. +Solution: Update the documentation. Add a test. Make v:true evaluate to + TRUE for a non-zero-arg. +Files: runtime/doc/eval.txt, src/eval.c, src/Makefile, + src/testdir/test_true_false.vim, src/testdir/test_alot.vim + +Patch 7.4.1993 +Problem: Not all TRUE and FALSE arguments are tested. +Solution: Add a few more tests. +Files: src/testdir/test_true_false.vim + +Patch 7.4.1994 (after 7.4.1993) +Problem: True-false test fails. +Solution: Filter the dict to only keep the value that matters. +Files: src/testdir/test_true_false.vim + +Patch 7.4.1995 +Problem: GUI: cursor drawn in wrong place if a timer callback causes a + screen update. (David Samvelyan) +Solution: Also redraw the cursor when it's blinking and on. +Files: src/gui_gtk_x11.c, src/gui_mac.c, src/gui_photon.c, src/gui_w32.c, + src/gui_x11.c, src/screen.c, src/proto/gui_gtk_x11.pro, + src/proto/gui_mac.pro, src/proto/gui_photon.pro, + src/proto/gui_w32.pro, src/proto/gui_x11.pro + +Patch 7.4.1996 +Problem: Capturing the output of a command takes a few commands. +Solution: Add evalcmd(). +Files: src/eval.c, runtime/doc/eval.txt, src/testdir/test_alot.vim, + src/Makefile, src/testdir/test_evalcmd.vim + +Patch 7.4.1997 +Problem: Cannot easily scroll the quickfix window. +Solution: Add ":cbottom". +Files: src/ex_cmds.h, src/quickfix.c, src/proto/quickfix.pro, + src/ex_docmd.c, src/testdir/test_quickfix.vim, + runtime/doc/quickfix.txt + +Patch 7.4.1998 +Problem: When writing buffer lines to a job there is no NL to NUL + conversion. +Solution: Make it work symmetrical with writing lines from a job into a + buffer. +Files: src/channel.c, src/proto/channel.pro, src/netbeans.c + +Patch 7.4.1999 +Problem: evalcmd() doesn't work recursively. +Solution: Use redir_evalcmd instead of redir_vname. +Files: src/message.c, src/eval.c, src/globals.h, src/proto/eval.pro, + src/testdir/test_evalcmd.vim + +Patch 7.4.2000 (after 7.4.1999) +Problem: Evalcmd test fails. +Solution: Add missing piece. +Files: src/ex_docmd.c + +Patch 7.4.2001 (after 7.4.2000) +Problem: Tiny build fails. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 7.4.2002 +Problem: Crash when passing number to filter() or map(). +Solution: Convert to a string. (Ozaki Kiichi) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 7.4.2003 +Problem: Still cursor flickering when a callback updates the screen. (David + Samvelyan) +Solution: Put the cursor in the right position after updating the screen. +Files: src/screen.c + +Patch 7.4.2004 +Problem: GUI: cursor displayed in the wrong position. +Solution: Correct screen_cur_col and screen_cur_row. +Files: src/screen.c + +Patch 7.4.2005 +Problem: After using evalcmd() message output is in the wrong position. + (Christian Brabandt) +Solution: Reset msg_col. +Files: src/eval.c + +Patch 7.4.2006 +Problem: Crash when using tabnext in BufUnload autocmd. (Norio Takagi) +Solution: First check that the current buffer is the right one. (Hirohito + Higashi) +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 7.4.2007 +Problem: Running the tests leaves a viminfo file behind. +Solution: Make the viminfo option empty. +Files: src/testdir/runtest.vim + +Patch 7.4.2008 +Problem: evalcmd() has a confusing name. +Solution: Rename to execute(). Make silent optional. Support a list of + commands. +Files: src/eval.c, src/ex_docmd.c, src/message.c, src/globals.h, + src/proto/eval.pro, src/Makefile, src/testdir/test_evalcmd.vim, + src/testdir/test_execute_func.vim, src/testdir/test_alot.vim, + runtime/doc/eval.txt + +Patch 7.4.2009 (after 7.4.2008) +Problem: Messages test fails. +Solution: Don't set redir_execute before returning. Add missing version + number. +Files: src/eval.c + +Patch 7.4.2010 +Problem: There is a :cbottom command but no :lbottom command. +Solution: Add :lbottom. (Yegappan Lakshmanan) +Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.2011 +Problem: It is not easy to get a list of command arguments. +Solution: Add getcompletion(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/testdir/test_cmdline.vim + +Patch 7.4.2012 (after 7.4.2011) +Problem: Test for getcompletion() does not pass on all systems. +Solution: Only test what is supported. +Files: src/testdir/test_cmdline.vim + +Patch 7.4.2013 +Problem: Using "noinsert" in 'completeopt' breaks redo. +Solution: Set compl_curr_match. (Shougo Matsu, closes #874) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 7.4.2014 +Problem: Using "noinsert" in 'completeopt' does not insert match. +Solution: Set compl_enter_selects. (Shougo Matsu, closes #875) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 7.4.2015 +Problem: When a file gets a name when writing it 'acd' is not effective. + (Dan Church) +Solution: Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes + #777, closes #803) Add test_autochdir() to enable 'acd' before + "starting" is reset. +Files: src/ex_cmds.c, src/buffer.c, src/eval.c, src/globals.h, + src/Makefile, src/testdir/test_autochdir.vim, + src/testdir/Make_all.mak + +Patch 7.4.2016 +Problem: Warning from MinGW about _WIN32_WINNT redefined. (John Marriott) +Solution: First undefine it. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.2017 +Problem: When there are many errors adding them to the quickfix list takes + a long time. +Solution: Add BLN_NOOPT. Don't call buf_valid() in buf_copy_options(). + Remember the last file name used. When going through the buffer + list start from the end of the list. Only call buf_valid() when + autocommands were executed. +Files: src/buffer.c, src/option.c, src/quickfix.c, src/vim.h + +Patch 7.4.2018 +Problem: buf_valid() can be slow when there are many buffers. +Solution: Add bufref_valid(), only go through the buffer list when a buffer + was freed. +Files: src/structs.h, src/buffer.c, src/quickfix.c, src/proto/buffer.pro + +Patch 7.4.2019 +Problem: When ignoring case utf_fold() may consume a lot of time. +Solution: Optimize for ASCII. +Files: src/mbyte.c + +Patch 7.4.2020 +Problem: Can't build without +autocmd feature. +Solution: Adjust #ifdefs. +Files: src/buffer.c + +Patch 7.4.2021 +Problem: Still too many buf_valid() calls. +Solution: Make au_new_curbuf a bufref. Use bufref_valid() in more places. +Files: src/ex_cmds.c, src/buffer.c, src/globals.h + +Patch 7.4.2022 +Problem: Warnings from 64 bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/eval.c + +Patch 7.4.2023 +Problem: buflist_findname_stat() may find a dummy buffer. +Solution: Set the BF_DUMMY flag after loading a dummy buffer. Start + finding buffers from the end of the list. +Files: src/quickfix.c, src/buffer.c + +Patch 7.4.2024 +Problem: More buf_valid() calls can be optimized. +Solution: Use bufref_valid() instead. +Files: src/buffer.c, src/ex_cmds.c, src/structs.h, src/channel.c, + src/diff.c, src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/main.c, src/misc2.c, + src/netbeans.c, src/quickfix.c, src/spell.c, src/term.c, + src/if_py_both.h, src/window.c, src/proto/buffer.pro, + src/proto/window.pro + +Patch 7.4.2025 +Problem: The cursor blinking stops or is irregular when receiving date over + a channel and writing it in a buffer, and when updating the status + line. (Ramel Eshed) +Solution: Make it a bit better by flushing GUI output. Don't redraw the + cursor after updating the screen if the blink state is off. +Files: src/gui_gtk_x11.c, src/screen.c + +Patch 7.4.2026 +Problem: Reference counting for callbacks isn't right. +Solution: Add free_callback(). (Ken Takata) Fix reference count. +Files: src/channel.c, src/eval.c, src/ex_cmds2.c, src/proto/eval.pro + +Patch 7.4.2027 +Problem: Can't build with +eval but without +menu. +Solution: Add #ifdef. (John Marriott) +Files: src/eval.c + +Patch 7.4.2028 +Problem: cppcheck warns for using index before limits check. +Solution: Swap the expressions. (Dominique Pelle) +Files: src/mbyte.c + +Patch 7.4.2029 +Problem: printf() does not work with 64 bit numbers. +Solution: use the "L" length modifier. (Ken Takata) +Files: src/message.c, src/testdir/test_expr.vim + +Patch 7.4.2030 +Problem: ARCH must be set properly when using MinGW. +Solution: Detect the default value of ARCH from the current compiler. (Ken + Takata) +Files: src/Make_cyg_ming.mak + +Patch 7.4.2031 +Problem: The list_lbr_utf8 test fails if ~/.vim/syntax/c.vim sets + 'textwidth' to a non-zero value. (Oyvind A. Holm) +Solution: Add a setup.vim file that sets 'runtimepath' and $HOME to a safe + value. (partly by Christian Brabandt, closes #912) +Files: src/testdir/setup.vim, src/testdir/amiga.vim, src/testdir/dos.vim, + src/testdir/unix.vim, src/testdir/vms.vim, src/testdir/runtest.vim + +Patch 7.4.2032 (after 7.4.2030) +Problem: Build fails with 64 bit MinGW. (Axel Bender) +Solution: Handle dash vs. underscore. (Ken Takata, Hirohito Higashi) +Files: src/Make_cyg_ming.mak + +Patch 7.4.2033 +Problem: 'cscopequickfix' option does not accept new value "a". +Solution: Adjust list of command characters. (Ken Takata) +Files: src/option.h, src/Makefile, src/testdir/test_cscope.vim, + src/testdir/Make_all.mak + +Patch 7.4.2034 (after 7.4.2032) +Problem: Build fails with some version of MinGW. (illusorypan) +Solution: Recognize mingw32. (Ken Takata, closes #921) +Files: src/Make_cyg_ming.mak + +Patch 7.4.2035 +Problem: On Solaris with ZFS the ACL may get removed. +Solution: Always restore the ACL for Solaris ZFS. (Danek Duvall) +Files: src/fileio.c + +Patch 7.4.2036 +Problem: Looking up a buffer by number is slow if there are many. +Solution: Use a hashtab. +Files: src/structs.h, src/buffer.c + +Patch 7.4.2037 (after 7.4.2036) +Problem: Small build fails. +Solution: Adjust #ifdefs. +Files: src/hashtab.c + +Patch 7.4.2038 (after 7.4.2036) +Problem: Small build still fails. +Solution: Adjust more #ifdefs. +Files: src/globals.h, src/buffer.c + +Patch 7.4.2039 +Problem: The Netbeans integration is not tested. +Solution: Add a first Netbeans test. +Files: src/testdir/test_netbeans.vim, src/testdir/test_netbeans.py, + src/testdir/Make_all.mak, src/Makefile, + src/testdir/test_channel.vim, src/testdir/shared.vim + +Patch 7.4.2040 +Problem: New files missing from distribution. +Solution: Add new test scripts. +Files: Filelist + +Patch 7.4.2041 +Problem: Netbeans file authentication not tested. +Solution: Add a test. +Files: src/testdir/test_netbeans.vim + +Patch 7.4.2042 +Problem: GTK: display updating is not done properly and can be slow. +Solution: Use gdk_display_flush() instead of gdk_display_sync(). Don't call + gdk_window_process_updates(). (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 7.4.2043 +Problem: setbuvfar() causes a screen redraw. +Solution: Only use aucmd_prepbuf() for options. +Files: src/eval.c + +Patch 7.4.2044 +Problem: filter() and map() either require a string or defining a function. +Solution: Support lambda, a short way to define a function that evaluates an + expression. (Yasuhiro Matsumoto, Ken Takata) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_alot.vim, + src/Makefile, src/testdir/test_channel.vim, + src/testdir/test_lambda.vim + +Patch 7.4.2045 +Problem: Memory leak when using a function callback. +Solution: Don't save the function name when it's in the partial. +Files: src/channel.c + +Patch 7.4.2046 +Problem: The qf_init_ext() function is too big. +Solution: Refactor it. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 7.4.2047 +Problem: Compiler warning for initializing a struct. +Solution: Initialize in another way. (Anton Lindqvist) +Files: src/quickfix.c + +Patch 7.4.2048 +Problem: There is still code and help for unsupported systems. +Solution: Remove the code and text. (Hirohito Higashi) +Files: runtime/doc/eval.txt, runtime/lang/menu_sk_sk.vim, + runtime/menu.vim, runtime/optwin.vim, src/Make_bc5.mak, + src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, + src/main.c, src/memfile.c, src/memline.c, src/misc1.c, + src/misc2.c, src/option.c, src/option.h, src/os_unix.c, + src/os_unix.h, src/proto.h, src/term.c, src/undo.c, src/version.c, + src/vim.h, src/xxd/xxd.c + +Patch 7.4.2049 +Problem: There is no way to get a list of the error lists. +Solution: Add ":chistory" and ":lhistory". +Files: src/ex_cmds.h, src/quickfix.c, src/ex_docmd.c, src/message.c, + src/proto/quickfix.pro, src/testdir/test_quickfix.vim + +Patch 7.4.2050 +Problem: When using ":vimgrep" may end up with duplicate buffers. +Solution: When adding an error list entry pass the buffer number if possible. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.2051 +Problem: No proper testing of trunc_string(). +Solution: Add a unittest for message.c. +Files: src/Makefile, src/message.c, src/message_test.c, src/main.c, + src/proto/main.pro, src/structs.h + +Patch 7.4.2052 +Problem: Coverage report is messed up by the unittests. +Solution: Add a separate test target for script tests. Use that when + collecting coverage information. +Files: src/Makefile + +Patch 7.4.2053 +Problem: Can't run scripttests in the top directory. +Solution: Add targets to the top Makefile. +Files: Makefile + +Patch 7.4.2054 (after 7.4.2048) +Problem: Wrong part of #ifdef removed. +Solution: Use the right part. (Hirohito Higashi) +Files: src/os_unix.c + +Patch 7.4.2055 +Problem: eval.c is too big +Solution: Move Dictionary functions to dict.c +Files: src/eval.c, src/dict.c, src/vim.h, src/globals.h, + src/proto/eval.pro, src/proto/dict.pro, src/Makefile, Filelist + +Patch 7.4.2056 (after 7.4.2055) +Problem: Build fails. +Solution: Add missing changes. +Files: src/proto.h + +Patch 7.4.2057 +Problem: eval.c is too big. +Solution: Move List functions to list.c +Files: src/eval.c, src/dict.c, src/list.c, src/proto.h, src/Makefile, + src/globals.h, src/proto/eval.pro, src/proto/list.pro, Filelist + +Patch 7.4.2058 +Problem: eval.c is too big. +Solution: Move user functions to userfunc.c +Files: src/userfunc.c, src/eval.c, src/vim.h, src/globals.h, + src/structs.h, src/proto.h, src/Makefile, src/proto/eval.pro, + src/proto/userfunc.pro, Filelist + +Patch 7.4.2059 +Problem: Non-Unix builds fail. +Solution: Update Makefiles for new files. +Files: src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_dice.mak, + src/Make_ivc.mak, src/Make_manx.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_sas.mak + +Patch 7.4.2060 (after 7.4.2059) +Problem: Wrong file name. +Solution: Fix typo. +Files: src/Make_mvc.mak + +Patch 7.4.2061 +Problem: qf_init_ext() is too big. +Solution: Move code to qf_parse_line() (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.2062 +Problem: Using dummy variable to compute struct member offset. +Solution: Use offsetof(). +Files: src/globals.h, src/macros.h, src/vim.h, src/spell.c + +Patch 7.4.2063 +Problem: eval.c is still too big. +Solution: Split off internal functions to evalfunc.c. +Files: src/eval.c, src/evalfunc.c, src/list.c, src/proto.h, + src/globals.h, src/vim.h, src/proto/eval.pro, + src/proto/evalfunc.pro, src/proto/list.pro, src/Makefile, Filelist, + src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_dice.mak, + src/Make_ivc.mak, src/Make_manx.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_sas.mak + +Patch 7.4.2064 +Problem: Coverity warns for possible buffer overflow. +Solution: Use vim_strcat() instead of strcat(). +Files: src/quickfix.c + +Patch 7.4.2065 +Problem: Compiler warns for uninitialized variable. (John Marriott) +Solution: Set lnum to the right value. +Files: src/evalfunc.c + +Patch 7.4.2066 +Problem: getcompletion() not well tested. +Solution: Add more testing. +Files: src/testdir/test_cmdline.vim + +Patch 7.4.2067 +Problem: Compiler warning for char/char_u conversion. (Tony Mechelynck) + Inefficient code. +Solution: Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast. +Files: src/quickfix.c + +Patch 7.4.2068 +Problem: Not all arguments of trunc_string() are tested. Memory access + error when running the message tests. +Solution: Add another test case. (Yegappan Lakshmanan) Make it easy to run + unittests with valgrind. Fix the access error. +Files: src/message.c, src/message_test.c, src/Makefile + +Patch 7.4.2069 +Problem: spell.c is too big. +Solution: Split it in spell file handling and spell checking. +Files: src/spell.c, src/spellfile.c, src/spell.h, src/Makefile, + src/proto/spell.pro, src/proto/spellfile.pro, src/proto.h + Filelist, src/Make_bc5.mak, src/Make_cyg_ming.mak, + src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak, + src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak + +Patch 7.4.2070 (after 7.4.2069) +Problem: Missing change to include file. +Solution: Include the spell header file. +Files: src/vim.h + +Patch 7.4.2071 +Problem: The return value of type() is difficult to use. +Solution: Define v:t_ constants. (Ken Takata) +Files: runtime/doc/eval.txt, src/eval.c, src/evalfunc.c, + src/testdir/test_channel.vim, src/testdir/test_viml.vim, src/vim.h + +Patch 7.4.2072 +Problem: substitute() does not support a Funcref argument. +Solution: Support a Funcref like it supports a string starting with "\=". +Files: src/evalfunc.c, src/regexp.c, src/eval.c, src/proto/eval.pro, + src/proto/regexp.pro, src/testdir/test_expr.vim + +Patch 7.4.2073 +Problem: rgb.txt is read for every color name. +Solution: Load rgb.txt once. (Christian Brabandt) Add a test. +Files: runtime/rgb.txt, src/term.c, src/testdir/test_syn_attr.vim + +Patch 7.4.2074 +Problem: One more place using a dummy variable. +Solution: Use offsetof(). (Ken Takata) +Files: src/userfunc.c + +Patch 7.4.2075 +Problem: No autocommand event to initialize a window or tab page. +Solution: Add WinNew and TabNew events. (partly by Felipe Morales) +Files: src/fileio.c, src/window.c, src/vim.h, + src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt + +Patch 7.4.2076 +Problem: Syntax error when dict has '>' key. +Solution: Check for endchar. (Ken Takata) +Files: src/userfunc.c, src/testdir/test_lambda.vim + +Patch 7.4.2077 +Problem: Cannot update 'tabline' when a tab was closed. +Solution: Add the TabClosed autocmd event. (partly by Felipe Morales) +Files: src/fileio.c, src/window.c, src/vim.h, + src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt + +Patch 7.4.2078 +Problem: Running checks in po directory fails. +Solution: Add colors used in syntax.c to the builtin color table. +Files: src/term.c + +Patch 7.4.2079 +Problem: Netbeans test fails on non-Unix systems. +Solution: Only do the permission check on Unix systems. +Files: src/testdir/test_netbeans.vim + +Patch 7.4.2080 +Problem: When using PERROR() on some systems assert_fails() does not see + the error. +Solution: Make PERROR() always report the error. +Files: src/vim.h, src/message.c, src/proto/message.pro + +Patch 7.4.2081 +Problem: Line numbers in the error list are not always adjusted. +Solution: Set b_has_qf_entry properly. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/structs.h, src/testdir/test_quickfix.vim + +Patch 7.4.2082 +Problem: Not much test coverage for digraphs. +Solution: Add a new style digraph test. (Christian Brabandt) +Files: src/Makefile, src/testdir/test_alot.vim, + src/testdir/test_digraph.vim + +Patch 7.4.2083 +Problem: Coverity complains about not restoring a value. +Solution: Restore the value, although it's not really needed. Change return + to jump to cleanup, might leak memory. +Files: src/userfunc.c + +Patch 7.4.2084 +Problem: New digraph test makes testing hang. +Solution: Don't set "nocp". +Files: src/testdir/test_digraph.vim + +Patch 7.4.2085 +Problem: Digraph tests fails on some systems. +Solution: Run it separately and set 'encoding' early. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_digraph.vim + +Patch 7.4.2086 +Problem: Using the system default encoding makes tests unpredictable. +Solution: Always use utf-8 or latin1 in the new style tests. Remove setting + encoding and scriptencoding where it is not needed. +Files: src/testdir/runtest.vim, src/testdir/test_channel.vim, + src/testdir/test_digraph.vim, src/testdir/test_expand_dllpath.vim, + src/testdir/test_expr_utf8.vim, src/testdir/test_json.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_regexp_utf8.vim, src/testdir/test_visual.vim, + src/testdir/test_alot_utf8.vim, + +Patch 7.4.2087 +Problem: Digraph code test coverage is still low. +Solution: Add more tests. (Christian Brabandt) +Files: src/testdir/test_digraph.vim + +Patch 7.4.2088 (after 7.4.2087) +Problem: Keymap test fails with normal features. +Solution: Bail out if the keymap feature is not supported. +Files: src/testdir/test_digraph.vim + +Patch 7.4.2089 +Problem: Color handling of X11 GUIs is too complicated. +Solution: Simplify the code. Use RGBA where appropriate. (Kazunobu + Kuriyama) +Files: src/gui.h, src/gui_beval.c, src/gui_gtk_x11.c, src/netbeans.c + +Patch 7.4.2090 +Problem: Using submatch() in a lambda passed to substitute() is verbose. +Solution: Use a static list and pass it as an optional argument to the + function. Fix memory leak. +Files: src/structs.h, src/list.c, src/userfunc.c, src/channel.c, + src/eval.c, src/evalfunc.c, src/ex_cmds2.c, src/regexp.c, + src/proto/list.pro, src/proto/userfunc.pro, + src/testdir/test_expr.vim, runtime/doc/eval.txt + +Patch 7.4.2091 +Problem: Coverity reports a resource leak when out of memory. +Solution: Close the file before returning. +Files: src/term.c + +Patch 7.4.2092 +Problem: GTK 3 build fails with older GTK version. +Solution: Check the pango version. (Kazunobu Kuriyama) +Files: src/gui_beval.c + +Patch 7.4.2093 +Problem: Netbeans test fails once in a while. Leaving log file behind. +Solution: Add it to the list of flaky tests. Disable logfile. +Files: src/testdir/runtest.vim, src/testdir/test_channel.vim + +Patch 7.4.2094 +Problem: The color allocation in X11 is overly complicated. +Solution: Remove find_closest_color(), XAllocColor() already does this. + (Kazunobu Kuriyama) +Files: src/gui_x11.c + +Patch 7.4.2095 +Problem: Man test fails when run with the GUI. +Solution: Adjust for different behavior of GUI. Add assert_inrange(). +Files: src/eval.c, src/evalfunc.c, src/proto/eval.pro, + src/testdir/test_assert.vim, src/testdir/test_man.vim, + runtime/doc/eval.txt + +Patch 7.4.2096 +Problem: Lambda functions show up with completion. +Solution: Don't show lambda functions. (Ken Takata) +Files: src/userfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2097 +Problem: Warning from 64 bit compiler. +Solution: use size_t instead of int. (Mike Williams) +Files: src/message.c + +Patch 7.4.2098 +Problem: Text object tests are old style. +Solution: Turn them into new style tests. (James McCoy, closes #941) +Files: src/testdir/Make_all.mak, src/testdir/test_textobjects.in, + src/testdir/test_textobjects.ok, src/testdir/test_textobjects.vim, + src/Makefile + +Patch 7.4.2099 +Problem: When a keymap is active only "(lang)" is displayed. (Ilya + Dogolazky) +Solution: Show the keymap name. (Dmitri Vereshchagin, closes #933) +Files: src/buffer.c, src/proto/screen.pro, src/screen.c + +Patch 7.4.2100 +Problem: "cgn" and "dgn" do not work correctly with a single character + match and the replacement includes the searched pattern. (John + Beckett) +Solution: If the match is found in the wrong column try in the next column. + Turn the test into new style. (Christian Brabandt) +Files: src/search.c, src/testdir/Make_all.mak, src/Makefile, + src/testdir/test53.in, src/testdir/test53.ok, + src/testdir/test_gn.vim + +Patch 7.4.2101 +Problem: Looping over windows, buffers and tab pages is inconsistent. +Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan) +Files: src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/fileio.c, + src/globals.h, src/gui.c, src/gui_mac.c, src/if_lua.c, + src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/if_tcl.c, + src/main.c, src/mark.c, src/memfile.c, src/memline.c, src/misc1.c, + src/move.c, src/netbeans.c, src/normal.c, src/option.c, + src/quickfix.c, src/screen.c, src/spell.c, src/term.c, + src/window.c, src/workshop.c + +Patch 7.4.2102 (after 7.4.2101) +Problem: Tiny build with GUI fails. +Solution: Revert one FOR_ALL_ change. +Files: src/gui.c + +Patch 7.4.2103 +Problem: Can't have "augroup END" right after ":au!". +Solution: Check for the bar character before the command argument. +Files: src/fileio.c, src/testdir/test_autocmd.vim, + runtime/doc/autocmd.txt + +Patch 7.4.2104 +Problem: Code duplication when unreferencing a function. +Solution: De-duplicate. +Files: src/userfunc.c + +Patch 7.4.2105 +Problem: Configure reports default features to be "normal" while it is + "huge". +Solution: Change the default text. Build with newer autoconf. +Files: src/configure.in, src/auto/configure + +Patch 7.4.2106 +Problem: Clang warns about missing field in initializer. +Solution: Define COMMA and use it. (Kazunobu Kuriyama) +Files: src/ex_cmds.c, src/globals.h, src/vim.h + +Patch 7.4.2107 (after 7.4.2106) +Problem: Misplaced equal sign. +Solution: Remove it. +Files: src/globals.h + +Patch 7.4.2108 +Problem: Netbeans test is flaky. +Solution: Wait for the cursor to be positioned. +Files: src/testdir/test_netbeans.vim + +Patch 7.4.2109 +Problem: Setting 'display' to "lastline" is a drastic change, while + omitting it results in lots of "@" lines. +Solution: Add "truncate" to show "@@@" for a truncated line. +Files: src/option.h, src/screen.c, runtime/doc/options.txt + +Patch 7.4.2110 +Problem: When there is an CmdUndefined autocmd then the error for a missing + command is E464 instead of E492. (Manuel Ortega) +Solution: Don't let the pointer be NULL. +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 7.4.2111 +Problem: Defaults are very conservative. +Solution: Move settings from vimrc_example.vim to defaults.vim. Load + defaults.vim if no .vimrc was found. +Files: src/main.c, src/version.c, src/os_amiga.h, src/os_dos.h, + src/os_mac.h, src/os_unix.h, src/feature.h, src/Makefile, + runtime/vimrc_example.vim, runtime/defaults.vim, + runtime/evim.vim, Filelist, runtime/doc/starting.txt + +Patch 7.4.2112 +Problem: getcompletion(.., 'dir') returns a match with trailing "*" when + there are no matches. (Chdiza) +Solution: Return an empty list when there are no matches. Add a trailing + slash to directories. (Yegappan Lakshmanan) Add tests for no + matches. (closes #947) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2113 +Problem: Test for undo is flaky. +Solution: Turn it into a new style test. Use test_settime() to avoid + flakyness. +Files: src/Makefile, src/undo.c, src/testdir/test61.in, + src/testdir/test61.ok, src/testdir/test_undo.vim, + src/testdir/test_undolevels.vim, src/testdir/Make_all.mak, + src/testdir/test_alot.vim + +Patch 7.4.2114 +Problem: Tiny build fails. +Solution: Always include vim_time(). +Files: src/ex_cmds.c + +Patch 7.4.2115 +Problem: Loading defaults.vim with -C argument. +Solution: Don't load the defaults script with -C argument. Test sourcing + the defaults script. Set 'display' to "truncate". +Files: src/main.c, src/Makefile, runtime/defaults.vim, + src/testdir/test_startup.vim, src/testdir/Make_all.mak + +Patch 7.4.2116 +Problem: The default vimrc for Windows is very conservative. +Solution: Use the defaults.vim in the Windows installer. +Files: src/dosinst.c + +Patch 7.4.2117 +Problem: Deleting an augroup that still has autocmds does not give a + warning. The next defined augroup takes its place. +Solution: Give a warning and prevent the index being used for another group + name. +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 7.4.2118 +Problem: Mac: can't build with tiny features. +Solution: Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama) +Files: src/vim.h + +Patch 7.4.2119 +Problem: Closures are not supported. +Solution: Capture variables in lambdas from the outer scope. (Yasuhiro + Matsumoto, Ken Takata) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/globals.h, + src/proto/eval.pro, src/proto/userfunc.pro, + src/testdir/test_lambda.vim, src/userfunc.c + +Patch 7.4.2120 +Problem: User defined functions can't be a closure. +Solution: Add the "closure" argument. Allow using :unlet on a bound + variable. (Yasuhiro Matsumoto, Ken Takata) +Files: runtime/doc/eval.txt, src/testdir/test_lambda.vim, src/userfunc.c, + src/eval.c src/proto/userfunc.pro + +Patch 7.4.2121 +Problem: No easy way to check if lambda and closure are supported. +Solution: Add the +lambda feature. +Files: src/evalfunc.c, src/version.c, src/testdir/test_lambda.vim + +Patch 7.4.2122 (after 7.4.2118) +Problem: Mac: don't get +clipboard in huge build. +Solution: Move #define down below including feature.h +Files: src/vim.h + +Patch 7.4.2123 +Problem: No new style test for diff mode. +Solution: Add a test. Check that folds are in sync. +Files: src/Makefile, src/testdir/test_diffmode.vim, + src/testdir/Make_all.mak, src/testdir/test47.in, + src/testdir/test47.ok + +Patch 7.4.2124 +Problem: diffmode test leaves files behind, breaking another test. +Solution: Delete the files. +Files: src/testdir/test_diffmode.vim + +Patch 7.4.2125 +Problem: Compiler warning for loss of data. +Solution: Add a type cast. (Christian Brabandt) +Files: src/message.c + +Patch 7.4.2126 +Problem: No tests for :diffget and :diffput +Solution: Add tests. +Files: src/testdir/test_diffmode.vim + +Patch 7.4.2127 +Problem: The short form of ":noswapfile" is ":noswap" instead of ":nos". + (Kent Sibilev) +Solution: Only require three characters. Add a test for the short forms. +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 7.4.2128 +Problem: Memory leak when saving for undo fails. +Solution: Free allocated memory. (Hirohito Higashi) +Files: src/ex_cmds.c + +Patch 7.4.2129 +Problem: Memory leak when using timer_start(). (Dominique Pelle) +Solution: Don't copy the callback when using a partial. +Files: src/evalfunc.c + +Patch 7.4.2130 +Problem: Pending timers cause false memory leak reports. +Solution: Free all timers on exit. +Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/misc2.c + +Patch 7.4.2131 +Problem: More memory leaks when using partial, e.g. for "exit-cb". +Solution: Don't copy the callback when using a partial. +Files: src/channel.c + +Patch 7.4.2132 +Problem: test_partial has memory leaks reported. +Solution: Add a note about why this happens. +Files: src/testdir/test_partial.vim + +Patch 7.4.2133 (after 7.4.2128) +Problem: Can't build with tiny features. +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.2134 +Problem: No error for using function() badly. +Solution: Check for passing wrong function name. (Ken Takata) +Files: src/eval.c, src/evalfunc.c, src/proto/userfunc.pro, + src/testdir/test_expr.vim, src/userfunc.c, src/vim.h + +Patch 7.4.2135 +Problem: Various tiny issues. +Solution: Update comments, white space, etc. +Files: src/diff.c, src/digraph.c, src/testdir/test80.in, + src/testdir/test_channel.vim, src/testdir/Makefile, + runtime/menu.vim, src/INSTALLpc.txt, src/xpm/README.txt + +Patch 7.4.2136 +Problem: Closure function fails. +Solution: Don't reset uf_scoped when it points to another funccal. +Files: src/userfunc.c, src/testdir/test_lambda.vim + +Patch 7.4.2137 +Problem: Using function() with a name will find another function when it is + redefined. +Solution: Add funcref(). Refer to lambda using a partial. Fix several + reference counting issues. +Files: src/vim.h, src/structs.h, src/userfunc.c, src/eval.c, + src/evalfunc.c, src/channel.c, src/proto/eval.pro, + src/proto/userfunc.pro, src/if_mzsch.c, src/regexp.c, src/misc2.c, + src/if_py_both.h, src/testdir/test_expr.vim, runtime/doc/eval.txt + +Patch 7.4.2138 +Problem: Test 86 and 87 fail. +Solution: Call func_ref() also for regular functions. +Files: src/if_py_both.h + +Patch 7.4.2139 +Problem: :delfunction causes illegal memory access. +Solution: Correct logic when deciding to free a function. +Files: src/userfunc.c, src/testdir/test_lambda.vim + +Patch 7.4.2140 +Problem: Tiny build fails. +Solution: Add dummy typedefs. +Files: src/structs.h + +Patch 7.4.2141 +Problem: Coverity reports bogus NULL check. +Solution: When checking for a variable in the funccal scope don't pass the + varname. +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c + +Patch 7.4.2142 +Problem: Leaking memory when redefining a function. +Solution: Don't increment the function reference count when it's found by + name. Don't remove the wrong function from the hashtab. More + reference counting fixes. +Files: src/structs.h, src/userfunc.c + +Patch 7.4.2143 +Problem: A funccal is garbage collected while it can still be used. +Solution: Set copyID in all referenced functions. Do not list lambda + functions with ":function". +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/testdir/test_lambda.vim + +Patch 7.4.2144 +Problem: On MS-Windows quickfix does not handle a line with 1023 bytes + ending in CR-LF properly. +Solution: Don't consider CR a line break. (Ken Takata) +Files: src/quickfix.c + +Patch 7.4.2145 +Problem: Win32: Using CreateThread/ExitThread is not safe. +Solution: Use _beginthreadex and return from the thread. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.2146 +Problem: Not enough testing for popup menu. CTRL-E does not always work + properly. +Solution: Add more tests. When using CTRL-E check if the popup menu is + visible. (Christian Brabandt) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 7.4.2147 (after 7.4.2146) +Problem: test_alot fails. +Solution: Close window. +Files: src/testdir/test_popup.vim + +Patch 7.4.2148 +Problem: Not much testing for cscope. +Solution: Add a test that uses the cscope program. (Christian Brabandt) +Files: src/testdir/test_cscope.vim + +Patch 7.4.2149 +Problem: If a test leaves a window open a following test may fail. +Solution: Always close extra windows after running a test. +Files: src/testdir/runtest.vim, src/testdir/test_popup.vim + +Patch 7.4.2150 +Problem: Warning with MinGW 64. (John Marriott) +Solution: Change return type. (Ken Takata) +Files: src/os_win32.c + +Patch 7.4.2151 +Problem: Quickfix test fails on MS-Windows. +Solution: Close the help window. (Christian Brabandt) +Files: src/testdir/test_quickfix.vim + +Patch 7.4.2152 +Problem: No proper translation of messages with a count. +Solution: Use ngettext(). (Sergey Alyoshin) +Files: src/evalfunc.c, src/fold.c, src/os_win32.c, src/screen.c, src/vim.h + +Patch 7.4.2153 +Problem: GUI test isn't testing much. +Solution: Turn into a new style test. Execute a shell command. +Files: src/testdir/test_gui.vim, src/testdir/test16.in, + src/testdir/test16.ok, src/testdir/Make_all.mak, src/Makefile, + src/testdir/Make_vms.mms + +Patch 7.4.2154 +Problem: Test_communicate() fails sometimes. +Solution: Add it to the flaky tests. +Files: src/testdir/runtest.vim + +Patch 7.4.2155 +Problem: Quotes make GUI test fail on MS-Windows. +Solution: Remove quotes, strip white space. +Files: src/testdir/test_gui.vim + +Patch 7.4.2156 +Problem: Compiler warning. +Solution: Add type cast. (Ken Takata, Mike Williams) +Files: src/os_win32.c + +Patch 7.4.2157 +Problem: Test_job_start_fails() is expected to report memory leaks, making + it hard to see other leaks in test_partial. +Solution: Move Test_job_start_fails() to a separate test file. +Files: src/testdir/test_partial.vim, src/testdir/test_job_fails.vim, + src/Makefile, src/testdir/Make_all.mak + +Patch 7.4.2158 +Problem: Result of getcompletion('', 'cscope') depends on previous + completion. (Christian Brabandt) +Solution: Call set_context_in_cscope_cmd(). +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2159 +Problem: Insufficient testing for cscope. +Solution: Add more tests. (Dominique Pelle) +Files: src/testdir/test_cscope.vim + +Patch 7.4.2160 +Problem: setmatches() mixes up values. (Nikolai Pavlov) +Solution: Save the string instead of reusing a shared buffer. +Files: src/dict.c, src/evalfunc.c, src/testdir/test_expr.vim, + +Patch 7.4.2161 (after 7.4.2160) +Problem: Expression test fails without conceal feature. +Solution: Only check "conceal" with the conceal feature. +Files: src/testdir/test_expr.vim + +Patch 7.4.2162 +Problem: Result of getcompletion('', 'sign') depends on previous + completion. +Solution: Call set_context_in_sign_cmd(). (Dominique Pelle) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2163 +Problem: match() and related functions tested with old style test. +Solution: Convert to new style test. (Hirohito Higashi) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test63.in, + src/testdir/test63.ok, src/testdir/test_alot.vim, + src/testdir/test_match.vim, src/testdir/test_matchstrpos.vim + +Patch 7.4.2164 +Problem: It is not possible to use plugins in an "after" directory to tune + the behavior of a package. +Solution: First load plugins from non-after directories, then packages and + finally plugins in after directories. + Reset 'loadplugins' before executing --cmd arguments. +Files: src/main.c, src/vim.h, src/ex_cmds2.c, src/testdir/Makefile, + src/testdir/shared.vim, src/testdir/test_startup.vim, + src/testdir/setup.vim, runtime/doc/starting.txt + +Patch 7.4.2165 (after 7.4.2164) +Problem: Startup test fails on MS-Windows. +Solution: Don't check output if RunVim() returns zero. +Files: src/testdir/test_startup.vim + +Patch 7.4.2166 (after 7.4.2164) +Problem: Small build can't run startup test. +Solution: Skip the test. +Files: src/testdir/test_startup.vim + +Patch 7.4.2167 (after 7.4.2164) +Problem: Small build can't run tests. +Solution: Don't try setting 'packpath'. +Files: src/testdir/setup.vim + +Patch 7.4.2168 +Problem: Not running the startup test on MS-Windows. +Solution: Write vimcmd. +Files: src/testdir/Make_ming.mak, src/testdir/Make_dos.mak + +Patch 7.4.2169 (after 7.4.2168) +Problem: Startup test gets stuck on MS-Windows. +Solution: Use double quotes. +Files: src/testdir/shared.vim, src/testdir/test_startup.vim + +Patch 7.4.2170 +Problem: Cannot get information about timers. +Solution: Add timer_info(). +Files: src/evalfunc.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, + runtime/doc/eval.txt + +Patch 7.4.2171 (after 7.4.2170) +Problem: MS-Windows build fails. +Solution: Add QueryPerformanceCounter(). +Files: src/ex_cmds2.c + +Patch 7.4.2172 +Problem: No test for "vim --help". +Solution: Add a test. +Files: src/testdir/test_startup.vim, src/testdir/shared.vim + +Patch 7.4.2173 (after 7.4.2172) +Problem: Can't test help on MS-Windows. +Solution: Skip the test. +Files: src/testdir/test_startup.vim + +Patch 7.4.2174 +Problem: Adding duplicate flags to 'whichwrap' leaves commas behind. +Solution: Also remove the commas. (Naruhiko Nishino) +Files: src/Makefile, src/option.c, src/testdir/Make_all.mak, + src/testdir/test_alot.vim, src/testdir/test_options.in, + src/testdir/test_options.ok, src/testdir/test_options.vim + +Patch 7.4.2175 +Problem: Insufficient testing of cscope. +Solution: Add more tests. (Dominique Pelle) +Files: src/testdir/test_cscope.vim + +Patch 7.4.2176 +Problem: #ifdefs in main() are complicated. +Solution: Always define vim_main2(). Move params to the file level. + (suggested by Ken Takata) +Files: src/main.c, src/structs.h, src/vim.h, src/if_mzsch.c, + src/proto/if_mzsch.pro + +Patch 7.4.2177 +Problem: No testing for -C and -N command line flags, file arguments, + startuptime. +Solution: Add tests. +Files: src/testdir/test_startup.vim, src/testdir/shared.vim + +Patch 7.4.2178 +Problem: No test for reading from stdin. +Solution: Add a test. +Files: src/testdir/test_startup.vim, src/testdir/shared.vim + +Patch 7.4.2179 (after 7.4.2178) +Problem: Reading from stdin test fails on MS-Windows. +Solution: Strip the extra space. +Files: src/testdir/test_startup.vim + +Patch 7.4.2180 +Problem: There is no easy way to stop all timers. There is no way to + temporary pause a timer. +Solution: Add timer_stopall() and timer_pause(). +Files: src/evalfunc.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, + src/structs.h, src/testdir/test_timers.vim, + src/testdir/shared.vim, runtime/doc/eval.txt + +Patch 7.4.2181 +Problem: Compiler warning for unused variable. +Solution: Remove it. (Dominique Pelle) +Files: src/ex_cmds2.c + +Patch 7.4.2182 +Problem: Color Grey40 used in startup but not in the short list. +Solution: Add Grey40 to the builtin colors. +Files: src/term.c + +Patch 7.4.2183 +Problem: Sign tests are old style. +Solution: Turn them into new style tests. (Dominique Pelle) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_signs.in, + src/testdir/test_signs.ok, src/testdir/test_signs.vim, + +Patch 7.4.2184 +Problem: Tests that use RunVim() do not actually perform the test. +Solution: Use "return" instead of "call". (Ken Takata) +Files: src/testdir/shared.vim + +Patch 7.4.2185 +Problem: Test glob2regpat does not test much. +Solution: Add a few more test cases. (Dominique Pelle) +Files: src/testdir/test_glob2regpat.vim + +Patch 7.4.2186 +Problem: Timers test is flaky. +Solution: Relax the sleep time check. +Files: src/testdir/test_timers.vim + +Patch 7.4.2187 (after 7.4.2185) +Problem: glob2regpat test fails on Windows. +Solution: Remove the checks that use backslashes. +Files: src/testdir/test_glob2regpat.vim + +Patch 7.4.2188 (after 7.4.2146) +Problem: Completion does not work properly with some plugins. +Solution: Revert the part related to typing CTRL-E. (closes #972) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 7.4.2189 +Problem: Cannot detect encoding in a fifo. +Solution: Extend the stdin way of detecting encoding to fifo. Add a test + for detecting encoding on stdin and fifo. (Ken Takata) +Files: src/buffer.c, src/fileio.c, src/Makefile, + src/testdir/Make_all.mak, src/testdir/test_startup_utf8.vim, + src/vim.h + +Patch 7.4.2190 +Problem: When startup test fails it's not easy to find out why. + GUI test fails with Gnome. +Solution: Add the help entry matches to a list an assert that. + Set $HOME for Gnome to create .gnome2 directory. +Files: src/testdir/test_startup.vim, src/testdir/test_gui.vim + +Patch 7.4.2191 +Problem: No automatic prototype for vim_main2(). +Solution: Move the #endif. (Ken Takata) +Files: src/main.c, src/vim.h, src/proto/main.pro + +Patch 7.4.2192 +Problem: Generating prototypes with Cygwin doesn't work well. +Solution: Change #ifdefs. (Ken Takata) +Files: src/gui.h, src/gui_w32.c, src/ops.c, src/proto/fileio.pro, + src/proto/message.pro, src/proto/normal.pro, src/proto/ops.pro, + src/vim.h + +Patch 7.4.2193 +Problem: With Gnome when the GUI can't start test_startup hangs. +Solution: Call gui_mch_early_init_check(). (Hirohito Higashi) +Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro + +Patch 7.4.2194 +Problem: Sign tests don't cover enough. +Solution: Add more test cases. (Dominique Pelle) +Files: src/testdir/test_signs.vim + +Patch 7.4.2195 +Problem: MS-Windows: The vimrun program does not support Unicode. +Solution: Use GetCommandLineW(). Cleanup old #ifdefs. (Ken Takata) +Files: src/vimrun.c + +Patch 7.4.2196 +Problem: glob2regpat test doesn't test everything on MS-Windows. +Solution: Add patterns with backslash handling. +Files: src/testdir/test_glob2regpat.vim + +Patch 7.4.2197 +Problem: All functions are freed on exit, which may hide leaks. +Solution: Only free named functions, not reference counted ones. +Files: src/userfunc.c + +Patch 7.4.2198 +Problem: Test alot sometimes fails under valgrind. (Dominique Pelle) +Solution: Avoid passing a callback with the wrong number of arguments. +Files: src/testdir/test_partial.vim + +Patch 7.4.2199 +Problem: In the GUI the cursor is hidden when redrawing any window, + causing flicker. +Solution: Only undraw the cursor when updating the window it's in. +Files: src/screen.c, src/gui.c, src/proto/gui.pro, src/gui_gtk_x11.c + +Patch 7.4.2200 +Problem: Cannot get all information about a quickfix list. +Solution: Add an optional argument to get/set loc/qf list(). (Yegappan + Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/quickfix.pro, + src/quickfix.c, src/tag.c, src/testdir/test_quickfix.vim + +Patch 7.4.2201 +Problem: The sign column disappears when the last sign is deleted. +Solution: Add the 'signcolumn' option. (Christian Brabandt) +Files: runtime/doc/options.txt, runtime/optwin.vim, src/edit.c, + src/move.c, src/option.c, src/option.h, src/proto/option.pro, + src/screen.c, src/structs.h, src/testdir/test_options.vim + +Patch 7.4.2202 +Problem: Build fails with small features. +Solution: Correct option initialization. +Files: src/option.c + +Patch 7.4.2203 +Problem: Test fails with normal features. +Solution: Check is signs are supported. +Files: src/testdir/test_options.vim + +Patch 7.4.2204 +Problem: It is not easy to get information about buffers, windows and + tabpages. +Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan + Lakshmanan) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/dict.c, + src/evalfunc.c, src/option.c, src/proto/dict.pro, + src/proto/option.pro, src/proto/window.pro, + src/testdir/Make_all.mak, src/testdir/test_bufwintabinfo.vim, + src/window.c, src/Makefile + +Patch 7.4.2205 +Problem: 'wildignore' always applies to getcompletion(). +Solution: Add an option to use 'wildignore' or not. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2206 +Problem: Warning for unused function. +Solution: Put the function inside #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 7.4.2207 +Problem: The +xpm feature is not sorted properly in :version output. +Solution: Move it up. (Tony Mechelynck) +Files: src/version.c + +Patch 7.4.2208 +Problem: Test for mappings is old style. +Solution: Convert the test to new style. +Files: src/testdir/test_mapping.vim, src/testdir/test_mapping.in, + src/testdir/test_mapping.ok, src/Makefile, + src/testdir/test_alot.vim, src/testdir/Make_all.mak + +Patch 7.4.2209 +Problem: Cannot map <M-">. (Stephen Riehm) +Solution: Solve the memory access problem in another way. (Dominique Pelle) + Allow for using <M-\"> in a string. +Files: src/eval.c, src/gui_mac.c, src/misc2.c, src/option.c, + src/proto/misc2.pro, src/syntax.c, src/term.c, + src/testdir/test_mapping.vim + +Patch 7.4.2210 +Problem: On OSX configure mixes up a Python framework and the Unix layout. +Solution: Make configure check properly. (Tim D. Smith, closes #980) +Files: src/configure.in, src/auto/configure + +Patch 7.4.2211 +Problem: Mouse support is not automatically enabled with simple term. +Solution: Recognize "st" and other names. (Manuel Schiller, closes #963) +Files: src/os_unix.c + +Patch 7.4.2212 +Problem: Mark " is not set when closing a window in another tab. (Guraga) +Solution: Check all tabs for the window to be valid. (based on patch by + Hirohito Higashi, closes #974) +Files: src/window.c, src/proto/window.pro, src/buffer.c, + src/testdir/test_viminfo.vim + +Patch 7.4.2213 +Problem: Cannot highlight the "~" lines at the end of a window differently. +Solution: Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy) +Files: runtime/doc/options.txt, runtime/doc/syntax.txt, src/option.c, + src/screen.c, src/syntax.c, src/vim.h + +Patch 7.4.2214 +Problem: A font that uses ligatures messes up the screen display. +Solution: Put spaces between characters when building the glyph table. + (based on a patch from Manuel Schiller) +Files: src/gui_gtk_x11.c + +Patch 7.4.2215 +Problem: It's not easy to find out if a window is a quickfix or location + list window. +Solution: Add "loclist" and "quickfix" entries to the dict returned by + getwininfo(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim + +Patch 7.4.2216 (after 7.4.2215) +Problem: Test fails without the +sign feature. +Solution: Only check for signcolumn with the +sign feature. +Files: src/testdir/test_bufwintabinfo.vim + +Patch 7.4.2217 +Problem: When using matchaddpos() a character after the end of the line can + be highlighted. +Solution: Only highlight existing characters. (Hirohito Higashi) +Files: src/screen.c, src/structs.h, src/testdir/test_match.vim + +Patch 7.4.2218 +Problem: Can't build with +timers when +digraph is not included. +Solution: Change #ifdef for e_number_exp. (Damien) +Files: src/globals.h + +Patch 7.4.2219 +Problem: Recursive call to substitute gets stuck in sandbox. (Nikolai + Pavlov) +Solution: Handle the recursive call. (Christian Brabandt, closes #950) + Add a test. +Files: src/ex_cmds.c, src/testdir/test_regexp_latin.vim + +Patch 7.4.2220 +Problem: printf() gives an error when the argument for %s is not a string. + (Ozaki Kiichi) +Solution: Behave like invoking string() on the argument. (Ken Takata) +Files: runtime/doc/eval.txt, src/message.c, src/testdir/test_expr.vim + +Patch 7.4.2221 +Problem: printf() does not support binary format. +Solution: Add %b and %B. (Ozaki Kiichi) +Files: runtime/doc/eval.txt, src/message.c, src/testdir/test_expr.vim + +Patch 7.4.2222 +Problem: Sourcing a script where a character has 0x80 as a second byte does + not work. (Filipe L B Correia) +Solution: Turn 0x80 into K_SPECIAL KS_SPECIAL KE_FILLER. (Christian + Brabandt, closes #728) Add a test case. +Files: src/getchar.c, src/proto/getchar.pro, src/misc1.c, + src/testdir/test_regexp_utf8.vim + +Patch 7.4.2223 +Problem: Buffer overflow when using latin1 character with feedkeys(). +Solution: Check for an illegal character. Add a test. +Files: src/testdir/test_regexp_utf8.vim, src/testdir/test_source_utf8.vim, + src/testdir/test_alot_utf8.vim, src/Makefile, src/getchar.c, + src/macros.h, src/evalfunc.c, src/os_unix.c, src/os_win32.c, + src/spell.c, + +Patch 7.4.2224 +Problem: Compiler warnings with older compiler and 64 bit numbers. +Solution: Add "LL" to large values. (Mike Williams) +Files: src/eval.c, src/evalfunc.c + +Patch 7.4.2225 +Problem: Crash when placing a sign in a deleted buffer. +Solution: Check for missing buffer name. (Dominique Pelle). Add a test. +Files: src/ex_cmds.c, src/testdir/test_signs.vim + +Patch 7.4.2226 +Problem: The field names used by getbufinfo(), gettabinfo() and + getwininfo() are not consistent. +Solution: Use bufnr, winnr and tabnr. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim + +Patch 7.4.2227 +Problem: Tab page tests are old style. +Solution: Change into new style tests. (Hirohito Higashi) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test62.in, + src/testdir/test62.ok, src/testdir/test_alot.vim, + src/testdir/test_tabpage.vim + +Patch 7.4.2228 +Problem: Test files have inconsistent modelines. +Solution: Don't set 'tabstop' to 2, use 'sts' and 'sw'. +Files: src/testdir/README.txt, src/testdir/test_backspace_opt.vim, + src/testdir/test_digraph.vim, src/testdir/test_gn.vim + src/testdir/test_help_tagjump.vim, + src/testdir/test_increment_dbcs.vim, + src/testdir/test_increment.vim, src/testdir/test_match.vim, + src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_timers.vim + +Patch 7.4.2229 +Problem: Startup test fails on Solaris. +Solution: Recognize a character device. (Danek Duvall) +Files: src/buffer.c, src/fileio.c, src/proto/fileio.pro, src/vim.h + +Patch 7.4.2230 +Problem: There is no equivalent of 'smartcase' for a tag search. +Solution: Add value "followscs" and "smart" to 'tagcase'. (Christian + Brabandt, closes #712) Turn tagcase test into new style. +Files: runtime/doc/options.txt, runtime/doc/tagsrch.txt, src/option.h, + src/tag.c, src/search.c, src/proto/search.pro, + src/testdir/test_tagcase.in, src/testdir/test_tagcase.ok, + src/testdir/test_tagcase.vim, src/Makefile, + src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 7.4.2231 +Problem: ":oldfiles" output is a very long list. +Solution: Add a pattern argument. (Coot, closes #575) +Files: runtime/doc/starting.txt, src/ex_cmds.h, src/eval.c, + src/ex_cmds.c, src/proto/eval.pro, src/proto/ex_cmds.pro, + src/testdir/test_viminfo.vim + +Patch 7.4.2232 +Problem: The default ttimeoutlen is very long. +Solution: Use "100". (Hirohito Higashi) +Files: runtime/defaults.vim + +Patch 7.4.2233 +Problem: Crash when using funcref() with invalid name. (Dominique Pelle) +Solution: Check for NULL translated name. +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 7.4.2234 +Problem: Can't build with +eval but without +quickfix. (John Marriott) +Solution: Move skip_vimgrep_pat() to separate #ifdef block. +Files: src/quickfix.c + +Patch 7.4.2235 +Problem: submatch() does not check for a valid argument. +Solution: Give an error if the argument is out of range. (Dominique Pelle) +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 7.4.2236 +Problem: The 'langnoremap' option leads to double negatives. And it does + not work for the last character of a mapping. +Solution: Add 'langremap' with the opposite value. Keep 'langnoremap' for + backwards compatibility. Make it work for the last character of a + mapping. Make the test work. +Files: runtime/doc/options.txt, runtime/defaults.vim, src/option.c, + src/option.h, src/macros.h, src/testdir/test_mapping.vim + +Patch 7.4.2237 +Problem: Can't use "." and "$" with ":tab". +Solution: Support a range for ":tab". (Hirohito Higashi) +Files: runtime/doc/tabpage.txt, src/ex_docmd.c, + src/testdir/test_tabpage.vim + +Patch 7.4.2238 +Problem: With SGR mouse reporting (suckless terminal) the mouse release and + scroll up/down is confused. +Solution: Don't see a release as a scroll up/down. (Ralph Eastwood) +Files: src/term.c + +Patch 7.4.2239 +Problem: Warning for missing declaration of skip_vimgrep_pat(). (John + Marriott) +Solution: Move it to another file. +Files: src/quickfix.c, src/proto/quickfix.pro, src/ex_cmds.c, + src/proto/ex_cmds.pro + +Patch 7.4.2240 +Problem: Tests using the sleep time can be flaky. +Solution: Use reltime() if available. (Partly by Shane Harper) +Files: src/testdir/shared.vim, src/testdir/test_timers.vim + +Patch 7.4.2241 (after 7.4.2240) +Problem: Timer test sometimes fails. +Solution: Increase the maximum time for repeating timer. +Files: src/testdir/test_timers.vim + +Patch 7.4.2242 (after 7.4.2240) +Problem: Timer test sometimes fails. +Solution: Increase the maximum time for callback timer test. +Files: src/testdir/test_timers.vim + +Patch 7.4.2243 +Problem: Warning for assigning negative value to unsigned. (Danek Duvall) +Solution: Make cterm_normal_fg_gui_color and _bg_ guicolor_T, cast to long_u + only when an unsigned is needed. +Files: src/structs.h, src/globals.h, src/screen.c, src/term.c, + src/syntax.c, src/gui_gtk_x11.c, src/gui.c, src/gui_mac.c, + src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, + src/proto/term.pro, src/proto/gui_gtk_x11.pro, + src/proto/gui_mac.pro, src/proto/gui_photon.pro, + src/proto/gui_w32.pro, src/proto/gui_x11.pro + +Patch 7.4.2244 +Problem: Adding pattern to ":oldfiles" is not a generic solution. +Solution: Add the ":filter /pat/ cmd" command modifier. Only works for some + commands right now. +Files: src/structs.h, src/ex_docmd.c, src/ex_cmds.h, src/message.c, + src/proto/message.pro, runtime/doc/starting.txt, + runtime/doc/various.txt, src/testdir/test_viminfo.vim, + src/testdir/test_alot.vim, src/testdir/test_filter_cmd.vim, + src/Makefile + +Patch 7.4.2245 (after 7.4.2244) +Problem: Filter test fails. +Solution: Include missing changes. +Files: src/buffer.c + +Patch 7.4.2246 (after 7.4.2244) +Problem: Oldfiles test fails. +Solution: Include missing changes. +Files: src/ex_cmds.c + +Patch 7.4.2247 (after 7.4.2244) +Problem: Tiny build fails. (Tony Mechelynck) +Solution: Remove #ifdef. +Files: src/ex_cmds.c + +Patch 7.4.2248 +Problem: When cancelling the :ptjump prompt a preview window is opened for + a following command. +Solution: Reset g_do_tagpreview. (Hirohito Higashi) Add a test. Avoid that + the test runner gets stuck in trying to close a window. +Files: src/tag.c, src/testdir/test_tagjump.vim, src/testdir/runtest.vim + +Patch 7.4.2249 +Problem: Missing colon in error message. +Solution: Add the colon. (Dominique Pelle) +Files: src/userfunc.c + +Patch 7.4.2250 +Problem: Some error messages cannot be translated. +Solution: Enclose them in _() and N_(). (Dominique Pelle) +Files: src/channel.c, src/evalfunc.c, src/ex_cmds.c, src/spell.c, + src/window.c + +Patch 7.4.2251 +Problem: In rare cases diffing 4 buffers is not enough. +Solution: Raise the limit to 8. (closes #1000) +Files: src/structs.h, runtime/doc/diff.txt + +Patch 7.4.2252 +Problem: Compiler warnings for signed/unsigned in expression. +Solution: Remove type cast. (Dominique Pelle) +Files: src/vim.h + +Patch 7.4.2253 +Problem: Check for Windows 3.1 will always return false. (Christian + Brabandt) +Solution: Remove the dead code. +Files: src/gui_w32.c, src/evalfunc.c, src/ex_cmds.c, src/option.c, + src/os_win32.c, src/version.c, src/proto/gui_w32.pro + +Patch 7.4.2254 +Problem: Compiler warnings in MzScheme code. +Solution: Add UNUSED. Remove unreachable code. +Files: src/if_mzsch.c + +Patch 7.4.2255 +Problem: The script that checks translations can't handle plurals. +Solution: Check for plural msgid and msgstr entries. Leave the cursor on + the first error. +Files: src/po/check.vim + +Patch 7.4.2256 +Problem: Coverity complains about null pointer check. +Solution: Remove wrong and superfluous error check. +Files: src/eval.c + +Patch 7.4.2257 +Problem: Coverity complains about not checking for NULL. +Solution: Check for out of memory. +Files: src/if_py_both.h + +Patch 7.4.2258 +Problem: Two JSON messages are sent without a separator. +Solution: Separate messages with a NL. (closes #1001) +Files: src/json.c, src/channel.c, src/vim.h, src/testdir/test_channel.py, + src/testdir/test_channel.vim, runtime/doc/channel.txt + +Patch 7.4.2259 +Problem: With 'incsearch' can only see the next match. +Solution: Make CTRL-N/CTRL-P move to the previous/next match. (Christian + Brabandt) +Files: runtime/doc/cmdline.txt, src/ex_getln.c, src/testdir/Make_all.mak, + src/testdir/test_search.vim, src/Makefile + +Patch 7.4.2260 (after 7.4.2258) +Problem: Channel test is flaky. +Solution: Add a newline to separate JSON messages. +Files: src/testdir/test_channel.vim + +Patch 7.4.2261 (after 7.4.2259) +Problem: Build fails with small features. +Solution: Move "else" inside the #ifdef. +Files: src/ex_getln.c + +Patch 7.4.2262 +Problem: Fail to read register content from viminfo if it is 438 characters + long. (John Chen) +Solution: Adjust the check for line wrapping. (closes #1010) +Files: src/testdir/test_viminfo.vim, src/ex_cmds.c + +Patch 7.4.2263 +Problem: :filter does not work for many commands. Can only get matching + messages. +Solution: Make :filter work for :command, :map, :list, :number and :print. + Make ":filter!" show non-matching lines. +Files: src/getchar.c, src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, + src/message.c, src/structs.h, src/testdir/test_filter_cmd.vim + +Patch 7.4.2264 +Problem: When adding entries to an empty quickfix list the title is reset. +Solution: Improve handling of the title. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim, src/quickfix.c + +Patch 7.4.2265 +Problem: printf() isn't tested much. +Solution: Add more tests for printf(). (Dominique Pelle) +Files: src/testdir/test_expr.vim + +Patch 7.4.2266 (after 7.4.2265) +Problem: printf() test fails on Windows. "-inf" is not used. +Solution: Check for Windows-specific values for "nan". Add sign to "inf" + when appropriate. +Files: src/message.c, src/testdir/test_expr.vim + +Patch 7.4.2267 (after 7.4.2266) +Problem: Build fails on MS-Windows. +Solution: Add define to get isinf(). +Files: src/message.c + +Patch 7.4.2268 (after 7.4.2259) +Problem: Using CTRL-N and CTRL-P for incsearch shadows completion keys. +Solution: Use CTRL-T and CTRL-G instead. +Files: runtime/doc/cmdline.txt, src/ex_getln.c, + src/testdir/test_search.vim + +Patch 7.4.2269 +Problem: Using 'hlsearch' highlighting instead of matchpos if there is no + search match. +Solution: Pass NULL as last item to next_search_hl() when searching for + 'hlsearch' match. (Shane Harper, closes #1013) +Files: src/screen.c, src/testdir/test_match.vim. + +Patch 7.4.2270 +Problem: Insufficient testing for NUL bytes on a raw channel. +Solution: Add a test for writing and reading. +Files: src/testdir/test_channel.vim + +Patch 7.4.2271 +Problem: Netbeans test doesn't read settings from file. +Solution: Use "-Xnbauth". +Files: src/testdir/test_netbeans.vim + +Patch 7.4.2272 +Problem: getbufinfo(), getwininfo() and gettabinfo() are inefficient. +Solution: Instead of making a copy of the variables dictionary, use a + reference. +Files: src/evalfunc.c + +Patch 7.4.2273 +Problem: getwininfo() and getbufinfo() are inefficient. +Solution: Do not make a copy of all window/buffer-local options. Make it + possible to get them with gettabwinvar() or getbufvar(). +Files: src/evalfunc.c, src/eval.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + +Patch 7.4.2274 +Problem: Command line completion on "find **/filename" drops sub-directory. +Solution: Handle this case separately. (Harm te Hennepe, closes #932, closes + #939) +Files: src/misc1.c, src/testdir/test_cmdline.vim + +Patch 7.4.2275 +Problem: ":diffoff!" does not remove filler lines. +Solution: Force a redraw and invalidate the cursor. (closes #1014) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 7.4.2276 +Problem: Command line test fails on Windows when run twice. +Solution: Wipe the buffer so that the directory can be deleted. +Files: src/testdir/test_cmdline.vim + +Patch 7.4.2277 +Problem: Memory leak in getbufinfo() when there is a sign. (Dominique + Pelle) +Solution: Remove extra vim_strsave(). +Files: src/evalfunc.c + +Patch 7.4.2278 +Problem: New users have no idea of the 'scrolloff' option. +Solution: Set 'scrolloff' in defaults.vim. +Files: runtime/defaults.vim + +Patch 7.4.2279 +Problem: Starting diff mode with the cursor in the last line might end up + only showing one closed fold. (John Beckett) +Solution: Scroll the window to show the same relative cursor position. +Files: src/diff.c, src/window.c, src/proto/window.pro + +Patch 7.4.2280 +Problem: printf() doesn't handle infinity float values correctly. +Solution: Add a table with possible infinity values. (Dominique Pelle) +Files: src/message.c, src/testdir/test_expr.vim + +Patch 7.4.2281 +Problem: Timer test fails sometimes. +Solution: Reduce minimum time by 1 msec. +Files: src/testdir/test_timers.vim + +Patch 7.4.2282 +Problem: When a child process is very fast waiting 10 msec for it is + noticeable. (Ramel Eshed) +Solution: Start waiting for 1 msec and gradually increase. +Files: src/os_unix.c + +Patch 7.4.2283 +Problem: Part of ":oldfiles" command isn't cleared. (Lifepillar) +Solution: Clear the rest of the line. (closes 1018) +Files: src/ex_cmds.c + +Patch 7.4.2284 +Problem: Comment in scope header file is outdated. (KillTheMule) +Solution: Point to the help instead. (closes #1017) +Files: src/if_cscope.h + +Patch 7.4.2285 +Problem: Generated files are outdated. +Solution: Generate the files. Avoid errors when generating prototypes. +Files: src/if_mzsch.h, src/Makefile, src/option.h, src/os_mac_conv.c, + src/os_amiga.c, src/vim.h, src/structs.h, src/os_win32.c, + src/if_lua.c, src/proto/mbyte.pro + +Patch 7.4.2286 +Problem: The tee program isn't included. Makefile contains build + instructions that don't work. +Solution: Update the Filelist and build instructions. Remove build + instructions for DOS and old Windows. Add the tee program. +Files: Filelist, Makefile, nsis/gvim.nsi + +Patch 7.4.2287 +Problem: The callback passed to ch_sendraw() is not used. +Solution: Pass the read part, not the send part. (haya14busa, closes #1019) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.2288 +Problem: MS-Windows build instructions are clumsy. "dosbin" doesn't build. +Solution: Add rename.bat. Fix building "dosbin". +Files: Makefile, Filelist, rename.bat + +Patch 7.4.2289 +Problem: When installing and $DESTDIR is set the icons probably won't be + installed. +Solution: Create the icon directories if $DESTDIR is not empty. (Danek + Duvall) +Files: src/Makefile + +Patch 7.4.2290 +Problem: Compiler warning in tiny build. (Tony Mechelynck) +Solution: Add #ifdef around infinity_str(). +Files: src/message.c + +Patch 7.4.2291 +Problem: printf() handles floats wrong when there is a sign. +Solution: Fix placing the sign. Add tests. (Dominique Pelle) +Files: src/testdir/test_expr.vim, runtime/doc/eval.txt, src/message.c + +Patch 7.4.2292 (after 7.4.2291) +Problem: Not all systems understand %F in printf(). +Solution: Use %f. +Files: src/message.c + +Patch 7.4.2293 +Problem: Modelines in source code are inconsistent. +Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino) +Files: src/alloc.h, src/arabic.c, src/arabic.h, src/ascii.h, + src/blowfish.c, src/buffer.c, src/channel.c, src/charset.c, + src/crypt.c, src/crypt_zip.c, src/dict.c, src/diff.c, + src/digraph.c, src/dosinst.c, src/dosinst.h, src/edit.c, + src/eval.c, src/evalfunc.c, src/ex_cmds.c, src/ex_cmds.h, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, + src/farsi.c, src/farsi.h, src/feature.h, src/fileio.c, src/fold.c, + src/getchar.c, src/glbl_ime.cpp, src/glbl_ime.h, src/globals.h, + src/gui.c, src/gui.h, src/gui_at_fs.c, src/gui_at_sb.c, + src/gui_at_sb.h, src/gui_athena.c, src/gui_beval.c, + src/gui_beval.h, src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_f.h, + src/gui_gtk_vms.h, src/gui_gtk_x11.c, src/gui_mac.c, + src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, + src/gui_x11_pm.h, src/gui_xmdlg.c, src/gui_xmebw.c, + src/gui_xmebw.h, src/gui_xmebwp.h, src/hangulin.c, src/hardcopy.c, + src/hashtab.c, src/if_cscope.c, src/if_cscope.h, src/if_mzsch.c, + src/if_mzsch.h, src/if_ole.cpp, src/if_perl.xs, src/if_perlsfio.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/if_xcmdsrv.c, + src/integration.c, src/integration.h, src/iscygpty.c, src/json.c, + src/json_test.c, src/keymap.h, src/list.c, src/macros.h, + src/main.c, src/mark.c, src/mbyte.c, src/memfile.c, + src/memfile_test.c, src/memline.c, src/menu.c, src/message.c, + src/message_test.c, src/misc1.c, src/misc2.c, src/move.c, + src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, + src/ops.c, src/option.c, src/option.h, src/os_amiga.c, + src/os_amiga.h, src/os_beos.c, src/os_beos.h, src/os_dos.h, + src/os_mac.h, src/os_mac_conv.c, src/os_macosx.m, src/os_mint.h, + src/os_mswin.c, src/os_qnx.c, src/os_qnx.h, src/os_unix.c, + src/os_unix.h, src/os_unixx.h, src/os_vms.c, src/os_w32dll.c, + src/os_w32exe.c, src/os_win32.c, src/os_win32.h, src/popupmnu.c, + src/proto.h, src/pty.c, src/quickfix.c, src/regexp.c, + src/regexp.h, src/regexp_nfa.c, src/screen.c, src/search.c, + src/sha256.c, src/spell.c, src/spell.h, src/spellfile.c, + src/structs.h, src/syntax.c, src/tag.c, src/term.c, src/term.h, + src/termlib.c, src/ui.c, src/undo.c, src/uninstal.c, + src/userfunc.c, src/version.c, src/version.h, src/vim.h, + src/vim.rc, src/vimio.h, src/vimrun.c, src/winclip.c, + src/window.c, src/workshop.c, src/workshop.h, src/wsdebug.c, + src/wsdebug.h, src/xpm_w32.c + +Patch 7.4.2294 +Problem: Sign test fails on MS-Windows when using the distributed zip + archives. +Solution: Create dummy files instead of relying on files in the pixmaps + directory. +Files: src/testdir/test_signs.vim + +Patch 7.4.2295 (after 7.4.2293) +Problem: Cscope test fails. +Solution: Avoid checking for specific line and column numbers. +Files: src/testdir/test_cscope.vim + +Patch 7.4.2296 +Problem: No tests for :undolist and "U" command. +Solution: Add tests. (Dominique Pelle) +Files: src/testdir/test_undo.vim + +Patch 7.4.2297 +Problem: When starting a job that reads from a buffer and reaching the end, + the job hangs. +Solution: Close the pipe or socket when all lines were read. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 7.4.2298 +Problem: It is not possible to close the "in" part of a channel. +Solution: Add ch_close_in(). +Files: src/evalfunc.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, runtime/doc/eval.txt, + runtime/doc/channel.txt + +Patch 7.4.2299 +Problem: QuickFixCmdPre and QuickFixCmdPost autocommands are not always + triggered. +Solution: Also trigger on ":cexpr", ":cbuffer", etc. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 7.4.2300 +Problem: Get warning for deleting autocommand group when the autocommand + using the group is scheduled for deletion. (Pavol Juhas) +Solution: Check for deleted autocommand. +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 7.4.2301 +Problem: MS-Windows: some files remain after testing. +Solution: Close the channel output file. Wait for the file handle to be + closed before deleting the file. +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 7.4.2302 +Problem: Default interface versions for MS-Windows are outdated. +Solution: Use Active Perl 5.24, Python 3.5.2. Could only make it work with + Ruby 1.9.2. +Files: src/bigvim.bat, src/bigvim64.bat, src/Make_mvc.mak + +Patch 7.4.2303 +Problem: When using "is" the mode isn't always updated. +Solution: Redraw the command line. (Christian Brabandt) +Files: src/search.c + +Patch 7.4.2304 +Problem: In a timer callback the timer itself can't be found or stopped. + (Thinca) +Solution: Do not remove the timer from the list, remember whether it was + freed. +Files: src/ex_cmds2.c, src/testdir/test_timers.vim + +Patch 7.4.2305 +Problem: Marks, writefile and nested function tests are old style. +Solution: Turn them into new style tests. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test_marks.in, + src/testdir/test_marks.ok, src/testdir/test_marks.vim, + src/testdir/test_nested_function.in, + src/testdir/test_nested_function.ok, + src/testdir/test_nested_function.vim, + src/testdir/test_writefile.in, src/testdir/test_writefile.ok, + src/testdir/test_writefile.vim, src/Makefile + +Patch 7.4.2306 +Problem: Default value for 'langremap' is wrong. +Solution: Set the right value. (Jürgen Krämer) Add a test. +Files: src/option.c, src/testdir/test_mapping.vim + +Patch 7.4.2307 +Problem: Several tests are old style. +Solution: Turn them into new style tests. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test102.in, + src/testdir/test102.ok, src/testdir/test46.in, + src/testdir/test46.ok, src/testdir/test81.in, + src/testdir/test81.ok, src/testdir/test_charsearch.in, + src/testdir/test_charsearch.ok, src/testdir/test_charsearch.vim, + src/testdir/test_fnameescape.vim, src/testdir/test_substitute.vim, + src/Makefile + +Patch 7.4.2308 (after 7.4.2307) +Problem: Old charsearch test still listed in Makefile. +Solution: Remove the line. +Files: src/testdir/Make_all.mak + +Patch 7.4.2309 +Problem: Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle) +Solution: When detecting that the tab page changed, don't just abort but + delete the window where w_buffer is NULL. +Files: src/window.c, src/testdir/test_tabpage.vim + +Patch 7.4.2310 (after 7.4.2304) +Problem: Accessing freed memory when a timer does not repeat. +Solution: Free after removing it. (Dominique Pelle) +Files: src/ex_cmds2.c + +Patch 7.4.2311 +Problem: Appveyor 64 bit build still using Python 3.4 +Solution: Switch to Python 3.5. (Ken Takata, closes #1032) +Files: appveyor.yml, src/appveyor.bat + +Patch 7.4.2312 +Problem: Crash when autocommand moves to another tab. (Dominique Pelle) +Solution: When navigating to another window halfway the :edit command go + back to the right window. +Files: src/buffer.c, src/ex_cmds.c, src/ex_getln.c, src/ex_docmd.c, + src/window.c, src/proto/ex_getln.pro, src/testdir/test_tabpage.vim + +Patch 7.4.2313 +Problem: Crash when deleting an augroup and listing an autocommand. + (Dominique Pelle) +Solution: Make sure deleted_augroup is valid. +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 7.4.2314 +Problem: No error when deleting an augroup while it's the current one. +Solution: Disallow deleting an augroup when it's the current one. +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 7.4.2315 +Problem: Insufficient testing for Normal mode commands. +Solution: Add a big test. (Christian Brabandt, closes #1029) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_normal.vim + +Patch 7.4.2316 +Problem: Channel sort test is flaky. +Solution: Add a check the output has been read. +Files: src/testdir/test_channel.vim + +Patch 7.4.2317 (after 7.4.2315) +Problem: Normal mode tests fail on MS-Windows. +Solution: Do some tests only on Unix. Set 'fileformat' to "unix". +Files: src/testdir/test_normal.vim + +Patch 7.4.2318 +Problem: When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as + before. +Solution: Move #ifdef and don't use goto. +Files: src/ex_getln.c + +Patch 7.4.2319 +Problem: No way for a system wide vimrc to stop loading defaults.vim. + (Christian Hesse) +Solution: Bail out of defaults.vim if skip_defaults_vim was set. +Files: runtime/defaults.vim + +Patch 7.4.2320 +Problem: Redraw problem when using 'incsearch'. +Solution: Save the current view when deleting characters. (Christian + Brabandt) Fix that the '" mark is set in the wrong position. Don't + change the search start when using BS. +Files: src/ex_getln.c, src/normal.c, src/testdir/test_search.vim + +Patch 7.4.2321 +Problem: When a test is commented out we forget about it. +Solution: Let a test throw an exception with "Skipped" and list skipped test + functions. (Christian Brabandt) +Files: src/testdir/Makefile, src/testdir/runtest.vim, + src/testdir/test_popup.vim, src/testdir/README.txt + +Patch 7.4.2322 +Problem: Access memory beyond the end of the line. (Dominique Pelle) +Solution: Adjust the cursor column. +Files: src/move.c, src/testdir/test_normal.vim + +Patch 7.4.2323 +Problem: Using freed memory when using 'formatexpr'. (Dominique Pelle) +Solution: Make a copy of 'formatexpr' before evaluating it. +Files: src/ops.c, src/testdir/test_normal.vim + +Patch 7.4.2324 +Problem: Crash when editing a new buffer and BufUnload autocommand wipes + out the new buffer. (Norio Takagi) +Solution: Don't allow wiping out this buffer. (partly by Hirohito Higashi) + Move old style test13 into test_autocmd. Avoid ml_get error when + editing a file. +Files: src/structs.h, src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, + src/window.c, src/testdir/test13.in, src/testdir/test13.ok, + src/testdir/test_autocmd.vim, src/testdir/Make_all.mak, + src/Makefile + +Patch 7.4.2325 (after 7.4.2324) +Problem: Tiny build fails. +Solution: Add #ifdef. +Files: src/buffer.c + +Patch 7.4.2326 +Problem: Illegal memory access when Visual selection starts in invalid + position. (Dominique Pelle) +Solution: Correct position when needed. +Files: src/normal.c, src/misc2.c, src/proto/misc2.pro + +Patch 7.4.2327 +Problem: Freeing a variable that is on the stack. +Solution: Don't free res_tv or err_tv. (Ozaki Kiichi) +Files: src/channel.c + +Patch 7.4.2328 +Problem: Crash when BufWinLeave autocmd goes to another tab page. (Hirohito + Higashi) +Solution: Make close_buffer() go back to the right window. +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 7.4.2329 +Problem: Error for min() and max() contains %s. (Nikolai Pavlov) +Solution: Pass the function name. (closes #1040) +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 7.4.2330 +Problem: Coverity complains about not checking curwin to be NULL. +Solution: Use firstwin to avoid the warning. +Files: src/buffer.c + +Patch 7.4.2331 +Problem: Using CTRL-X CTRL-V to complete a command line from Insert mode + does not work after entering an expression on the command line. +Solution: Don't use "ccline" when not actually using a command line. (test + by Hirohito Higashi) +Files: src/edit.c, src/ex_getln.c, src/proto/ex_getln.pro, + src/testdir/test_popup.vim + +Patch 7.4.2332 +Problem: Crash when stop_timer() is called in a callback of a callback. + Vim hangs when the timer callback uses too much time. +Solution: Set tr_id to -1 when a timer is to be deleted. Don't keep calling + callbacks forever. (Ozaki Kiichi) +Files: src/evalfunc.c, src/ex_cmds2.c, src/structs.h, + src/proto/ex_cmds2.pro, src/testdir/test_timers.vim + +Patch 7.4.2333 +Problem: Outdated comments in test. +Solution: Cleanup normal mode test. (Christian Brabandt) +Files: src/testdir/test_normal.vim + +Patch 7.4.2334 +Problem: On MS-Windows test_getcwd leaves Xtopdir behind. +Solution: Set 'noswapfile'. (Michael Soyka) +Files: src/testdir/test_getcwd.in + +Patch 7.4.2335 +Problem: taglist() is slow. (Luc Hermitte) +Solution: Check for CTRL-C less often when doing a linear search. (closes + #1044) +Files: src/tag.c + +Patch 7.4.2336 +Problem: Running normal mode tests leave a couple of files behind. + (Yegappan Lakshmanan) +Solution: Delete the files. (Christian Brabandt) +Files: src/testdir/test_normal.vim + +Patch 7.4.2337 +Problem: taglist() is still slow. (Luc Hermitte) +Solution: Check for CTRL-C less often when finding duplicates. +Files: src/tag.c + +Patch 7.4.2338 +Problem: Can't build with small features. (John Marriott) +Solution: Nearly always define FEAT_TAG_BINS. +Files: src/feature.h, src/tag.c + +Patch 7.4.2339 +Problem: Tab page test fails when run as fake root. +Solution: Check 'buftype' instead of 'filetype'. (James McCoy, closes #1042) +Files: src/testdir/test_tabpage.vim + +Patch 7.4.2340 +Problem: MS-Windows: Building with Ruby uses old version. +Solution: Update to 2.2.X. Use clearer name for the API version. (Ken + Takata) +Files: Makefile, src/INSTALLpc.txt, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/bigvim.bat + +Patch 7.4.2341 +Problem: Tiny things. Test doesn't clean up properly. +Solution: Adjust comment and white space. Restore option value. +Files: src/ex_cmds.c, src/message.c, src/testdir/test_autocmd.vim + +Patch 7.4.2342 +Problem: Typo in MS-Windows build script. +Solution: change "w2" to "22". +Files: src/bigvim.bat + +Patch 7.4.2343 +Problem: Too many old style tests. +Solution: Turn several into new style tests. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test101.in, + src/testdir/test101.ok, src/testdir/test18.in, + src/testdir/test18.ok, src/testdir/test2.in, src/testdir/test2.ok, + src/testdir/test21.in, src/testdir/test21.ok, + src/testdir/test6.in, src/testdir/test6.ok, + src/testdir/test_arglist.vim, src/testdir/test_charsearch.vim, + src/testdir/test_fnameescape.vim, src/testdir/test_gf.vim, + src/testdir/test_hlsearch.vim, src/testdir/test_smartindent.vim, + src/testdir/test_tagjump.vim, src/Makefile + +Patch 7.4.2344 +Problem: The "Reading from channel output..." message can be unwanted. + Appending to a buffer leaves an empty first line behind. +Solution: Add the "out_msg" and "err_msg" options. Writing the first line + overwrites the first, empty line. +Files: src/structs.h, src/channel.c, src/testdir/test_channel.vim, + runtime/doc/channel.txt + +Patch 7.4.2345 (after 7.4.2340) +Problem: For MinGW RUBY_API_VER_LONG isn't set correctly. Many default + version numbers are outdated. +Solution: Set RUBY_API_VER_LONG to RUBY_VER_LONG. Use latest stable releases + for defaults. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 7.4.2346 +Problem: Autocommand test fails when run directly, passes when run as part + of test_alot. +Solution: Add command to make the cursor move. Close a tab page. +Files: src/testdir/test_autocmd.vim + +Patch 7.4.2347 +Problem: Crash when closing a buffer while Visual mode is active. + (Dominique Pelle) +Solution: Adjust the position before computing the number of lines. + When closing the current buffer stop Visual mode. +Files: src/buffer.c, src/normal.c, src/testdir/test_normal.vim + +Patch 7.4.2348 +Problem: Crash on exit when EXITFREE is defined. (Dominique Pelle) +Solution: Don't access curwin when exiting. +Files: src/buffer.c + +Patch 7.4.2349 +Problem: Valgrind reports using uninitialized memory. (Dominique Pelle) +Solution: Check the length before checking for a NUL. +Files: src/message.c + +Patch 7.4.2350 +Problem: Test 86 and 87 fail with some version of Python. +Solution: Unify "can't" and "cannot". Unify quotes. +Files: src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + +Patch 7.4.2351 +Problem: Netbeans test fails when run from unpacked MS-Windows sources. +Solution: Open README.txt instead of Makefile. +Files: src/testdir/test_netbeans.py, src/testdir/test_netbeans.vim + +Patch 7.4.2352 +Problem: Netbeans test fails in shadow directory. +Solution: Also copy README.txt to the shadow directory. +Files: src/Makefile + +Patch 7.4.2353 +Problem: Not enough test coverage for Normal mode commands. +Solution: Add more tests. (Christian Brabandt) +Files: src/testdir/test_normal.vim + +Patch 7.4.2354 +Problem: The example that explains nested backreferences does not work + properly with the new regexp engine. (Harm te Hennepe) +Solution: Also save the end position when adding a state. (closes #990) +Files: src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 7.4.2355 +Problem: Regexp fails to match when using "\>\)\?". (Ramel) +Solution: When a state is already in the list, but addstate_here() is used + and the existing state comes later, add the new state anyway. +Files: src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 7.4.2356 +Problem: Reading past end of line when using previous substitute pattern. + (Dominique Pelle) +Solution: Don't set "pat" only set "searchstr". +Files: src/search.c, src/testdir/test_search.vim + +Patch 7.4.2357 +Problem: Attempt to read history entry while not initialized. +Solution: Skip when the index is negative. +Files: src/ex_getln.c + +Patch 7.4.2358 +Problem: Compiler warnings with Solaris Studio when using GTK3. (Danek + Duvall) +Solution: Define FUNC2GENERIC depending on the system. (Kazunobu Kuriyama) +Files: src/gui.h, src/gui_beval.c, src/gui_gtk_f.c + +Patch 7.4.2359 +Problem: Memory leak in timer_start(). +Solution: Check the right field to be NULL. +Files: src/evalfunc.c, src/testdir/test_timers.vim + +Patch 7.4.2360 +Problem: Invalid memory access when formatting. (Dominique Pelle) +Solution: Make sure cursor line and column are associated. +Files: src/misc1.c + +Patch 7.4.2361 +Problem: Checking for last_timer_id to overflow is not reliable. (Ozaki + Kiichi) +Solution: Check for the number not going up. +Files: src/ex_cmds2.c + +Patch 7.4.2362 +Problem: Illegal memory access with ":1@". (Dominique Pelle) +Solution: Correct cursor column after setting the line number. Also avoid + calling end_visual_mode() when not in Visual mode. +Files: src/ex_docmd.c, src/buffer.c + +Patch 7.4.2363 +Problem: Superfluous function prototypes. +Solution: Remove them. +Files: src/regexp.c + +Patch 7.4.2364 +Problem: Sort test sometimes fails. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 7.4.2365 +Problem: Needless line break. Confusing directory name. +Solution: Remove line break. Prepend "../" to "tools". +Files: Makefile, src/normal.c + +Patch 7.4.2366 +Problem: MS-Windows gvim.exe does not have DirectX support. +Solution: Add the DIRECTX to the script. +Files: src/bigvim.bat + +Patch 7.4.2367 (after 7.4.2364) +Problem: Test runner misses a comma. +Solution: Add the comma. +Files: src/testdir/runtest.vim + + +============================================================================== +VERSION 8.1 *version-8.1* *version8.1* *vim-8.1* + +This section is about improvements made between version 8.0 and 8.1. + +This release has hundreds of bug fixes, there is a new feature and there are +many minor improvements. + + +The terminal window *new-terminal-window* +------------------- + +You can now open a window which functions as a terminal. You can use it for: +- Running a command, such as "make", while editing in other windows +- Running a shell and execute several commands +- Use the terminal debugger plugin, see |terminal-debugger| + +All of this is especially useful when running Vim on a remote (ssh) +connection, when you can't easily open more terminals. + +For more information see |terminal-window|. + + +Changed *changed-8.1* +------- + +Internal: A few C99 features are now allowed such as // comments and a +comma after the last enum entry. See |style-compiler|. + +Since patch 8.0.0029 removed support for older MS-Windows systems, only +MS-Windows XP and later are supported. + + +Added *added-8.1* +----- + +Various syntax, indent and other plugins were added. + +Quickfix improvements (by Yegappan Lakshmanan): + Added support for modifying any quickfix/location list in the quickfix + stack. + Added a unique identifier for every quickfix/location list. + Added support for associating any Vim type as a context information to + a quickfix/location list. + Enhanced the getqflist(), getloclist(), setqflist() and setloclist() + functions to get and set the various quickfix/location list attributes. + Added the QuickFixLine highlight group to highlight the current line + in the quickfix window. + The quickfix buffer b:changedtick variable is incremented for every + change to the contained quickfix list. + Added a changedtick variable to a quickfix/location list which is + incremented when the list is modified. + Added support for parsing text using 'errorformat' without creating a + new quickfix list. + Added support for the "module" item to a quickfix entry which can be + used for display purposes instead of a long file name. + Added support for freeing all the lists in the quickfix/location stack. + When opening a quickfix window using the :copen/:cwindow commands, the + supplied split modifiers are used. + +Functions: + All the term_ functions. + + |assert_beeps()| + |assert_equalfile()| + |assert_report()| + |balloon_show()| + |balloon_split()| + |ch_canread()| + |getchangelist()| + |getjumplist()| + |getwinpos()| + |pyxeval()| + |remote_startserver()| + |setbufline()| + |test_ignore_error()| + |test_override()| + |trim()| + |win_screenpos()| + +Autocommands: + |CmdlineChanged| + |CmdlineEnter| + |CmdlineLeave| + |ColorSchemePre| + |DirChanged| + |ExitPre| + |TerminalOpen| + |TextChangedP| + |TextYankPost| + +Commands: + |:pyx| + |:pythonx| + |:pyxdo| + |:pyxfile| + |:terminal| + |:tmapclear| + |:tmap| + |:tnoremap| + |:tunmap| + +Options: + 'balloonevalterm' + 'imstyle' + 'mzschemedll' + 'mzschemegcdll' + 'makeencoding' + 'pumwidth' + 'pythonhome' + 'pythonthreehome' + 'pyxversion' + 'termwinkey' + 'termwinscroll' + 'termwinsize' + 'viminfofile' + 'winptydll' + + +Patches *patches-8.1* +------- + +Patch 8.0.0001 +Problem: Intro screen still mentions version7. (Paul) +Solution: Change it to version8. +Files: src/version.c + +Patch 8.0.0002 +Problem: The netrw plugin does not work. +Solution: Make it accept version 8.0. +Files: runtime/autoload/netrw.vim + +Patch 8.0.0003 +Problem: getwinvar() returns wrong Value of boolean and number options, + especially non big endian systems. (James McCoy) +Solution: Cast the pointer to long or int. (closes #1060) +Files: src/option.c, src/testdir/test_bufwintabinfo.vim + +Patch 8.0.0004 +Problem: A string argument for function() that is not a function name + results in an error message with NULL. (Christian Brabandt) +Solution: Use the argument for the error message. +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 8.0.0005 +Problem: Netbeans test fails with Python 3. (Jonathonf) +Solution: Encode the string before sending it. (closes #1070) +Files: src/testdir/test_netbeans.py + +Patch 8.0.0006 +Problem: ":lb" is interpreted as ":lbottom" while the documentation says it + means ":lbuffer". +Solution: Adjust the order of the commands. (haya14busa, closes #1093) +Files: src/ex_cmds.h + +Patch 8.0.0007 +Problem: Vim 7.4 is still mentioned in a few places. +Solution: Update to Vim 8. (Uncle Bill, closes #1094) +Files: src/INSTALLpc.txt, src/vimtutor, uninstal.txt + +Patch 8.0.0008 +Problem: Popup complete test is disabled. +Solution: Enable the test and change the assert. (Hirohito Higashi) +Files: src/testdir/test_popup.vim + +Patch 8.0.0009 +Problem: Unnecessary workaround for AppVeyor. +Solution: Revert patch 7.4.990. (Christian Brabandt) +Files: appveyor.yml + +Patch 8.0.0010 +Problem: Crash when editing file that starts with crypt header. (igor2x) +Solution: Check for length of text. (Christian Brabandt) Add a test. +Files: src/fileio.c, src/testdir/test_crypt.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0011 +Problem: On OSX Test_pipe_through_sort_all() sometimes fails. +Solution: Add the test to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0012 +Problem: Typos in comments. +Solution: Change "its" to "it's". (Matthew Brener, closes #1088) +Files: src/evalfunc.c, src/main.aap, src/nbdebug.c, src/netbeans.c, + src/quickfix.c, src/workshop.c, src/wsdebug.c + +Patch 8.0.0013 (after 8.0.0011) +Problem: Missing comma in list. +Solution: Add the comma. +Files: src/testdir/runtest.vim + +Patch 8.0.0014 +Problem: Crypt tests are old style. +Solution: Convert to new style. +Files: src/testdir/test71.in, src/testdir/test71.ok, + src/testdir/test71a.in, src/testdir/test_crypt.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0015 +Problem: Can't tell which part of a channel has "buffered" status. +Solution: Add an optional argument to ch_status(). Let ch_info() also + return "buffered" for out_status and err_status. +Files: src/evalfunc.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, runtime/doc/eval.txt + +Patch 8.0.0016 (after 8.0.0015) +Problem: Build fails. +Solution: Include missing change. +Files: src/eval.c + +Patch 8.0.0017 +Problem: Cannot get the number of the current quickfix or location list. +Solution: Use the current list if "nr" in "what" is zero. (Yegappan + Lakshmanan) Remove debug command from test. +Files: src/quickfix.c, src/testdir/test_quickfix.vim, + runtime/doc/eval.txt + +Patch 8.0.0018 +Problem: When using ":sleep" channel input is not handled. +Solution: When there is a channel check for input also when not in raw mode. + Check every 100 msec. +Files: src/channel.c, src/proto/channel.pro, src/ui.c, src/proto/ui.pro, + src/ex_docmd.c, src/os_amiga.c, src/proto/os_amiga.pro, + src/os_unix.c, src/proto/os_unix.pro, src/os_win32.c, + src/proto/os_win32.pro + +Patch 8.0.0019 +Problem: Test_command_count is old style. +Solution: Turn it into a new style test. (Naruhiko Nishino) + Use more assert functions. +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_autocmd.vim, src/testdir/test_command_count.in, + src/testdir/test_command_count.ok, + src/testdir/test_command_count.vim + +Patch 8.0.0020 +Problem: The regexp engines are not reentrant. +Solution: Add regexec_T and save/restore the state when needed. +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_expr.vim, + runtime/doc/eval.txt, runtime/doc/change.txt + +Patch 8.0.0021 +Problem: In the GUI when redrawing the cursor it may be on the second half + of a double byte character. +Solution: Correct the cursor column. (Yasuhiro Matsumoto) +Files: src/screen.c + +Patch 8.0.0022 +Problem: If a channel in NL mode is missing the NL at the end the remaining + characters are dropped. +Solution: When the channel is closed use the remaining text. (Ozaki Kiichi) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.0.0023 +Problem: "gd" and "gD" may find a match in a comment or string. +Solution: Ignore matches in comments and strings. (Anton Lindqvist) +Files: src/normal.c, src/testdir/test_goto.vim + +Patch 8.0.0024 +Problem: When the netbeans channel closes, "DETACH" is put in the output + part. (Ozaki Kiichi) +Solution: Write "DETACH" in the socket part. +Files: src/channel.c, src/testdir/test_netbeans.vim + +Patch 8.0.0025 +Problem: Inconsistent use of spaces vs tabs in gd test. +Solution: Use tabs. (Anton Lindqvist) +Files: src/testdir/test_goto.vim + +Patch 8.0.0026 +Problem: Error format with %W, %C and %Z does not work. (Gerd Wachsmuth) +Solution: Skip code when qf_multiignore is set. (Lcd) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0027 +Problem: A channel is closed when reading on stderr or stdout fails, but + there may still be something to read on another part. +Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi) +Files: src/channel.c, src/eval.c, src/structs.h, src/proto/channel.pro, + src/testdir/test_channel.vim + +Patch 8.0.0028 +Problem: Superfluous semicolons. +Solution: Remove them. (Ozaki Kiichi) +Files: src/ex_cmds2.c + +Patch 8.0.0029 +Problem: Code for MS-Windows is complicated because of the exceptions for + old systems. +Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata) +Files: runtime/doc/gui_w32.txt, runtime/doc/os_win32.txt, + runtime/doc/todo.txt, src/GvimExt/Makefile, src/Make_mvc.mak, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_w32.c, + src/if_cscope.c, src/misc1.c, src/misc2.c, src/option.c, + src/os_mswin.c, src/os_win32.c, src/os_win32.h, + src/proto/os_mswin.pro, src/proto/os_win32.pro, src/version.c + +Patch 8.0.0030 +Problem: Mouse mode is not automatically detected for tmux. +Solution: Check for 'term' to be "tmux". (Michael Henry) +Files: src/os_unix.c + +Patch 8.0.0031 +Problem: After ":bwipeout" 'fileformat' is not set to the right default. +Solution: Get the default from 'fileformats'. (Mike Williams) +Files: src/option.c, src/Makefile, src/testdir/test_fileformat.vim, + src/testdir/test_alot.vim + +Patch 8.0.0032 +Problem: Tests may change the input file when something goes wrong. +Solution: Avoid writing the input file. +Files: src/testdir/test51.in, src/testdir/test67.in, + src/testdir/test97.in, src/testdir/test_tabpage.vim + +Patch 8.0.0033 +Problem: Cannot use overlapping positions with matchaddpos(). +Solution: Check end of match. (Ozaki Kiichi) Add a test (Hirohito Higashi) +Files: src/screen.c, src/testdir/test_match.vim + +Patch 8.0.0034 +Problem: No completion for ":messages". +Solution: Complete "clear" argument. (Hirohito Higashi) +Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, + src/testdir/test_cmdline.vim, src/vim.h, + runtime/doc/eval.txt, runtime/doc/map.txt + +Patch 8.0.0035 (after 7.4.2013) +Problem: Order of matches for 'omnifunc' is messed up. (Danny Su) +Solution: Do not set compl_curr_match when called from complete_check(). + (closes #1168) +Files: src/edit.c, src/evalfunc.c, src/proto/edit.pro, src/search.c, + src/spell.c, src/tag.c, src/testdir/test76.in, + src/testdir/test76.ok, src/testdir/test_popup.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0036 +Problem: Detecting that a job has finished may take a while. +Solution: Check for a finished job more often (Ozaki Kiichi) +Files: src/channel.c, src/os_unix.c, src/os_win32.c, + src/proto/os_unix.pro, src/proto/os_win32.pro, + src/testdir/test_channel.vim + +Patch 8.0.0037 +Problem: Get E924 when switching tabs. () +Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille, + closes #1167, closes #1171) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0038 +Problem: OPEN_CHR_FILES not defined for FreeBSD using Debian userland + files. +Solution: Check for __FreeBSD_kernel__. (James McCoy, closes #1166) +Files: src/vim.h + +Patch 8.0.0039 +Problem: When Vim 8 reads an old viminfo and exits, the next time marks are + not read from viminfo. (Ned Batchelder) +Solution: Set a mark when it wasn't set before, even when the timestamp is + zero. (closes #1170) +Files: src/mark.c, src/testdir/test_viminfo.vim + +Patch 8.0.0040 (after 8.0.0033) +Problem: Whole line highlighting with matchaddpos() does not work. +Solution: Check for zero length. (Hirohito Higashi) +Files: src/screen.c, src/testdir/test_match.vim + +Patch 8.0.0041 +Problem: When using Insert mode completion but not actually inserting + anything an undo item is still created. (Tommy Allen) +Solution: Do not call stop_arrow() when not inserting anything. +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0042 (after 8.0.0041) +Problem: When using Insert mode completion with 'completeopt' containing + "noinsert" change is not saved for undo. (Tommy Allen) +Solution: Call stop_arrow() before inserting for pressing Enter. +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0043 (after 8.0.0041) +Problem: When using Insert mode completion with 'completeopt' containing + "noinsert" with CTRL-N the change is not saved for undo. (Tommy + Allen) +Solution: Call stop_arrow() before inserting for any key. +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0044 +Problem: In diff mode the cursor may end up below the last line, resulting + in an ml_get error. +Solution: Check the line to be valid. +Files: src/move.c, src/diff.c, src/proto/diff.pro, + src/testdir/test_diffmode.vim + +Patch 8.0.0045 +Problem: Calling job_stop() right after job_start() does not work. +Solution: Block signals while fork is still busy. (Ozaki Kiichi, closes + #1155) +Files: src/auto/configure, src/config.h.in, src/configure.in, + src/os_unix.c, src/testdir/test_channel.vim + +Patch 8.0.0046 +Problem: Using NUL instead of NULL. +Solution: Change to NULL. (Dominique Pelle) +Files: src/ex_cmds.c, src/json.c + +Patch 8.0.0047 +Problem: Crash when using the preview window from an unnamed buffer. + (lifepillar) +Solution: Do not clear the wrong buffer. (closes #1200) +Files: src/popupmnu.c + +Patch 8.0.0048 +Problem: On Windows job_stop() stops cmd.exe, not the processes it runs. + (Linwei) +Solution: Iterate over all processes and terminate the one where the parent + is the job process. (Yasuhiro Matsumoto, closes #1184) +Files: src/os_win32.c, src/structs.h + +Patch 8.0.0049 +Problem: When a match ends in part of concealed text highlighting, it might + mess up concealing by resetting prev_syntax_id. +Solution: Do not reset prev_syntax_id and add a test to verify. (Christian + Brabandt, closes #1092) +Files: src/screen.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.0.0050 +Problem: An exiting job is detected with a large latency. +Solution: Check for pending job more often. (Ozaki Kiichi) Change the + double loop in mch_inchar() into one. +Files: src/channel.c, src/os_unix.c, src/testdir/shared.vim, + src/testdir/test_channel.vim + +Patch 8.0.0051 (after 8.0.0048) +Problem: New code for job_stop() breaks channel test on AppVeyor. +Solution: Revert the change. +Files: src/os_win32.c, src/structs.h + +Patch 8.0.0052 (after 8.0.0049) +Problem: Conceal test passes even without the bug fix. +Solution: Add a redraw command. (Christian Brabandt) +Files: src/testdir/test_matchadd_conceal.vim + +Patch 8.0.0053 (after 8.0.0047) +Problem: No test for what 8.0.0047 fixes. +Solution: Add a test. (Hirohito Higashi) +Files: src/testdir/test_popup.vim + +Patch 8.0.0054 (after 8.0.0051) +Problem: On Windows job_stop() stops cmd.exe, not the processes it runs. + (Linwei) +Solution: Iterate over all processes and terminate the one where the parent + is the job process. Now only when there is no job object. + (Yasuhiro Matsumoto, closes #1203) +Files: src/os_win32.c + +Patch 8.0.0055 +Problem: Minor comment and style deficiencies. +Solution: Update comments and fix style. +Files: src/buffer.c, src/misc2.c, src/os_unix.c + +Patch 8.0.0056 +Problem: When setting 'filetype' there is no check for a valid name. +Solution: Only allow valid characters in 'filetype', 'syntax' and 'keymap'. +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0057 (after 8.0.0056) +Problem: Tests fail without the 'keymap' features. +Solution: Check for feature in test. +Files: src/testdir/test_options.vim + +Patch 8.0.0058 +Problem: Positioning of the popup menu is not good. +Solution: Position it better. (Hirohito Higashi) +Files: src/popupmnu.c + +Patch 8.0.0059 +Problem: Vim does not build on VMS systems. +Solution: Various changes for VMS. (Zoltan Arpadffy) +Files: src/json.c, src/macros.h, src/Make_vms.mms, src/os_unix.c, + src/os_unix.h, src/os_vms.c, src/os_vms_conf.h, + src/proto/os_vms.pro, src/testdir/Make_vms.mms + +Patch 8.0.0060 +Problem: When using an Ex command for 'keywordprg' it is escaped as with a + shell command. (Romain Lafourcade) +Solution: Escape for an Ex command. (closes #1175) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.0.0061 (after 8.0.0058) +Problem: Compiler warning for unused variable. +Solution: Add #ifdef. (John Marriott) +Files: src/popupmnu.c + +Patch 8.0.0062 +Problem: No digraph for HORIZONTAL ELLIPSIS. +Solution: Use ",.". (Hans Ginzel, closes #1226) +Files: src/digraph.c, runtime/doc/digraph.txt + +Patch 8.0.0063 +Problem: Compiler warning for comparing with unsigned. (Zoltan Arpadffy) +Solution: Change <= to ==. +Files: src/undo.c + +Patch 8.0.0064 (after 8.0.0060) +Problem: Normal test fails on MS-Windows. +Solution: Don't try using an illegal file name. +Files: src/testdir/test_normal.vim + +Patch 8.0.0065 (after 8.0.0056) +Problem: Compiler warning for unused function in tiny build. (Tony + Mechelynck) +Solution: Add #ifdef. +Files: src/option.c + +Patch 8.0.0066 +Problem: when calling an operator function when 'linebreak' is set, it is + internally reset before calling the operator function. +Solution: Restore 'linebreak' before calling op_function(). (Christian + Brabandt) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.0.0067 +Problem: VMS has a problem with infinity. +Solution: Avoid an overflow. (Zoltan Arpadffy) +Files: src/json.c, src/macros.h + +Patch 8.0.0068 +Problem: Checking did_throw after executing autocommands is wrong. (Daniel + Hahler) +Solution: Call aborting() instead, and only when autocommands were executed. +Files: src/quickfix.c, src/if_cscope.c, src/testdir/test_quickfix.vim + +Patch 8.0.0069 +Problem: Compiler warning for self-comparison. +Solution: Define ONE_WINDOW and add #ifdef. +Files: src/globals.h, src/buffer.c, src/ex_docmd.c, src/move.c, + src/screen.c, src/quickfix.c, src/window.c + +Patch 8.0.0070 +Problem: Tests referred in Makefile that no longer exist. +Solution: Remove test71 and test74 entries. (Michael Soyka) +Files: src/testdir/Mak_ming.mak + +Patch 8.0.0071 +Problem: Exit value from a shell command is wrong. (Hexchain Tong) +Solution: Do not check for ended jobs while waiting for a shell command. + (ichizok, closes #1196) +Files: src/os_unix.c + +Patch 8.0.0072 +Problem: MS-Windows: Crash with long font name. (Henry Hu) +Solution: Fix comparing with LF_FACESIZE. (Ken Takata, closes #1243) +Files: src/os_mswin.c + +Patch 8.0.0073 (after 8.0.0069) +Problem: More comparisons between firstwin and lastwin. +Solution: Use ONE_WINDOW for consistency. (Hirohito Higashi) +Files: src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/option.c, + src/window.c + +Patch 8.0.0074 +Problem: Cannot make Vim fail on an internal error. +Solution: Add IEMSG() and IEMSG2(). (Dominique Pelle) Avoid reporting an + internal error without mentioning where. +Files: src/globals.h, src/blowfish.c, src/dict.c, src/edit.c, src/eval.c, + src/evalfunc.c, src/ex_eval.c, src/getchar.c, src/gui_beval.c, + src/gui_w32.c, src/hangulin.c, src/hashtab.c, src/if_cscope.c, + src/json.c, src/memfile.c, src/memline.c, src/message.c, + src/misc2.c, src/option.c, src/quickfix.c, src/regexp.c, + src/spell.c, src/undo.c, src/userfunc.c, src/vim.h, src/window.c, + src/proto/misc2.pro, src/proto/message.pro, src/Makefile + +Patch 8.0.0075 +Problem: Using number for exception type lacks type checking. +Solution: Use an enum. +Files: src/structs.h, src/ex_docmd.c, src/ex_eval.c, + src/proto/ex_eval.pro + +Patch 8.0.0076 +Problem: Channel log has double parens ()(). +Solution: Remove () for write_buf_line. (Yasuhiro Matsumoto) +Files: src/channel.c + +Patch 8.0.0077 +Problem: The GUI code is not tested by Travis. +Solution: Install the virtual framebuffer. +Files: .travis.yml + +Patch 8.0.0078 +Problem: Accessing freed memory in quickfix. +Solution: Reset pointer when freeing 'errorformat'. (Dominique Pelle) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0079 +Problem: Accessing freed memory in quickfix. (Dominique Pelle) +Solution: Do not free the current list when adding to it. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0080 +Problem: The OS X build fails on Travis. +Solution: Skip the virtual framebuffer on OS X. +Files: .travis.yml + +Patch 8.0.0081 +Problem: Inconsistent function names. +Solution: Rename do_cscope to ex_cscope. Clean up comments. +Files: src/ex_cmds.h, src/if_cscope.c, src/ex_docmd.c, + src/proto/if_cscope.pro + +Patch 8.0.0082 +Problem: Extension for configure should be ".ac". +Solution: Rename configure.in to configure.ac. (James McCoy, closes #1173) +Files: src/configure.in, src/configure.ac, Filelist, src/Makefile, + src/blowfish.c, src/channel.c, src/config.h.in, src/main.aap, + src/os_unix.c, src/INSTALL, src/mysign + +Patch 8.0.0083 +Problem: Using freed memory with win_getid(). (Dominique Pelle) +Solution: For the current tab use curwin. +Files: src/window.c, src/testdir/test_window_id.vim + +Patch 8.0.0084 +Problem: Using freed memory when adding to a quickfix list. (Dominique + Pelle) +Solution: Clear the directory name. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0085 +Problem: Using freed memory with recursive function call. (Dominique Pelle) +Solution: Make a copy of the function name. +Files: src/eval.c, src/testdir/test_nested_function.vim + +Patch 8.0.0086 +Problem: Cannot add a comment after ":hide". (Norio Takagi) +Solution: Make it work, add a test. (Hirohito Higashi) +Files: src/Makefile, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/Make_all.mak, src/testdir/test_hide.vim + +Patch 8.0.0087 +Problem: When the channel callback gets job info the job may already have + been deleted. (lifepillar) +Solution: Do not delete the job when the channel is still useful. (ichizok, + closes #1242, closes #1245) +Files: src/channel.c, src/eval.c, src/os_unix.c, src/os_win32.c, + src/structs.h, src/testdir/test_channel.vim + +Patch 8.0.0088 +Problem: When a test fails in Setup or Teardown the problem is not reported. +Solution: Add a try/catch. (Hirohito Higashi) +Files: src/testdir/runtest.vim + +Patch 8.0.0089 +Problem: Various problems with GTK 3.22.2. +Solution: Fix the problems, add #ifdefs. (Kazunobu Kuriyama) +Files: src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c + +Patch 8.0.0090 +Problem: Cursor moved after last character when using 'breakindent'. +Solution: Fix the cursor positioning. Turn the breakindent test into new + style. (Christian Brabandt) +Files: src/screen.c, src/testdir/Make_all.mak, + src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok, + src/testdir/test_breakindent.vim, src/Makefile + +Patch 8.0.0091 +Problem: Test_help_complete sometimes fails in MS-Windows console. +Solution: Use getcompletion() instead of feedkeys() and command line + completion. (Hirohito Higashi) +Files: src/testdir/test_help_tagjump.vim + +Patch 8.0.0092 +Problem: C indenting does not support nested namespaces that C++ 17 has. +Solution: Add check that passes double colon inside a name. (Pauli, closes + #1214) +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 8.0.0093 +Problem: Not using multiprocess build feature. +Solution: Enable multiprocess build with MSVC 10. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 8.0.0094 +Problem: When vimrun.exe is not found the error message is not properly + encoded. +Solution: Use utf-16 and MessageBoxW(). (Ken Takata) +Files: src/os_win32.c + +Patch 8.0.0095 +Problem: Problems with GTK 3.22.2 fixed in 3.22.4. +Solution: Adjust the #ifdefs. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 8.0.0096 +Problem: When the input or output is not a tty Vim appears to hang. +Solution: Add the --ttyfail argument. Also add the "ttyin" and "ttyout" + features to be able to check in Vim script. +Files: src/globals.h, src/structs.h, src/main.c, src/evalfunc.c, + runtime/doc/starting.txt, runtime/doc/eval.txt + +Patch 8.0.0097 +Problem: When a channel callback consumes a lot of time Vim becomes + unresponsive. (skywind) +Solution: Bail out of checking channel readahead after 100 msec. +Files: src/os_unix.c, src/misc2.c, src/vim.h, src/os_win32.c, + src/channel.c + +Patch 8.0.0098 (after 8.0.0097) +Problem: Can't build on MS-Windows. +Solution: Add missing parenthesis. +Files: src/vim.h + +Patch 8.0.0099 +Problem: Popup menu always appears above the cursor when it is in the lower + half of the screen. (Matt Gardner) +Solution: Compute the available space better. (Hirohito Higashi, + closes #1241) +Files: src/popupmnu.c + +Patch 8.0.0100 +Problem: Options that are a file name may contain non-filename characters. +Solution: Check for more invalid characters. +Files: src/option.c + +Patch 8.0.0101 +Problem: Some options are not strictly checked. +Solution: Add flags for stricter checks. +Files: src/option.c + +Patch 8.0.0102 (after 8.0.0101) +Problem: Cannot set 'dictionary' to a path. +Solution: Allow for slash and backslash. Add a test (partly by Daisuke + Suzuki, closes #1279, closes #1284) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0103 +Problem: May not process channel readahead. (skywind) +Solution: If there is readahead don't block on input. +Files: src/channel.c, src/proto/channel.pro, src/os_unix.c, + src/os_win32.c, src/misc2.c + +Patch 8.0.0104 +Problem: Value of 'thesaurus' option not checked properly. +Solution: Add P_NDNAME flag. (Daisuke Suzuki) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0105 +Problem: When using ch_read() with zero timeout, can't tell the difference + between reading an empty line and nothing available. +Solution: Add ch_canread(). +Files: src/evalfunc.c, src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, src/testdir/shared.vim, + runtime/doc/eval.txt, runtime/doc/channel.txt + +Patch 8.0.0106 (after 8.0.0100) +Problem: Cannot use a semicolon in 'backupext'. (Jeff) +Solution: Allow for a few more characters when "secure" isn't set. +Files: src/option.c + +Patch 8.0.0107 +Problem: When reading channel output in a timer, messages may go missing. + (Skywind) +Solution: Add the "drop" option. Write error messages in the channel log. + Don't have ch_canread() check for the channel being open. +Files: src/structs.h, src/channel.c, src/message.c, src/evalfunc.c, + src/proto/channel.pro, runtime/doc/channel.txt + +Patch 8.0.0108 (after 8.0.0107) +Problem: The channel "drop" option is not tested. +Solution: Add a test. +Files: src/testdir/test_channel.vim + +Patch 8.0.0109 +Problem: Still checking if memcmp() exists while every system should have + it now. +Solution: Remove vim_memcmp(). (James McCoy, closes #1295) +Files: src/config.h.in, src/configure.ac, src/misc2.c, src/os_vms_conf.h, + src/osdef1.h.in, src/search.c, src/tag.c, src/vim.h + +Patch 8.0.0110 +Problem: Drop command doesn't use existing window. +Solution: Check the window width properly. (Hirohito Higashi) +Files: src/buffer.c, src/testdir/test_tabpage.vim + +Patch 8.0.0111 +Problem: The :history command is not tested. +Solution: Add tests. (Dominique Pelle) +Files: runtime/doc/cmdline.txt, src/testdir/test_history.vim + +Patch 8.0.0112 +Problem: Tests 92 and 93 are old style. +Solution: Make test92 and test93 new style. (Hirohito Higashi, closes #1289) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test92.in, src/testdir/test92.ok, + src/testdir/test93.in, src/testdir/test93.ok, + src/testdir/test_mksession.vim, + src/testdir/test_mksession_utf8.vim + +Patch 8.0.0113 +Problem: MS-Windows: message box to prompt for saving changes may appear on + the wrong monitor. +Solution: Adjust the CenterWindow function. (Ken Takata) +Files: src/gui_w32.c + +Patch 8.0.0114 +Problem: Coding style not optimal. +Solution: Add spaces. (Ken Takata) +Files: src/gui_w32.c, src/os_mswin.c + +Patch 8.0.0115 +Problem: When building with Cygwin libwinpthread isn't found. +Solution: Link winpthread statically. (jmmerz, closes #1255, closes #1256) +Files: src/Make_cyg_ming.mak + +Patch 8.0.0116 +Problem: When reading English help and using CTRl-] the language from + 'helplang' is used. +Solution: Make help tag jumps keep the language. (Tatsuki, test by Hirohito + Higashi, closes #1249) +Files: src/tag.c, src/testdir/test_help_tagjump.vim + +Patch 8.0.0117 +Problem: Parallel make fails. (J. Lewis Muir) +Solution: Make sure the objects directory exists. (closes #1259) +Files: src/Makefile + +Patch 8.0.0118 +Problem: "make proto" adds extra function prototype. +Solution: Add #ifdef. +Files: src/misc2.c + +Patch 8.0.0119 +Problem: No test for using CTRL-R on the command line. +Solution: Add a test. (Dominique Pelle) And some more. +Files: src/testdir/test_cmdline.vim + +Patch 8.0.0120 +Problem: Channel test is still flaky on OS X. +Solution: Set the drop argument to "never". +Files: src/testdir/test_channel.vim + +Patch 8.0.0121 +Problem: Setting 'cursorline' changes the curswant column. (Daniel Hahler) +Solution: Add the P_RWINONLY flag. (closes #1297) +Files: src/option.c, src/testdir/test_goto.vim + +Patch 8.0.0122 +Problem: Channel test is still flaky on OS X. +Solution: Add a short sleep. +Files: src/testdir/test_channel.py + +Patch 8.0.0123 +Problem: Modern Sun compilers define "__sun" instead of "sun". +Solution: Use __sun. (closes #1296) +Files: src/mbyte.c, src/pty.c, src/os_unixx.h, src/vim.h + +Patch 8.0.0124 +Problem: Internal error for assert_inrange(1, 1). +Solution: Adjust number of allowed arguments. (Dominique Pelle) +Files: src/evalfunc.c, src/testdir/test_assert.vim + +Patch 8.0.0125 +Problem: Not enough testing for entering Ex commands. +Solution: Add test for CTRL-\ e {expr}. (Dominique Pelle) +Files: src/testdir/test_cmdline.vim + +Patch 8.0.0126 +Problem: Display problem with 'foldcolumn' and a wide character. + (esiegerman) +Solution: Don't use "extra" but an allocated buffer. (Christian Brabandt, + closes #1310) +Files: src/screen.c, src/testdir/Make_all.mak, src/Makefile, + src/testdir/test_display.vim + +Patch 8.0.0127 +Problem: Cancelling completion still inserts text when formatting is done + for 'textwidth'. (lacygoill) +Solution: Don't format when CTRL-E was typed. (Hirohito Higashi, + closes #1312) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0128 (after 8.0.0126) +Problem: Display test fails on MS-Windows. +Solution: Set 'isprint' to "@". +Files: src/testdir/test_display.vim + +Patch 8.0.0129 +Problem: Parallel make still doesn't work. (Lewis Muir) +Solution: Define OBJ_MAIN. +Files: src/Makefile + +Patch 8.0.0130 +Problem: Configure uses "ushort" while the Vim code doesn't. +Solution: Use "unsigned short" instead. (Fredrik Fornwall, closes #1314) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.0131 +Problem: Not enough test coverage for syntax commands. +Solution: Add more tests. (Dominique Pelle) +Files: src/testdir/test_syntax.vim + +Patch 8.0.0132 (after 8.0.0131) +Problem: Test fails because of using :finish. +Solution: Change to return. +Files: src/testdir/test_syntax.vim + +Patch 8.0.0133 +Problem: "2;'(" causes ml_get errors in an empty buffer. (Dominique Pelle) +Solution: Check the cursor line earlier. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.0.0134 +Problem: Null pointer access reported by UBsan. +Solution: Check curwin->w_buffer is not NULL. (Yegappan Lakshmanan) +Files: src/ex_cmds.c + +Patch 8.0.0135 +Problem: An address relative to the current line, ":.,+3y", does not work + properly on a closed fold. (Efraim Yawitz) +Solution: Correct for including the closed fold. (Christian Brabandt) +Files: src/ex_docmd.c, src/testdir/test_fold.vim, + src/testdir/Make_all.mak, src/Makefile + +Patch 8.0.0136 +Problem: When using indent folding and changing indent the wrong fold is + opened. (Jonathan Fudger) +Solution: Open the fold under the cursor a bit later. (Christian Brabandt) +Files: src/ops.c, src/testdir/test_fold.vim + +Patch 8.0.0137 +Problem: When 'maxfuncdepth' is set above 200 the nesting is limited to + 200. (Brett Stahlman) +Solution: Allow for Ex command recursion depending on 'maxfuncdepth'. +Files: src/ex_docmd.c, src/testdir/test_nested_function.vim + +Patch 8.0.0138 (after 8.0.0137) +Problem: Small build fails. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.0.0139 (after 8.0.0135) +Problem: Warning for unused argument. +Solution: Add UNUSED. +Files: src/ex_docmd.c + +Patch 8.0.0140 +Problem: Pasting inserted text in Visual mode does not work properly. + (Matthew Malcomson) +Solution: Stop Visual mode before stuffing the inserted text. (Christian + Brabandt, from neovim #5709) +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.0.0141 (after 8.0.0137) +Problem: Nested function test fails on AppVeyor. +Solution: Disable the test on Windows for now. +Files: src/testdir/test_nested_function.vim + +Patch 8.0.0142 +Problem: Normal colors are wrong with 'termguicolors'. +Solution: Initialize to INVALCOLOR instead of zero. (Ben Jackson, closes + #1344) +Files: src/syntax.c + +Patch 8.0.0143 +Problem: Line number of current buffer in getbufinfo() is wrong. +Solution: For the current buffer use the current line number. (Ken Takata) +Files: src/evalfunc.c + +Patch 8.0.0144 +Problem: When using MSVC the GvimExt directory is cleaned twice. +Solution: Remove the lines. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 8.0.0145 +Problem: Running tests on MS-Windows is a little bit noisy. +Solution: Redirect some output to "nul". (Ken Takata) +Files: src/testdir/Make_dos.mak + +Patch 8.0.0146 +Problem: When using 'termguicolors' on MS-Windows the RGB definition causes + the colors to be wrong. +Solution: Undefined RGB and use our own. (Gabriel Barta) +Files: src/term.c + +Patch 8.0.0147 +Problem: searchpair() does not work when 'magic' is off. (Chris Paul) +Solution: Add \m in the pattern. (Christian Brabandt, closes #1341) +Files: src/evalfunc.c, src/testdir/test_search.vim + +Patch 8.0.0148 +Problem: When a C preprocessor statement has two line continuations the + following line does not have the right indent. (Ken Takata) +Solution: Add the indent of the previous continuation line. (Hirohito + Higashi) +Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 8.0.0149 +Problem: ":earlier" and ":later" do not work after startup or reading the + undo file. +Solution: Use absolute time stamps instead of relative to the Vim start + time. (Christian Brabandt, Pavel Juhas, closes #1300, closes + #1254) +Files: src/testdir/test_undo.vim, src/undo.c + +Patch 8.0.0150 +Problem: When the pattern of :filter does not have a separator then + completion of the command fails. +Solution: Skip over the pattern. (Ozaki Kiichi, closes #1299) +Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim + +Patch 8.0.0151 +Problem: To pass buffer content to system() and systemlist() one has to + first create a string or list. +Solution: Allow passing a buffer number. (LemonBoy, closes #1240) +Files: runtime/doc/eval.txt, src/Makefile, src/evalfunc.c, + src/testdir/Make_all.mak, src/testdir/test_system.vim + +Patch 8.0.0152 +Problem: Running the channel test creates channellog. +Solution: Delete the debug line. +Files: src/testdir/test_channel.vim + +Patch 8.0.0153 (after 8.0.0151) +Problem: system() test fails on MS-Windows. +Solution: Deal with extra space and CR. +Files: src/testdir/test_system.vim + +Patch 8.0.0154 (after 8.0.0151) +Problem: system() test fails on OS/X. +Solution: Deal with leading spaces. +Files: src/testdir/test_system.vim + +Patch 8.0.0155 +Problem: When sorting zero elements a NULL pointer is passed to qsort(), + which ubsan warns for. +Solution: Don't call qsort() if there are no elements. (Dominique Pelle) +Files: src/syntax.c + +Patch 8.0.0156 +Problem: Several float functions are not covered by tests. +Solution: Add float tests. (Dominique Pelle) +Files: src/Makefile, src/testdir/test_alot.vim, + src/testdir/test_float_func.vim + +Patch 8.0.0157 +Problem: No command line completion for ":syntax spell" and ":syntax sync". +Solution: Implement the completion. (Dominique Pelle) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.0.0158 (after 8.0.0156) +Problem: On MS-Windows some float functions return a different value when + passed unusual values. strtod() doesn't work for "inf" and "nan". +Solution: Accept both results. Fix str2float() for MS-Windows. Also + reorder assert function arguments. +Files: src/testdir/test_float_func.vim, src/eval.c + +Patch 8.0.0159 +Problem: Using a NULL pointer when using feedkeys() to trigger drawing a + tabline. +Solution: Skip drawing a tabline if TabPageIdxs is NULL. (Dominique Pelle) + Also fix recursing into getcmdline() from the cmd window. +Files: src/screen.c, src/ex_getln.c + +Patch 8.0.0160 +Problem: EMSG() is sometimes used for internal errors. +Solution: Change them to IEMSG(). (Dominique Pelle) And a few more. +Files: src/regexp_nfa.c, src/channel.c, src/eval.c + +Patch 8.0.0161 (after 8.0.0159) +Problem: Build fails when using small features. +Solution: Update #ifdef for using save_ccline. (Hirohito Higashi) +Files: src/ex_getln.c + +Patch 8.0.0162 +Problem: Build error on Fedora 23 with small features and gnome2. +Solution: Undefine ngettext(). (Hirohito Higashi) +Files: src/gui_gtk.c, src/gui_gtk_x11.c + +Patch 8.0.0163 +Problem: Ruby 2.4 no longer supports rb_cFixnum. +Solution: move rb_cFixnum into an #ifdef. (Kazuki Sakamoto, closes #1365) +Files: src/if_ruby.c + +Patch 8.0.0164 +Problem: Outdated and misplaced comments. +Solution: Fix the comments. +Files: src/charset.c, src/getchar.c, src/list.c, src/misc2.c, + src/testdir/README.txt + +Patch 8.0.0165 +Problem: Ubsan warns for integer overflow. +Solution: Swap two conditions. (Dominique Pelle) +Files: src/regexp_nfa.c + +Patch 8.0.0166 +Problem: JSON with a duplicate key gives an internal error. (Lcd) +Solution: Give a normal error. Avoid an error when parsing JSON from a + remote client fails. +Files: src/evalfunc.c, src/json.c, src/channel.c, + src/testdir/test_json.vim + +Patch 8.0.0167 +Problem: str2nr() and str2float() do not always work with negative values. +Solution: Be more flexible about handling signs. (LemonBoy, closes #1332) + Add more tests. +Files: src/evalfunc.c, src/testdir/test_float_func.vim, + src/testdir/test_functions.vim, src/testdir/test_alot.vim, + src/Makefile + +Patch 8.0.0168 +Problem: Still some float functionality is not covered by tests. +Solution: Add more tests. (Dominique Pelle, closes #1364) +Files: src/testdir/test_float_func.vim + +Patch 8.0.0169 +Problem: For complicated string json_decode() may run out of stack space. +Solution: Change the recursive solution into an iterative solution. +Files: src/json.c + +Patch 8.0.0170 (after 8.0.0169) +Problem: Channel test fails for using freed memory. +Solution: Fix memory use in json_decode(). +Files: src/json.c + +Patch 8.0.0171 +Problem: JS style JSON does not support single quotes. +Solution: Allow for single quotes. (Yasuhiro Matsumoto, closes #1371) +Files: src/json.c, src/testdir/test_json.vim, src/json_test.c, + runtime/doc/eval.txt + +Patch 8.0.0172 (after 8.0.0159) +Problem: The command selected in the command line window is not executed. + (Andrey Starodubtsev) +Solution: Save and restore the command line at a lower level. (closes #1370) +Files: src/ex_getln.c, src/testdir/test_history.vim + +Patch 8.0.0173 +Problem: When compiling with EBCDIC defined the build fails. (Yaroslav + Kuzmin) +Solution: Move sortFunctions() to the right file. Avoid warning for + redefining __SUSV3. +Files: src/eval.c, src/evalfunc.c, src/os_unixx.h + +Patch 8.0.0174 +Problem: For completion "locale -a" is executed on MS-Windows, even though + it most likely won't work. +Solution: Skip executing "locale -a" on MS-Windows. (Ken Takata) +Files: src/ex_cmds2.c + +Patch 8.0.0175 +Problem: Setting language in gvim on MS-Windows does not work when + libintl.dll is dynamically linked with msvcrt.dll. +Solution: Use putenv() from libintl as well. (Ken Takata, closes #1082) +Files: src/mbyte.c, src/misc1.c, src/os_win32.c, src/proto/os_win32.pro, + src/vim.h + +Patch 8.0.0176 +Problem: Using :change in between :function and :endfunction fails. +Solution: Recognize :change inside a function. (ichizok, closes #1374) +Files: src/userfunc.c, src/testdir/test_viml.vim + +Patch 8.0.0177 +Problem: When opening a buffer on a directory and inside a try/catch then + the BufEnter event is not triggered. +Solution: Return NOTDONE from readfile() for a directory and deal with the + three possible return values. (Justin M. Keyes, closes #1375, + closes #1353) +Files: src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, + src/memline.c + +Patch 8.0.0178 +Problem: test_command_count may fail when a previous test interferes, seen + on MS-Windows. +Solution: Run it separately. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak + +Patch 8.0.0179 +Problem: 'formatprg' is a global option but the value may depend on the + type of buffer. (Sung Pae) +Solution: Make 'formatprg' global-local. (closes #1380) +Files: src/structs.h, src/option.h, src/option.c, src/normal.c, + runtime/doc/options.txt, src/testdir/test_normal.vim + +Patch 8.0.0180 +Problem: Error E937 is used both for duplicate key in JSON and for trying + to delete a buffer that is in use. +Solution: Rename the JSON error to E938. (Norio Takagi, closes #1376) +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.0.0181 +Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column + highlight in non-current windows is wrong. +Solution: Add validate_cursor(). (Masanori Misono, closes #1372) +Files: src/move.c + +Patch 8.0.0182 +Problem: When 'cursorbind' and 'cursorline' are set, but 'cursorcolumn' is + not, then the cursor line highlighting is not updated. (Hirohito + Higashi) +Solution: Call redraw_later() with NOT_VALID. +Files: src/move.c + +Patch 8.0.0183 +Problem: Ubsan warns for using a pointer that is not aligned. +Solution: First copy the address. (Yegappan Lakshmanan) +Files: src/channel.c + +Patch 8.0.0184 +Problem: When in Ex mode and an error is caught by try-catch, Vim still + exits with a non-zero exit code. +Solution: Don't set ex_exitval when inside a try-catch. (partly by Christian + Brabandt) +Files: src/message.c, src/testdir/test_system.vim + +Patch 8.0.0185 (after 8.0.0184) +Problem: The system() test fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_system.vim + +Patch 8.0.0186 +Problem: The error message from assert_notequal() is confusing. +Solution: Only mention the expected value. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 8.0.0187 +Problem: Building with a new Ruby version fails. +Solution: Use ruby_sysinit() instead of NtInitialize(). (Tomas Volf, + closes #1382) +Files: src/if_ruby.c + +Patch 8.0.0188 (after 8.0.0182) +Problem: Using NOT_VALID for redraw_later() to update the cursor + line/column highlighting is not efficient. +Solution: Call validate_cursor() when 'cul' or 'cuc' is set. +Files: src/move.c + +Patch 8.0.0189 +Problem: There are no tests for the :profile command. +Solution: Add tests. (Dominique Pelle, closes #1383) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_profile.vim + +Patch 8.0.0190 +Problem: Detecting duplicate tags uses a slow linear search. +Solution: Use a much faster hash table solution. (James McCoy, closes #1046) + But don't add hi_keylen, it makes hash tables 50% bigger. +Files: src/tag.c + +Patch 8.0.0191 (after 8.0.0187) +Problem: Some systems do not have ruby_sysinit(), causing the build to + fail. +Solution: Clean up how ruby_sysinit() and NtInitialize() are used. (Taro + Muraoka) +Files: src/if_ruby.c + +Patch 8.0.0192 (after 8.0.0190) +Problem: Build fails with tiny features. +Solution: Change #ifdef for hash_clear(). Avoid warning for unused + argument. +Files: src/hashtab.c, src/if_cscope.c + +Patch 8.0.0193 (after 8.0.0188) +Problem: Accidentally removed #ifdef. +Solution: Put it back. (Masanori Misono) +Files: src/move.c + +Patch 8.0.0194 (after 8.0.0189) +Problem: Profile tests fails if total and self time are equal. +Solution: Make one time optional. +Files: src/testdir/test_profile.vim + +Patch 8.0.0195 (after 8.0.0190) +Problem: Jumping to a tag that is a static item in the current file fails. + (Kazunobu Kuriyama) +Solution: Make sure the first byte of the tag key is not NUL. (Suggested by + James McCoy, closes #1387) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.0.0196 (after 8.0.0194) +Problem: The test for :profile is slow and does not work on MS-Windows. +Solution: Use the "-es" argument. (Dominique Pelle) Swap single and double + quotes for system() +Files: src/testdir/test_profile.vim + +Patch 8.0.0197 +Problem: On MS-Windows the system() test skips a few parts. +Solution: Swap single and double quotes for the command. +Files: src/testdir/test_system.vim + +Patch 8.0.0198 +Problem: Some syntax arguments take effect even after "if 0". (Taylor + Venable) +Solution: Properly skip the syntax statements. Make "syn case" and "syn + conceal" report the current state. Fix that "syn clear" didn't + reset the conceal flag. Add tests for :syntax skipping properly. +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.0.0199 +Problem: Warning for an unused parameter when the libcall feature is + disabled. Warning for a function type cast when compiling with + -pedantic. +Solution: Add UNUSED. Use a different type cast. (Damien Molinier) +Files: src/evalfunc.c, src/os_unix.c + +Patch 8.0.0200 +Problem: Some syntax arguments are not tested. +Solution: Add more syntax command tests. +Files: src/testdir/test_syntax.vim + +Patch 8.0.0201 +Problem: When completing a group name for a highlight or syntax command + cleared groups are included. +Solution: Skip groups that have been cleared. +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.0.0202 +Problem: No test for invalid syntax group name. +Solution: Add a test for group name error and warning. +Files: src/testdir/test_syntax.vim + +Patch 8.0.0203 +Problem: Order of complication flags is sometimes wrong. +Solution: Put interface-specific flags before ALL_CFLAGS. (idea by Yousong + Zhou, closes #1100) +Files: src/Makefile + +Patch 8.0.0204 +Problem: Compiler warns for uninitialized variable. (Tony Mechelynck) +Solution: When skipping set "id" to -1. +Files: src/syntax.c + +Patch 8.0.0205 +Problem: After :undojoin some commands don't work properly, such as :redo. + (Matthew Malcomson) +Solution: Don't set curbuf->b_u_curhead. (closes #1390) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.0.0206 +Problem: Test coverage for :retab insufficient. +Solution: Add test for :retab. (Dominique Pelle, closes #1391) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test_retab.vim + +Patch 8.0.0207 +Problem: Leaking file descriptor when system() cannot find the buffer. + (Coverity) +Solution: Close the file descriptor. (Dominique Pelle, closes #1398) +Files: src/evalfunc.c + +Patch 8.0.0208 +Problem: Internally used commands for CTRL-Z and mouse click end up in + history. (Matthew Malcomson) +Solution: Use do_cmdline_cmd() instead of stuffing them in the readahead + buffer. (James McCoy, closes #1395) +Files: src/edit.c, src/normal.c + +Patch 8.0.0209 +Problem: When using :substitute with the "c" flag and 'cursorbind' is set + the cursor is not updated in other windows. +Solution: Call do_check_cursorbind(). (Masanori Misono) +Files: src/ex_cmds.c + +Patch 8.0.0210 +Problem: Vim does not support bracketed paste, as implemented by xterm and + other terminals. +Solution: Add t_BE, t_BD, t_PS and t_PE. +Files: src/term.c, src/term.h, src/option.c, src/misc2.c, src/keymap.h, + src/edit.c, src/normal.c, src/evalfunc.c, src/getchar.c, + src/vim.h, src/proto/edit.pro, runtime/doc/term.txt + +Patch 8.0.0211 (after 8.0.0210) +Problem: Build fails if the multi-byte feature is disabled. +Solution: Change #ifdef around ins_char_bytes. +Files: src/misc1.c + +Patch 8.0.0212 +Problem: The buffer used to store a key name theoretically could be too + small. (Coverity) +Solution: Count all possible modifier characters. Add a check for the + length just in case. +Files: src/keymap.h, src/misc2.c + +Patch 8.0.0213 +Problem: The Netbeans "specialKeys" command does not check if the argument + fits in the buffer. (Coverity) +Solution: Add a length check. +Files: src/netbeans.c + +Patch 8.0.0214 +Problem: Leaking memory when syntax cluster id is unknown. (Coverity) +Solution: Free the memory. +Files: src/syntax.c + +Patch 8.0.0215 +Problem: When a Cscope line contains CTRL-L a NULL pointer may be used. + (Coverity) +Solution: Don't check for an emacs tag in a cscope line. +Files: src/tag.c + +Patch 8.0.0216 +Problem: When decoding JSON with a JS style object the JSON test may use a + NULL pointer. (Coverity) +Solution: Check for a NULL pointer. +Files: src/json.c, src/json_test.c + +Patch 8.0.0217 (after 8.0.0215) +Problem: Build fails without the cscope feature. +Solution: Add #ifdef. +Files: src/tag.c + +Patch 8.0.0218 +Problem: No command line completion for :cexpr, :cgetexpr, :caddexpr, etc. +Solution: Make completion work. (Yegappan Lakshmanan) Add a test. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.0.0219 +Problem: Ubsan reports errors for integer overflow. +Solution: Define macros for minimum and maximum values. Select an + expression based on the value. (Mike Williams) +Files: src/charset.c, src/eval.c, src/evalfunc.c, src/structs.h, + src/testdir/test_viml.vim + +Patch 8.0.0220 +Problem: Completion for :match does not show "none" and other missing + highlight names. +Solution: Skip over cleared entries before checking the index to be at the + end. +Files: src/syntax.c, src/testdir/test_cmdline.vim + +Patch 8.0.0221 +Problem: Checking if PROTO is defined inside a function has no effect. +Solution: Remove the check for PROTO. (Hirohito Higashi) +Files: src/misc1.c + +Patch 8.0.0222 +Problem: When a multi-byte character ends in a zero byte, putting blockwise + text puts it before the character instead of after it. +Solution: Use int instead of char for the character under the cursor. + (Luchr, closes #1403) Add a test. +Files: src/ops.c, src/testdir/test_put.vim, src/Makefile, + src/testdir/test_alot.vim + +Patch 8.0.0223 +Problem: Coverity gets confused by the flags passed to find_tags() and + warns about uninitialized variable. +Solution: Disallow using cscope and help tags at the same time. +Files: src/tag.c + +Patch 8.0.0224 +Problem: When 'fileformats' is changed in a BufReadPre auto command, it + does not take effect in readfile(). (Gary Johnson) +Solution: Check the value of 'fileformats' after executing auto commands. + (Christian Brabandt) +Files: src/fileio.c, src/testdir/test_fileformat.vim + +Patch 8.0.0225 +Problem: When a block is visually selected and put is used on the end of + the selection only one line is changed. +Solution: Check for the end properly. (Christian Brabandt, neovim issue + 5781) +Files: src/ops.c, src/testdir/test_put.vim + +Patch 8.0.0226 +Problem: The test for patch 8.0.0224 misses the CR characters and passes + even without the fix. (Christian Brabandt) +Solution: Use double quotes and \<CR>. +Files: src/testdir/test_fileformat.vim + +Patch 8.0.0227 +Problem: Crash when 'fileformat' is forced to "dos" and the first line in + the file is empty and does not have a CR character. +Solution: Don't check for CR before the start of the buffer. +Files: src/fileio.c, src/testdir/test_fileformat.vim + +Patch 8.0.0228 (after 8.0.0210) +Problem: When pasting test in an xterm on the command line it is surrounded + by <PasteStart> and <PasteEnd>. (Johannes Kaltenbach) +Solution: Add missing changes. +Files: src/ex_getln.c, src/term.c + +Patch 8.0.0229 (after 8.0.0179) +Problem: When freeing a buffer the local value of the 'formatprg' option is + not cleared. +Solution: Add missing change. +Files: src/buffer.c + +Patch 8.0.0230 (after 8.0.0210) +Problem: When using bracketed paste line breaks are not respected. +Solution: Turn CR characters into a line break if the text is being + inserted. (closes #1404) +Files: src/edit.c + +Patch 8.0.0231 +Problem: There are no tests for bracketed paste mode. +Solution: Add a test. Fix repeating with "normal .". +Files: src/edit.c, src/testdir/test_paste.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0232 +Problem: Pasting in Insert mode does not work when bracketed paste is used + and 'esckeys' is off. +Solution: When 'esckeys' is off disable bracketed paste in Insert mode. +Files: src/edit.c + +Patch 8.0.0233 (after 8.0.0231) +Problem: The paste test fails if the GUI is being used. +Solution: Skip the test in the GUI. +Files: src/testdir/test_paste.vim + +Patch 8.0.0234 (after 8.0.0225) +Problem: When several lines are visually selected and one of them is short, + using put may cause a crash. (Axel Bender) +Solution: Check for a short line. (Christian Brabandt) +Files: src/ops.c, src/testdir/test_put.vim + +Patch 8.0.0235 +Problem: Memory leak detected when running tests for diff mode. +Solution: Free p_extra_free. +Files: src/screen.c + +Patch 8.0.0236 (after 8.0.0234) +Problem: Gcc complains that a variable may be used uninitialized. Confusion + between variable and label name. (John Marriott) +Solution: Initialize it. Rename end to end_lnum. +Files: src/ops.c + +Patch 8.0.0237 +Problem: When setting wildoptions=tagfile the completion context is not set + correctly. (desjardins) +Solution: Check for EXPAND_TAGS_LISTFILES. (Christian Brabandt, closes #1399) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.0.0238 +Problem: When using bracketed paste autoindent causes indent to be + increased. +Solution: Disable 'ai' and set 'paste' temporarily. (Ken Takata) +Files: src/edit.c, src/testdir/test_paste.vim + +Patch 8.0.0239 +Problem: The address sanitizer sometimes finds errors, but it needs to be + run manually. +Solution: Add an environment to Travis with clang and the address sanitizer. + (Christian Brabandt) Also include changes only on github. +Files: .travis.yml + +Patch 8.0.0240 (after 8.0.0239) +Problem: The clang build on CI fails with one configuration. +Solution: Redo a previous patch that was accidentally reverted. +Files: .travis.yml + +Patch 8.0.0241 +Problem: Vim defines a mch_memmove() function but it doesn't work, thus is + always unused. +Solution: Remove the mch_memmove implementation. (suggested by Dominique + Pelle) +Files: src/os_unix.h, src/misc2.c, src/vim.h + +Patch 8.0.0242 +Problem: Completion of user defined functions is not covered by tests. +Solution: Add tests. Also test various errors of user-defined commands. + (Dominique Pelle, closes #1413) +Files: src/testdir/test_usercommands.vim + +Patch 8.0.0243 +Problem: When making a character lower case with tolower() changes the byte + count, it is not made lower case. +Solution: Add strlow_save(). (Dominique Pelle, closes #1406) +Files: src/evalfunc.c, src/misc2.c, src/proto/misc2.pro, + src/testdir/test_functions.vim + +Patch 8.0.0244 +Problem: When the user sets t_BE empty after startup to disable bracketed + paste, this has no direct effect. +Solution: When t_BE is made empty write t_BD. When t_BE is made non-empty + write the new value. +Files: src/option.c + +Patch 8.0.0245 +Problem: The generated zh_CN.cp936.po message file is not encoded properly. +Solution: Instead of using zh_CN.po as input, use zh_CN.UTF-8.po. +Files: src/po/Makefile + +Patch 8.0.0246 +Problem: Compiler warnings for int to pointer conversion. +Solution: Fix macro for mch_memmove(). (John Marriott) +Files: src/vim.h + +Patch 8.0.0247 +Problem: Under some circumstances, one needs to type Ctrl-N or Ctrl-P twice + to have a menu entry selected. (Lifepillar) +Solution: call ins_compl_free(). (Christian Brabandt, closes #1411) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0248 +Problem: vim_strcat() cannot handle overlapping arguments. +Solution: Use mch_memmove() instead of strcpy(). (Justin M. Keyes, + closes #1415) +Files: src/misc2.c + +Patch 8.0.0249 +Problem: When two submits happen quick after each other, the tests for the + first one may error out. +Solution: Use a git depth of 10 instead of 1. (Christian Brabandt) +Files: .travis.yml + +Patch 8.0.0250 +Problem: When virtcol() gets a column that is not the first byte of a + multi-byte character the result is unpredictable. (Christian + Ludwig) +Solution: Correct the column to the first byte of a multi-byte character. + Change the utf-8 test to new style. +Files: src/charset.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok, + src/testdir/test_utf8.vim, src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_alot_utf8.vim + +Patch 8.0.0251 +Problem: It is not so easy to write a script that works with both Python 2 + and Python 3, even when the Python code works with both. +Solution: Add 'pyxversion', :pyx, etc. (Marc Weber, Ken Takata) +Files: Filelist, runtime/doc/eval.txt, runtime/doc/if_pyth.txt, + runtime/doc/index.txt, runtime/doc/options.txt, + runtime/optwin.vim, runtime/doc/quickref.txt, + runtime/doc/usr_41.txt, src/Makefile, src/evalfunc.c, + src/ex_cmds.h, src/ex_cmds2.c, src/ex_docmd.c, src/if_python.c, + src/if_python3.c, src/option.c, src/option.h, + src/proto/ex_cmds2.pro, src/testdir/Make_all.mak, + src/testdir/pyxfile/py2_magic.py, + src/testdir/pyxfile/py2_shebang.py, + src/testdir/pyxfile/py3_magic.py, + src/testdir/pyxfile/py3_shebang.py, src/testdir/pyxfile/pyx.py, + src/testdir/test_pyx2.vim, src/testdir/test_pyx3.vim + src/userfunc.c + +Patch 8.0.0252 +Problem: Characters below 256 that are not one byte are not always + recognized as word characters. +Solution: Make vim_iswordc() and vim_iswordp() work the same way. Add a test + for this. (Ozaki Kiichi) +Files: src/Makefile, src/charset.c, src/kword_test.c, src/mbyte.c, + src/proto/mbyte.pro + +Patch 8.0.0253 +Problem: When creating a session when 'winminheight' is 2 or larger and + loading that session gives an error. +Solution: Also set 'winminheight' before setting 'winheight' to 1. (Rafael + Bodill, neovim #5717) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.0.0254 +Problem: When using an assert function one can either specify a message or + get a message about what failed, not both. +Solution: Concatenate the error with the message. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 8.0.0255 +Problem: When calling setpos() with a buffer argument it often is ignored. + (Matthew Malcomson) +Solution: Make the buffer argument work for all marks local to a buffer. + (neovim #5713) Add more tests. +Files: src/mark.c, src/testdir/test_marks.vim, runtime/doc/eval.txt + +Patch 8.0.0256 (after 8.0.0255) +Problem: Tests fail because some changes were not included. +Solution: Add changes to evalfunc.c +Files: src/evalfunc.c + +Patch 8.0.0257 (after 8.0.0252) +Problem: The keyword test file is not included in the archive. +Solution: Update the list of files. +Files: Filelist + +Patch 8.0.0258 (after 8.0.0253) +Problem: mksession test leaves file behind. +Solution: Delete the file. Rename files to start with "X". +Files: src/testdir/test_mksession.vim + +Patch 8.0.0259 +Problem: Tab commands do not handle count correctly. (Ken Hamada) +Solution: Add ADDR_TABS_RELATIVE. (Hirohito Higashi) +Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/test_tabpage.vim + +Patch 8.0.0260 +Problem: Build fails with tiny features. +Solution: Move get_tabpage_arg() inside #ifdef. +Files: src/ex_docmd.c + +Patch 8.0.0261 +Problem: Not enough test coverage for eval functions. +Solution: Add more tests. (Dominique Pelle, closes #1420) +Files: src/testdir/test_functions.vim + +Patch 8.0.0262 +Problem: Farsi support is barely tested. +Solution: Add more tests for Farsi. Clean up the code. +Files: src/edit.c, src/farsi.c, src/testdir/test_farsi.vim + +Patch 8.0.0263 +Problem: Farsi support is not tested enough. +Solution: Add more tests for Farsi. Clean up the code. +Files: src/farsi.c, src/testdir/test_farsi.vim + +Patch 8.0.0264 +Problem: Memory error reported by ubsan, probably for using the string + returned by execute(). +Solution: NUL terminate the result of execute(). +Files: src/evalfunc.c + +Patch 8.0.0265 +Problem: May get ml_get error when :pydo deletes lines or switches to + another buffer. (Nikolai Pavlov, issue #1421) +Solution: Check the buffer and line every time. +Files: src/if_py_both.h, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0266 +Problem: Compiler warning for using uninitialized variable. +Solution: Set tab_number also when there is an error. +Files: src/ex_docmd.c + +Patch 8.0.0267 +Problem: A channel test sometimes fails on Mac. +Solution: Add the test to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0268 +Problem: May get ml_get error when :luado deletes lines or switches to + another buffer. (Nikolai Pavlov, issue #1421) +Solution: Check the buffer and line every time. +Files: src/if_lua.c, src/testdir/test_lua.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0269 +Problem: May get ml_get error when :perldo deletes lines or switches to + another buffer. (Nikolai Pavlov, issue #1421) +Solution: Check the buffer and line every time. +Files: src/if_perl.xs, src/testdir/test_perl.vim + +Patch 8.0.0270 +Problem: May get ml_get error when :rubydo deletes lines or switches to + another buffer. (Nikolai Pavlov, issue #1421) +Solution: Check the buffer and line every time. +Files: src/if_ruby.c, src/testdir/test_ruby.vim + +Patch 8.0.0271 +Problem: May get ml_get error when :tcldo deletes lines or switches to + another buffer. (Nikolai Pavlov, closes #1421) +Solution: Check the buffer and line every time. +Files: src/if_tcl.c, src/testdir/test_tcl.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0272 +Problem: Crash on exit is not detected when running tests. +Solution: Remove the dash before the command. (Dominique Pelle, closes + #1425) +Files: src/testdir/Makefile + +Patch 8.0.0273 +Problem: Dead code detected by Coverity when not using gnome. +Solution: Rearrange the #ifdefs to avoid dead code. +Files: src/gui_gtk_x11.c + +Patch 8.0.0274 +Problem: When update_single_line() is called recursively, or another screen + update happens while it is busy, errors may occur. +Solution: Check and update updating_screen. (Christian Brabandt) +Files: src/screen.c + +Patch 8.0.0275 +Problem: When checking for CTRL-C typed the GUI may detect a screen resize + and redraw the screen, causing trouble. +Solution: Set updating_screen in ui_breakcheck(). +Files: src/ui.c + +Patch 8.0.0276 +Problem: Checking for FEAT_GUI_GNOME inside GTK 3 code is unnecessary. +Solution: Remove the #ifdef. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 8.0.0277 +Problem: The GUI test may trigger fontconfig and take a long time. +Solution: Set $XDG_CACHE_HOME. (Kazunobu Kuriyama) +Files: src/testdir/unix.vim, src/testdir/test_gui.vim + +Patch 8.0.0278 (after 8.0.0277) +Problem: GUI test fails on MS-Windows. +Solution: Check that tester_HOME exists. +Files: src/testdir/test_gui.vim + +Patch 8.0.0279 +Problem: With MSVC 2015 the dll name is vcruntime140.dll. +Solution: Check the MSVC version and use the right dll name. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 8.0.0280 +Problem: On MS-Windows setting an environment variable with multi-byte + strings does not work well. +Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata) +Files: src/misc1.c, src/os_win32.c, src/os_win32.h, + src/proto/os_win32.pro, src/vim.h + +Patch 8.0.0281 +Problem: MS-Windows files are still using ARGSUSED while most other files + have UNUSED. +Solution: Change ARGSUSED to UNUSED or delete it. +Files: src/os_win32.c, src/gui_w32.c, src/os_mswin.c, src/os_w32exe.c, + src/winclip.c + +Patch 8.0.0282 +Problem: When doing a Visual selection and using "I" to go to insert mode, + CTRL-O needs to be used twice to go to Normal mode. (Coacher) +Solution: Check for the return value of edit(). (Christian Brabandt, + closes #1290) +Files: src/normal.c, src/ops.c + +Patch 8.0.0283 +Problem: The return value of mode() does not indicate that completion is + active in Replace and Insert mode. (Zhen-Huan (Kenny) Hu) +Solution: Add "c" or "x" for two kinds of completion. (Yegappan Lakshmanan, + closes #1397) Test some more modes. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_mapping.vim + +Patch 8.0.0284 +Problem: The Test_collapse_buffers() test failed once, looks like it is + flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0285 (after 8.0.0277) +Problem: Tests fail with tiny build on Unix. +Solution: Only set g:tester_HOME when build with the +eval feature. +Files: src/testdir/unix.vim + +Patch 8.0.0286 +Problem: When concealing is active and the screen is resized in the GUI it + is not immediately redrawn. +Solution: Use update_prepare() and update_finish() from + update_single_line(). +Files: src/screen.c + +Patch 8.0.0287 +Problem: Cannot access the arguments of the current function in debug mode. + (Luc Hermitte) +Solution: use get_funccal(). (LemonBoy, closes #1432, closes #1352) +Files: src/userfunc.c + +Patch 8.0.0288 (after 8.0.0284) +Problem: Errors reported while running tests. +Solution: Put comma in the right place. +Files: src/testdir/runtest.vim + +Patch 8.0.0289 +Problem: No test for "ga" and :ascii. +Solution: Add a test. (Dominique Pelle, closes #1429) +Files: src/Makefile, src/testdir/test_alot.vim, src/testdir/test_ga.vim + +Patch 8.0.0290 +Problem: If a wide character doesn't fit at the end of the screen line, and + the line doesn't fit on the screen, then the cursor position may + be wrong. (anliting) +Solution: Don't skip over wide character. (Christian Brabandt, closes #1408) +Files: src/screen.c + +Patch 8.0.0291 (after 8.0.0282) +Problem: Visual block insertion does not insert in all lines. +Solution: Don't bail out of insert too early. Add a test. (Christian + Brabandt, closes #1290) +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.0.0292 +Problem: The stat test is a bit slow. +Solution: Remove a couple of sleep comments and reduce another. +Files: src/testdir/test_stat.vim + +Patch 8.0.0293 +Problem: Some tests have a one or three second wait. +Solution: Reset the 'showmode' option. Use a test time of one to disable + sleep after an error or warning message. +Files: src/misc1.c, src/testdir/runtest.vim, src/testdir/test_normal.vim + +Patch 8.0.0294 +Problem: Argument list is not stored correctly in a session file. + (lgpasquale) +Solution: Use "$argadd" instead of "argadd". (closes #1434) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.0.0295 (after 8.0.0293) +Problem: test_viml hangs. +Solution: Put resetting 'more' before sourcing the script. +Files: src/testdir/runtest.vim + +Patch 8.0.0296 +Problem: Bracketed paste can only append, not insert. +Solution: When the cursor is in the first column insert the text. +Files: src/normal.c, src/testdir/test_paste.vim, runtime/doc/term.txt + +Patch 8.0.0297 +Problem: Double free on exit when using a closure. (James McCoy) +Solution: Split free_al_functions in two parts. (closes #1428) +Files: src/userfunc.c, src/structs.h + +Patch 8.0.0298 +Problem: Ex command range with repeated search does not work. (Bruce + DeVisser) +Solution: Skip over \/, \? and \&. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.0.0299 +Problem: When the GUI window is resized Vim does not always take over the + new size. (Luchr) +Solution: Reset new_p_guifont in gui_resize_shell(). Call + gui_may_resize_shell() in the main loop. +Files: src/main.c, src/gui.c + +Patch 8.0.0300 +Problem: Cannot stop diffing hidden buffers. (Daniel Hahler) +Solution: When using :diffoff! make the whole list if diffed buffers empty. + (closes #736) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.0.0301 +Problem: No tests for ":set completion" and various errors of the :set + command. +Solution: Add more :set tests. (Dominique Pelle, closes #1440) +Files: src/testdir/test_options.vim + +Patch 8.0.0302 +Problem: Cannot set terminal key codes with :let. +Solution: Make it work. +Files: src/option.c, src/testdir/test_assign.vim + +Patch 8.0.0303 +Problem: Bracketed paste does not work in Visual mode. +Solution: Delete the text before pasting +Files: src/normal.c, src/ops.c, src/proto/ops.pro, + src/testdir/test_paste.vim + +Patch 8.0.0304 (after 8.0.0302) +Problem: Assign test fails in the GUI. +Solution: Skip the test for setting t_k1. +Files: src/testdir/test_assign.vim + +Patch 8.0.0305 +Problem: Invalid memory access when option has duplicate flag. +Solution: Correct pointer computation. (Dominique Pelle, closes #1442) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0306 +Problem: mode() not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan) +Files: src/testdir/test_functions.vim + +Patch 8.0.0307 +Problem: Asan detects a memory error when EXITFREE is defined. (Dominique + Pelle) +Solution: In getvcol() check for ml_get_buf() returning an empty string. + Also skip adjusting the scroll position. Set "exiting" in + mch_exit() for all systems. +Files: src/charset.c, src/window.c, src/os_mswin.c, src/os_win32.c, + src/os_amiga.c + +Patch 8.0.0308 +Problem: When using a symbolic link, the package path will not be inserted + at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi) +Solution: Resolve symbolic links when finding the right position in + 'runtimepath'. (Hirohito Higashi) +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 8.0.0309 +Problem: Cannot use an empty key in json. +Solution: Allow for using an empty key. +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.0.0310 +Problem: Not enough testing for GUI functionality. +Solution: Add tests for v:windowid and getwinpos[xy](). (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0311 +Problem: Linebreak tests are old style. +Solution: Turn the tests into new style. Share utility functions. (Ozaki + Kiichi, closes #1444) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_breakindent.vim, src/testdir/test_listlbr.in, + src/testdir/test_listlbr.ok, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.in, + src/testdir/test_listlbr_utf8.ok, + src/testdir/test_listlbr_utf8.vim, src/testdir/view_util.vim + +Patch 8.0.0312 +Problem: When a json message arrives in pieces, the start is dropped and + the decoding fails. +Solution: Do not drop the start when it is still needed. (Kay Zheng) Add a + test. Reset the timeout when something is received. +Files: src/channel.c, src/testdir/test_channel.vim, src/structs.h, + src/testdir/test_channel_pipe.py + +Patch 8.0.0313 (after 8.0.0310) +Problem: Not enough testing for GUI functionality. +Solution: Add tests for the GUI font. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0314 +Problem: getcmdtype(), getcmdpos() and getcmdline() are not tested. +Solution: Add tests. (Yegappan Lakshmanan) +Files: src/testdir/test_cmdline.vim + +Patch 8.0.0315 +Problem: ":help :[range]" does not work. (Tony Mechelynck) +Solution: Translate to insert a backslash. +Files: src/ex_cmds.c + +Patch 8.0.0316 +Problem: ":help z?" does not work. (Pavol Juhas) +Solution: Remove exception for z?. +Files: src/ex_cmds.c + +Patch 8.0.0317 +Problem: No test for setting 'guifont'. +Solution: Add a test for X11 GUIs. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0318 +Problem: Small mistake in 7x13 font name. +Solution: Use ISO 8859-1 name instead of 10646-1. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0319 +Problem: Insert mode completion does not respect "start" in 'backspace'. +Solution: Check whether backspace can go before where insert started. + (Hirohito Higashi) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0320 +Problem: Warning for unused variable with small build. +Solution: Change #ifdef to exclude FEAT_CMDWIN. (Kazunobu Kuriyama) +Files: src/ex_getln.c + +Patch 8.0.0321 +Problem: When using the tiny version trying to load the matchit plugin + gives an error. On MS-Windows some default mappings fail. +Solution: Add a check if the command used is available. (Christian Brabandt) +Files: runtime/mswin.vim, runtime/macros/matchit.vim + +Patch 8.0.0322 +Problem: Possible overflow with spell file where the tree length is + corrupted. +Solution: Check for an invalid length (suggested by shqking) +Files: src/spellfile.c + +Patch 8.0.0323 +Problem: When running the command line tests there is a one second wait. +Solution: Change an Esc to Ctrl-C. (Yegappan Lakshmanan) +Files: src/testdir/test_cmdline.vim + +Patch 8.0.0324 +Problem: Illegal memory access with "1;y". +Solution: Call check_cursor() instead of check_cursor_lnum(). (Dominique + Pelle, closes #1455) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.0.0325 +Problem: Packadd test does not clean up symlink. +Solution: Delete the link. (Hirohito Higashi) +Files: src/testdir/test_packadd.vim + +Patch 8.0.0326 (after 8.0.0325) +Problem: Packadd test uses wrong directory name. +Solution: Use the variable name value. (Hirohito Higashi) +Files: src/testdir/test_packadd.vim + +Patch 8.0.0327 +Problem: The E11 error message in the command line window is not + translated. +Solution: use _(). (Hirohito Higashi) +Files: src/ex_docmd.c + +Patch 8.0.0328 +Problem: The "zero count" error doesn't have a number. (Hirohito Higashi) +Solution: Give it a number and be more specific about the error. +Files: src/globals.h + +Patch 8.0.0329 +Problem: Xfontset and guifontwide are not tested. +Solution: Add tests. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0330 +Problem: Illegal memory access after "vapo". (Dominique Pelle) +Solution: Fix the cursor column. +Files: src/search.c, src/testdir/test_visual.vim + +Patch 8.0.0331 +Problem: Restoring help snapshot accesses freed memory. (Dominique Pelle) +Solution: Don't restore a snapshot when the window closes. +Files: src/window.c, src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_help.vim + +Patch 8.0.0332 +Problem: GUI test fails on some systems. +Solution: Try different language settings. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0333 +Problem: Illegal memory access when 'complete' ends in a backslash. +Solution: Check for trailing backslash. (Dominique Pelle, closes #1478) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0334 +Problem: Can't access b:changedtick from a dict reference. +Solution: Make changedtick a member of the b: dict. (inspired by neovim + #6112) +Files: src/structs.h, src/buffer.c, src/edit.c, src/eval.c, + src/evalfunc.c, src/ex_docmd.c, src/main.c, src/globals.h, + src/fileio.c, src/memline.c, src/misc1.c, src/syntax.c, + src/proto/eval.pro, src/testdir/test_changedtick.vim, + src/Makefile, src/testdir/test_alot.vim, src/testdir/test91.in, + src/testdir/test91.ok, src/testdir/test_functions.vim + +Patch 8.0.0335 (after 8.0.0335) +Problem: Functions test fails. +Solution: Use the right buffer number. +Files: src/testdir/test_functions.vim + +Patch 8.0.0336 +Problem: Flags of :substitute not sufficiently tested. +Solution: Test up to two letter flag combinations. (James McCoy, closes + #1479) +Files: src/testdir/test_substitute.vim + +Patch 8.0.0337 +Problem: Invalid memory access in :recover command. +Solution: Avoid access before directory name. (Dominique Pelle, + closes #1488) +Files: src/Makefile, src/memline.c, src/testdir/test_alot.vim, + src/testdir/test_recover.vim + +Patch 8.0.0338 (after 8.0.0337) +Problem: :recover test fails on MS-Windows. +Solution: Use non-existing directory on MS-Windows. +Files: src/testdir/test_recover.vim + +Patch 8.0.0339 +Problem: Illegal memory access with vi' +Solution: For quoted text objects bail out if the Visual area spans more + than one line. +Files: src/search.c, src/testdir/test_visual.vim + +Patch 8.0.0340 +Problem: Not checking return value of dict_add(). (Coverity) +Solution: Handle a failure. +Files: src/buffer.c + +Patch 8.0.0341 +Problem: When using complete() and typing a character undo is saved after + the character was inserted. (Shougo) +Solution: Save for undo before inserting the character. +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0342 +Problem: Double free when compiled with EXITFREE and setting 'ttytype'. +Solution: Avoid setting P_ALLOCED on 'ttytype'. (Dominique Pelle, + closes #1461) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.0.0343 +Problem: b:changedtick can be unlocked, even though it has no effect. + (Nikolai Pavlov) +Solution: Add a check and error E940. (closes #1496) +Files: src/eval.c, src/testdir/test_changedtick.vim, runtime/doc/eval.txt + +Patch 8.0.0344 +Problem: Unlet command leaks memory. (Nikolai Pavlov) +Solution: Free the memory on error. (closes #1497) +Files: src/eval.c, src/testdir/test_unlet.vim + +Patch 8.0.0345 +Problem: islocked('d.changedtick') does not work. +Solution: Make it work. +Files: src/buffer.c, src/eval.c, src/evalfunc.c, src/vim.h, + src/testdir/test_changedtick.vim, + +Patch 8.0.0346 +Problem: Vim relies on limits.h to be included indirectly, but on Solaris 9 + it may not be. (Ben Fritz) +Solution: Always include limits.h. +Files: src/os_unixx.h, src/vim.h + +Patch 8.0.0347 +Problem: When using CTRL-X CTRL-U inside a comment, the use of the comment + leader may not work. (Klement) +Solution: Save and restore did_ai. (Christian Brabandt, closes #1494) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0348 +Problem: When building with a shadow directory on macOS lacks the + +clipboard feature. +Solution: Link *.m files, specifically os_macosx.m. (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 8.0.0349 +Problem: Redrawing errors with GTK 3. +Solution: When updating, first clear all rectangles and then draw them. + (Kazunobu Kuriyama, Christian Ludwig, closes #848) +Files: src/gui_gtk_x11.c + +Patch 8.0.0350 +Problem: Not enough test coverage for Perl. +Solution: Add more Perl tests. (Dominique Pelle, closes #1500) +Files: src/testdir/test_perl.vim + +Patch 8.0.0351 +Problem: No test for concatenating an empty string that results from out of + bounds indexing. +Solution: Add a simple test. +Files: src/testdir/test_expr.vim + +Patch 8.0.0352 +Problem: The condition for when a typval needs to be cleared is too + complicated. +Solution: Init the type to VAR_UNKNOWN and always clear it. +Files: src/eval.c + +Patch 8.0.0353 +Problem: If [RO] in the status line is translated to a longer string, it is + truncated to 4 bytes. +Solution: Skip over the resulting string. (Jente Hidskes, closes #1499) +Files: src/screen.c + +Patch 8.0.0354 +Problem: Test to check that setting termcap key fails sometimes. +Solution: Check for "t_k1" to exist. (Christian Brabandt, closes #1459) +Files: src/testdir/test_assign.vim + +Patch 8.0.0355 +Problem: Using uninitialized memory when 'isfname' is empty. +Solution: Don't call getpwnam() without an argument. (Dominique Pelle, + closes #1464) +Files: src/misc1.c, src/testdir/test_options.vim + +Patch 8.0.0356 (after 8.0.0342) +Problem: Leaking memory when setting 'ttytype'. +Solution: Get free_oldval from the right option entry. +Files: src/option.c + +Patch 8.0.0357 +Problem: Crash when setting 'guicursor' to weird value. +Solution: Avoid negative size. (Dominique Pelle, closes #1465) +Files: src/misc2.c, src/testdir/test_options.vim + +Patch 8.0.0358 +Problem: Invalid memory access in C-indent code. +Solution: Don't go over end of empty line. (Dominique Pelle, closes #1492) +Files: src/edit.c, src/testdir/test_options.vim + +Patch 8.0.0359 +Problem: 'number' and 'relativenumber' are not properly tested. +Solution: Add tests, change old style to new style tests. (Ozaki Kiichi, + closes #1447) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test89.in, src/testdir/test89.ok, + src/testdir/test_alot.vim, src/testdir/test_findfile.vim, + src/testdir/test_number.vim + +Patch 8.0.0360 +Problem: Sometimes VimL is used, which is confusing. +Solution: Consistently use "Vim script". (Hirohito Higashi) +Files: runtime/doc/if_mzsch.txt, runtime/doc/if_pyth.txt, + runtime/doc/syntax.txt, runtime/doc/usr_02.txt, + runtime/doc/version7.txt, src/Makefile, src/eval.c, + src/ex_getln.c, src/if_py_both.h, src/if_xcmdsrv.c, + src/testdir/Make_all.mak, src/testdir/runtest.vim, + src/testdir/test49.vim, src/testdir/test_vimscript.vim, + src/testdir/test_viml.vim + +Patch 8.0.0361 +Problem: GUI initialisation is not sufficiently tested. +Solution: Add the gui_init test. (Kazunobu Kuriyama) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Makefile, + src/testdir/gui_init.vim, src/testdir/setup_gui.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, Filelist + +Patch 8.0.0362 (after 8.0.0361) +Problem: Tests fail on MS-Windows. +Solution: Use $*.vim instead of $<. +Files: src/testdir/Make_dos.mak + +Patch 8.0.0363 +Problem: Travis is too slow to keep up with patches. +Solution: Increase git depth to 20 +Files: .travis.yml + +Patch 8.0.0364 +Problem: ]s does not move cursor with two spell errors in one line. (Manuel + Ortega) +Solution: Don't stop search immediately when wrapped, search the line first. + (Ken Takata) Add a test. +Files: src/spell.c, src/Makefile, src/testdir/test_spell.vim, + src/testdir/Make_all.mak + +Patch 8.0.0365 +Problem: Might free a dict item that wasn't allocated. +Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for + b:changedtick. +Files: src/dict.c, src/structs.h, src/buffer.c, src/edit.c, + src/evalfunc.c, src/ex_docmd.c, src/fileio.c, src/main.c, + src/memline.c, src/misc1.c, src/syntax.c + +Patch 8.0.0366 (after 8.0.0365) +Problem: Build fails with tiny features. +Solution: Add #ifdef. +Files: src/buffer.c + +Patch 8.0.0367 +Problem: If configure defines _LARGE_FILES some include files are included + before it is defined. +Solution: Include vim.h first. (Sam Thursfield, closes #1508) +Files: src/gui_at_sb.c, src/gui_athena.c, src/gui_motif.c, src/gui_x11.c, + src/gui_xmdlg.c + +Patch 8.0.0368 +Problem: Not all options are tested with a range of values. +Solution: Generate a test script from the source code. +Files: Filelist, src/gen_opt_test.vim, src/testdir/test_options.vim, + src/Makefile + +Patch 8.0.0369 (after 8.0.0368) +Problem: The 'balloondelay', 'ballooneval' and 'balloonexpr' options are + not defined without the +balloon_eval feature. Testing that an + option value fails does not work for unsupported options. +Solution: Make the options defined but not supported. Don't test if + setting unsupported options fails. +Files: src/option.c, src/gen_opt_test.vim + +Patch 8.0.0370 +Problem: Invalid memory access when setting wildchar empty. +Solution: Avoid going over the end of the option value. (Dominique Pelle, + closes #1509) Make option test check all number options with + empty value. +Files: src/gen_opt_test.vim, src/option.c, src/testdir/test_options.vim + +Patch 8.0.0371 (after 8.0.0365) +Problem: Leaking memory when setting v:completed_item. +Solution: Or the flags instead of setting them. +Files: src/eval.c + +Patch 8.0.0372 +Problem: More options are not always defined. +Solution: Consistently define all possible options. +Files: src/option.c, src/testdir/test_expand_dllpath.vim + +Patch 8.0.0373 +Problem: Build fails without +folding. +Solution: Move misplaced #ifdef. +Files: src/option.c + +Patch 8.0.0374 +Problem: Invalid memory access when using :sc in Ex mode. (Dominique Pelle) +Solution: Avoid the column being negative. Also fix a hang in Ex mode. +Files: src/ex_getln.c, src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.0.0375 +Problem: The "+ register is not tested. +Solution: Add a test using another Vim instance to change the "+ register. + (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0376 +Problem: Size computations in spell file reading are not exactly right. +Solution: Make "len" a "long" and check with LONG_MAX. +Files: src/spellfile.c + +Patch 8.0.0377 +Problem: Possible overflow when reading corrupted undo file. +Solution: Check if allocated size is not too big. (King) +Files: src/undo.c + +Patch 8.0.0378 +Problem: Another possible overflow when reading corrupted undo file. +Solution: Check if allocated size is not too big. (King) +Files: src/undo.c + +Patch 8.0.0379 +Problem: CTRL-Z and mouse click use CTRL-O unnecessary. +Solution: Remove stuffing CTRL-O. (James McCoy, closes #1453) +Files: src/edit.c, src/normal.c + +Patch 8.0.0380 +Problem: With 'linebreak' set and 'breakat' includes ">" a double-wide + character results in "<<" displayed. +Solution: Check for the character not to be replaced. (Ozaki Kiichi, + closes #1456) +Files: src/screen.c, src/testdir/test_listlbr_utf8.vim + +Patch 8.0.0381 +Problem: Diff mode is not sufficiently tested. +Solution: Add more diff mode tests. (Dominique Pelle, closes #1515) +Files: src/testdir/test_diffmode.vim + +Patch 8.0.0382 (after 8.0.0380) +Problem: Warning in tiny build for unused variable. (Tony Mechelynck) +Solution: Add #ifdefs. +Files: src/screen.c + +Patch 8.0.0383 (after 8.0.0382) +Problem: Misplaced #ifdef. (Christ van Willigen) +Solution: Split assignment. +Files: src/screen.c + +Patch 8.0.0384 +Problem: Timer test failed for no apparent reason. +Solution: Mark the test as flaky. +Files: src/testdir/runtest.vim + +Patch 8.0.0385 +Problem: No tests for arabic. +Solution: Add a first test for arabic. (Dominique Pelle, closes #1518) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_arabic.vim + +Patch 8.0.0386 +Problem: Tiny build has a problem with generating the options test. +Solution: Change the "if" to skip over statements. +Files: src/gen_opt_test.vim + +Patch 8.0.0387 +Problem: compiler warnings +Solution: Add type casts. (Christian Brabandt) +Files: src/channel.c, src/memline.c, + +Patch 8.0.0388 +Problem: filtering lines through "cat", without changing the line count, + changes manual folds. +Solution: Change how marks and folds are adjusted. (Matthew Malcomson, from + neovim #6194). +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.0.0389 +Problem: Test for arabic does not check what is displayed. +Solution: Improve what is asserted. (Dominique Pelle, closes #1523) + Add a first shaping test. +Files: src/testdir/test_arabic.vim + +Patch 8.0.0390 +Problem: When the window scrolls horizontally when the popup menu is + displayed part of it may not be cleared. (Neovim issue #6184) +Solution: Remove the menu when the windows scrolled. (closes #1524) +Files: src/edit.c + +Patch 8.0.0391 +Problem: Arabic support is verbose and not well tested. +Solution: Simplify the code. Add more tests. +Files: src/arabic.c, src/testdir/test_arabic.vim + +Patch 8.0.0392 +Problem: GUI test fails with Athena and Motif. +Solution: Add test_ignore_error(). Use it to ignore the "failed to create + input context" error. +Files: src/message.c, src/proto/message.pro, src/evalfunc.c, + src/testdir/test_gui.vim, runtime/doc/eval.txt + +Patch 8.0.0393 (after 8.0.0190) +Problem: When the same tag appears more than once, the order is + unpredictable. (Charles Campbell) +Solution: Besides using a dict for finding duplicates, use a grow array for + keeping the tags in sequence. +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.0.0394 +Problem: Tabs are not aligned when scrolling horizontally and a Tab doesn't + fit. (Axel Bender) +Solution: Handle a Tab as a not fitting character. (Christian Brabandt) + Also fix that ":redraw" does not scroll horizontally to show the + cursor. And fix the test that depended on the old behavior. +Files: src/screen.c, src/ex_docmd.c, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, + src/testdir/test_breakindent.vim + +Patch 8.0.0395 (after 8.0.0392) +Problem: Testing the + register fails with Motif. +Solution: Also ignore the "failed to create input context" error in the + second gvim. Don't use msg() when it would result in a dialog. +Files: src/message.c, src/testdir/test_gui.vim, src/testdir/setup_gui.vim + +Patch 8.0.0396 +Problem: 'balloonexpr' only works synchronously. +Solution: Add balloon_show(). (Jusufadis Bakamovic, closes #1449) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/os_unix.c, + src/os_win32.c + +Patch 8.0.0397 (after 8.0.0392) +Problem: Cannot build with the viminfo feature but without the eval + feature. +Solution: Adjust #ifdef. (John Marriott) +Files: src/message.c, src/misc2.c + +Patch 8.0.0398 +Problem: Illegal memory access with "t". +Solution: Use strncmp() instead of memcmp(). (Dominique Pelle, closes #1528) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.0.0399 +Problem: Crash when using balloon_show() when not supported. (Hirohito + Higashi) +Solution: Check for balloonEval not to be NULL. (Ken Takata) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.0.0400 +Problem: Some tests have a one second delay. +Solution: Add --not-a-term in RunVim(). +Files: src/testdir/shared.vim + +Patch 8.0.0401 +Problem: Test fails with missing balloon feature. +Solution: Add check for balloon feature. +Files: src/testdir/test_functions.vim + +Patch 8.0.0402 +Problem: :map completion does not have <special>. (Dominique Pelle) +Solution: Recognize <special> in completion. Add a test. +Files: src/getchar.c, src/testdir/test_cmdline.vim + +Patch 8.0.0403 +Problem: GUI tests may fail. +Solution: Ignore the E285 error better. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim, src/testdir/test_gui_init.vim + +Patch 8.0.0404 +Problem: Not enough testing for quickfix. +Solution: Add some more tests. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 8.0.0405 +Problem: v:progpath may become invalid after ":cd". +Solution: Turn v:progpath into a full path if needed. +Files: src/main.c, src/testdir/test_startup.vim, runtime/doc/eval.txt + +Patch 8.0.0406 +Problem: The arabic shaping code is verbose. +Solution: Shorten the code without changing the functionality. +Files: src/arabic.c + +Patch 8.0.0407 (after 8.0.0388) +Problem: Filtering folds with marker method not tested. +Solution: Also set 'foldmethod' to "marker". +Files: src/testdir/test_fold.vim + +Patch 8.0.0408 +Problem: Updating folds does not work properly when inserting a file and a + few other situations. +Solution: Adjust the way folds are updated. (Matthew Malcomson) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.0.0409 +Problem: set_progpath is defined but not always used +Solution: Adjust #ifdef. +Files: src/main.c + +Patch 8.0.0410 +Problem: Newer gettext/iconv library has extra dll file. +Solution: Add the file to the Makefile and nsis script. (Christian Brabandt) +Files: Makefile, nsis/gvim.nsi + +Patch 8.0.0411 +Problem: We can't change the case in menu entries, it breaks translations. +Solution: Ignore case when looking up a menu translation. +Files: src/menu.c, src/testdir/test_menu.vim + +Patch 8.0.0412 (after 8.0.0411) +Problem: Menu test fails on MS-Windows. +Solution: Use a menu entry with only ASCII characters. +Files: src/testdir/test_menu.vim + +Patch 8.0.0413 (after 8.0.0412) +Problem: Menu test fails on MS-Windows using gvim. +Solution: First delete the English menus. +Files: src/testdir/test_menu.vim + +Patch 8.0.0414 +Problem: Balloon eval is not tested. +Solution: Add a few balloon tests. (Kazunobu Kuriyama) +Files: src/testdir/test_gui.vim + +Patch 8.0.0415 (after 8.0.0414) +Problem: Balloon test fails on MS-Windows. +Solution: Test with 0x7fffffff instead of 0xffffffff. +Files: src/testdir/test_gui.vim + +Patch 8.0.0416 +Problem: Setting v:progpath is not quite right. +Solution: On MS-Windows add the extension. On Unix use the full path for a + relative directory. (partly by James McCoy, closes #1531) +Files: src/main.c, src/os_win32.c, src/os_unix.c + +Patch 8.0.0417 +Problem: Test for the clipboard fails sometimes. +Solution: Add it to the flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0418 +Problem: ASAN logs are disabled and don't cause a failure. +Solution: Enable ASAN logs and fail if not empty. (James McCoy, + closes #1425) +Files: .travis.yml + +Patch 8.0.0419 +Problem: Test for v:progpath fails on MS-Windows. +Solution: Expand to full path. Also add ".exe" when the path is an absolute + path. +Files: src/os_win32.c, src/main.c + +Patch 8.0.0420 +Problem: When running :make the output may be in the system encoding, + different from 'encoding'. +Solution: Add the 'makeencoding' option. (Ken Takata) +Files: runtime/doc/options.txt, runtime/doc/quickfix.txt, + runtime/doc/quickref.txt, src/Makefile, src/buffer.c, + src/if_cscope.c, src/main.c, src/option.c, src/option.h, + src/proto/quickfix.pro, src/quickfix.c, src/structs.h, + src/testdir/Make_all.mak, src/testdir/test_makeencoding.py, + src/testdir/test_makeencoding.vim + +Patch 8.0.0421 +Problem: Diff mode is displayed wrong when adding a line at the end of a + buffer. +Solution: Adjust marks in diff mode. (James McCoy, closes #1329) +Files: src/misc1.c, src/ops.c, src/testdir/test_diffmode.vim + +Patch 8.0.0422 +Problem: Python test fails with Python 3.6. +Solution: Convert new exception messages to old ones. (closes #1359) +Files: src/testdir/test87.in + +Patch 8.0.0423 +Problem: The effect of adding "#" to 'cinoptions' is not always removed. + (David Briscoe) +Solution: Reset b_ind_hash_comment. (Christian Brabandt, closes #1475) +Files: src/misc1.c, src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_cindent.vim, src/testdir/test3.in + +Patch 8.0.0424 +Problem: Compiler warnings on MS-Windows. (Ajit Thakkar) +Solution: Add type casts. +Files: src/os_win32.c + +Patch 8.0.0425 +Problem: Build errors when building without folding. +Solution: Add #ifdefs. (John Marriott) +Files: src/diff.c, src/edit.c, src/option.c, src/syntax.c + +Patch 8.0.0426 +Problem: Insufficient testing for statusline. +Solution: Add several tests. (Dominique Pelle, closes #1534) +Files: src/testdir/test_statusline.vim + +Patch 8.0.0427 +Problem: 'makeencoding' missing from the options window. +Solution: Add the entry. +Files: runtime/optwin.vim + +Patch 8.0.0428 +Problem: Git and hg see new files after running tests. (Manuel Ortega) +Solution: Add the generated file to .hgignore (or .gitignore). Delete the + resulting verbose file. (Christian Brabandt) Improve dependency + on opt_test.vim. Reset the 'more' option. +Files: .hgignore, src/gen_opt_test.vim, src/testdir/gen_opt_test.vim, + src/Makefile, src/testdir/Make_all.mak, src/testdir/Makefile, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + Filelist + +Patch 8.0.0429 +Problem: Options test does not always test everything. +Solution: Fix dependency for opt_test.vim. Give a message when opt_test.vim + was not found. +Files: src/testdir/test_options.vim, src/testdir/gen_opt_test.vim, + src/testdir/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak + +Patch 8.0.0430 +Problem: Options test fails or hangs on MS-Windows. +Solution: Run it separately instead of part of test_alot. Use "-S" instead + of "-u" to run the script. Fix failures. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/Makefile, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/gen_opt_test.vim + +Patch 8.0.0431 +Problem: 'cinoptions' cannot set indent for extern block. +Solution: Add the "E" flag in 'cinoptions'. (Hirohito Higashi) +Files: runtime/doc/indent.txt, src/misc1.c, src/structs.h, + src/testdir/test_cindent.vim + +Patch 8.0.0432 +Problem: "make shadow" creates an invalid link. +Solution: Don't link "*.vim". (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 8.0.0433 +Problem: Quite a few beeps when running tests. +Solution: Set 'belloff' for these tests. (Christian Brabandt) +Files: src/testdir/test103.in, src/testdir/test14.in, + src/testdir/test29.in, src/testdir/test30.in, + src/testdir/test32.in, src/testdir/test45.in, + src/testdir/test72.in, src/testdir/test73.in, + src/testdir/test77.in, src/testdir/test78.in, + src/testdir/test85.in, src/testdir/test94.in, + src/testdir/test_alot.vim, src/testdir/test_alot_utf8.vim, + src/testdir/test_close_count.in, src/testdir/test_cmdline.vim, + src/testdir/test_diffmode.vim, src/testdir/test_digraph.vim, + src/testdir/test_erasebackword.in, src/testdir/test_normal.vim, + src/testdir/test_packadd.vim, src/testdir/test_search.vim, + src/testdir/test_textobjects.vim, src/testdir/test_undo.vim, + src/testdir/test_usercommands.vim, src/testdir/test_visual.vim + +Patch 8.0.0434 +Problem: Clang version not correctly detected. +Solution: Adjust the configure script. (Kazunobu Kuriyama) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.0435 +Problem: Some functions are not tested. +Solution: Add more tests for functions. (Dominique Pelle, closes #1541) +Files: src/testdir/test_functions.vim + +Patch 8.0.0436 +Problem: Running the options test sometimes resizes the terminal. +Solution: Clear out t_WS. +Files: src/testdir/gen_opt_test.vim + +Patch 8.0.0437 +Problem: The packadd test does not create the symlink correctly and does + not test the right thing. +Solution: Create the directory and symlink correctly. +Files: src/testdir/test_packadd.vim + +Patch 8.0.0438 +Problem: The fnamemodify test changes 'shell' in a way later tests may not + be able to use system(). +Solution: Save and restore 'shell'. +Files: src/testdir/test_fnamemodify.vim + +Patch 8.0.0439 +Problem: Using ":%argdel" while the argument list is already empty gives an + error. (Pavol Juhas) +Solution: Don't give an error. (closes #1546) +Files: src/ex_cmds2.c, src/testdir/test_arglist.vim + +Patch 8.0.0440 +Problem: Not enough test coverage in Insert mode. +Solution: Add lots of tests. Add test_override(). (Christian Brabandt, + closes #1521) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/edit.c, + src/evalfunc.c, src/globals.h, src/screen.c, + src/testdir/Make_all.mak, src/testdir/test_cursor_func.vim, + src/testdir/test_edit.vim, src/testdir/test_search.vim, + src/testdir/test_assert.vim, src/Makefile, src/testdir/runtest.vim + +Patch 8.0.0441 +Problem: Dead code in #ifdef. +Solution: Remove the #ifdef and #else part. +Files: src/option.c + +Patch 8.0.0442 +Problem: Patch shell command uses double quotes around the argument, which + allows for $HOME to be expanded. (Etienne) +Solution: Use single quotes on Unix. (closes #1543) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.0.0443 +Problem: Terminal width is set to 80 in test3. +Solution: Instead of setting 'columns' set 'wrapmargin' depending on + 'columns. +Files: src/testdir/test3.in + +Patch 8.0.0444 (after 8.0.0442) +Problem: Diffpatch fails when the file name has a quote. +Solution: Escape the name properly. (zetzei) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.0.0445 +Problem: Getpgid is not supported on all systems. +Solution: Add a configure check. +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/os_unix.c + +Patch 8.0.0446 +Problem: The ";" command does not work after characters with a lower byte + that is NUL. +Solution: Properly check for not having a previous character. (Hirohito + Higashi) +Files: src/Makefile, src/search.c, src/testdir/test_alot_utf8.vim, + src/testdir/test_charsearch_utf8.vim + +Patch 8.0.0447 +Problem: Getting font name does not work on X11. +Solution: Implement gui_mch_get_fontname() for X11. Add more GUI tests. + (Kazunobu Kuriyama) +Files: src/gui_x11.c, src/syntax.c, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Makefile, + src/testdir/gui_init.vim, src/testdir/gui_preinit.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, + Filelist + +Patch 8.0.0448 +Problem: Some macros are in lower case, which can be confusing. +Solution: Make a few lower case macros upper case. +Files: src/macros.h, src/buffer.c, src/charset.c, src/ops.c, src/diff.c, + src/edit.c, src/evalfunc.c, src/ex_cmds.c, src/ex_getln.c, + src/fileio.c, src/fold.c, src/gui.c, src/gui_beval.c, src/main.c, + src/mark.c, src/misc1.c, src/move.c, src/normal.c, + src/option.c, src/popupmnu.c, src/regexp.c, src/screen.c, + src/search.c, src/spell.c, src/tag.c, src/ui.c, src/undo.c, + src/version.c, src/workshop.c, src/if_perl.xs + +Patch 8.0.0449 (after 8.0.0448) +Problem: Part of fold patch accidentally included. +Solution: Revert that part of the patch. +Files: src/ex_cmds.c + +Patch 8.0.0450 +Problem: v:progpath is not reliably set. +Solution: Read /proc/self/exe if possible. (idea by Michal Grochmal) + Also fixes missing #if. +Files: src/main.c, src/config.h.in + +Patch 8.0.0451 +Problem: Some macros are in lower case. +Solution: Make a few more macros upper case. Avoid lower case macros use an + argument twice. +Files: src/macros.h, src/charset.c, src/misc2.c, src/proto/misc2.pro, + src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/fold.c, + src/gui.c, src/gui_gtk.c, src/mark.c, src/memline.c, src/mbyte.c, + src/menu.c, src/message.c, src/misc1.c, src/ops.c, src/option.c, + src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c, + src/popupmnu.c, src/regexp.c, src/regexp_nfa.c, src/screen.c, + src/search.c, src/spell.c, src/spellfile.c, src/syntax.c, + src/tag.c, src/ui.c, src/undo.c, src/window.c + +Patch 8.0.0452 +Problem: Some macros are in lower case. +Solution: Make a few more macros upper case. +Files: src/vim.h, src/macros.h, src/evalfunc.c, src/fold.c, + src/gui_gtk.c, src/gui_gtk_x11.c, src/charset.c, src/diff.c, + src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, + src/gui.c, src/gui_w32.c, src/if_cscope.c, src/mbyte.c, + src/menu.c, src/message.c, src/misc1.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/os_unix.c, src/os_win32.c, + src/quickfix.c, src/regexp.c, src/regexp_nfa.c, src/screen.c, + src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/userfunc.c + +Patch 8.0.0453 +Problem: Adding fold marker creates new comment. +Solution: Use an existing comment if possible. (LemonBoy, closes #1549) +Files: src/ops.c, src/proto/ops.pro, src/fold.c, + src/testdir/test_fold.vim + +Patch 8.0.0454 +Problem: Compiler warnings for comparing unsigned char with 256 always + being true. (Manuel Ortega) +Solution: Add type cast. +Files: src/screen.c, src/charset.c + +Patch 8.0.0455 +Problem: The mode test may hang in Test_mode(). (Michael Soyka) +Solution: Set 'complete' to only search the current buffer (as suggested by + Michael) +Files: src/testdir/test_functions.vim + +Patch 8.0.0456 +Problem: Typo in MinGW test makefile. +Solution: Change an underscore to a dot. (Michael Soyka) +Files: src/testdir/Make_ming.mak + +Patch 8.0.0457 +Problem: Using :move messes up manual folds. +Solution: Split adjusting marks and folds. Add foldMoveRange(). (neovim + patch #6221) +Files: src/ex_cmds.c, src/fold.c, src/mark.c, src/proto/fold.pro, + src/proto/mark.pro src/testdir/test_fold.vim + +Patch 8.0.0458 +Problem: Potential crash if adding list or dict to dict fails. +Solution: Make sure the reference count is correct. (Nikolai Pavlov, closes + #1555) +Files: src/dict.c + +Patch 8.0.0459 (after 8.0.0457) +Problem: Old fix for :move messing up folding no longer needed, now that we + have a proper solution. +Solution: Revert patch 7.4.700. (Christian Brabandt) +Files: src/ex_cmds.c + +Patch 8.0.0460 (after 8.0.0452) +Problem: Can't build on HPUX. +Solution: Fix argument names in vim_stat(). (John Marriott) +Files: src/misc2.c + +Patch 8.0.0461 (after 8.0.0457) +Problem: Test 45 hangs on MS-Windows. +Solution: Reset 'shiftwidth'. Also remove redundant function. +Files: src/fold.c, src/testdir/test45.in + +Patch 8.0.0462 +Problem: If an MS-Windows tests succeeds at first and then fails in a way + it does not produce a test.out file it looks like the test + succeeded. +Solution: Delete the previous output file. +Files: src/testdir/Make_dos.mak + +Patch 8.0.0463 +Problem: Resetting 'compatible' in defaults.vim has unexpected side + effects. (David Fishburn) +Solution: Only reset 'compatible' if it was set. +Files: runtime/defaults.vim + +Patch 8.0.0464 +Problem: Can't find executable name on Solaris and FreeBSD. +Solution: Check for "/proc/self/path/a.out". (Danek Duvall) And for + "/proc/curproc/file". +Files: src/config.h.in, src/configure.ac, src/main.c, + src/auto/configure + +Patch 8.0.0465 +Problem: Off-by-one error in using :move with folding. +Solution: Correct off-by-one mistakes and add more tests. (Matthew + Malcomson) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.0.0466 +Problem: There are still a few macros that should be all-caps. +Solution: Make a few more macros all-caps. +Files: src/buffer.c, src/edit.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/farsi.c, src/fileio.c, + src/getchar.c, src/gui_beval.c, src/hardcopy.c, src/if_cscope.c, + src/if_xcmdsrv.c, src/mark.c, src/memline.c, src/menu.c, + src/message.c, src/misc1.c, src/normal.c, src/ops.c, src/option.c, + src/quickfix.c, src/screen.c, src/search.c, src/syntax.c, + src/tag.c, src/term.c, src/term.h, src/ui.c, src/undo.c, + src/userfunc.c, src/version.c, src/vim.h + +Patch 8.0.0467 +Problem: Using g< after :for does not show the right output. (Marcin + Szamotulski) +Solution: Call msg_sb_eol() in :echomsg. +Files: src/eval.c + +Patch 8.0.0468 +Problem: After aborting an Ex command g< does not work. (Marcin + Szamotulski) +Solution: Postpone clearing scrollback messages to until the command line + has been entered. Also fix that the screen isn't redrawn if after + g< the command line is cancelled. +Files: src/message.c, src/proto/message.pro, src/ex_getln.c, src/misc2.c, + src/gui.c + +Patch 8.0.0469 +Problem: Compiler warnings on MS-Windows. +Solution: Add type casts. (Christian Brabandt) +Files: src/fold.c + +Patch 8.0.0470 +Problem: Not enough testing for help commands. +Solution: Add a few more help tests. (Dominique Pelle, closes #1565) +Files: src/testdir/test_help.vim, src/testdir/test_help_tagjump.vim + +Patch 8.0.0471 +Problem: Exit callback test sometimes fails. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0472 +Problem: When a test fails and test.log is created, Test_edit_CTRL_I + matches it instead of test1.in. +Solution: Match with runtest.vim instead. +Files: src/testdir/test_edit.vim + +Patch 8.0.0473 +Problem: No test covering arg_all(). +Solution: Add a test expanding ##. +Files: src/testdir/test_arglist.vim + +Patch 8.0.0474 +Problem: The client-server feature is not tested. +Solution: Add a test. +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/shared.vim, + src/testdir/test_clientserver.vim, src/os_mswin.c + +Patch 8.0.0475 +Problem: Not enough testing for the client-server feature. +Solution: Add more tests. Add the remote_startserver() function. Fix that + a locally evaluated expression uses function-local variables. +Files: src/if_xcmdsrv.c, src/evalfunc.c, src/os_mswin.c, + src/proto/main.pro, src/testdir/test_clientserver.vim, + runtime/doc/eval.txt + +Patch 8.0.0476 (after 8.0.0475) +Problem: Missing change to main.c. +Solution: Add new function. +Files: src/main.c + +Patch 8.0.0477 +Problem: The client-server test may hang when failing. +Solution: Set a timer. Add assert_report() +Files: src/testdir/test_clientserver.vim, src/testdir/runtest.vim, + src/eval.c, src/evalfunc.c, src/proto/eval.pro, src/if_xcmdsrv.c, + src/os_mswin.c, runtime/doc/eval.txt + +Patch 8.0.0478 +Problem: Tests use assert_true(0) and assert_false(1) to report errors. +Solution: Use assert_report(). +Files: src/testdir/test_cscope.vim, src/testdir/test_expr.vim, + src/testdir/test_perl.vim, src/testdir/test_channel.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_gui.vim, + src/testdir/test_menu.vim, src/testdir/test_popup.vim, + src/testdir/test_viminfo.vim, src/testdir/test_vimscript.vim, + src/testdir/test_assert.vim + +Patch 8.0.0479 +Problem: remote_peek() is not tested. +Solution: Add a test. +Files: src/testdir/test_clientserver.vim, src/testdir/runtest.vim + +Patch 8.0.0480 +Problem: The remote_peek() test fails on MS-Windows. +Solution: Check for pending messages. Also report errors in the first run if + a flaky test fails twice. +Files: src/os_mswin.c, src/testdir/runtest.vim + +Patch 8.0.0481 +Problem: Unnecessary if statement. +Solution: Remove the statement. Fix "it's" vs "its" mistakes. (Dominique + Pelle, closes #1568) +Files: src/syntax.c + +Patch 8.0.0482 +Problem: The setbufvar() function may mess up the window layout. (Kay Z.) +Solution: Do not check the window to be valid if it is NULL. +Files: src/window.c, src/testdir/test_functions.vim + +Patch 8.0.0483 +Problem: Illegal memory access when using :all. (Dominique Pelle) +Solution: Adjust the cursor position right after setting "curwin". +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.0.0484 +Problem: Using :lhelpgrep with an argument that should fail does not + produce an error if the previous :helpgrep worked. +Solution: Use another way to detect that autocommands made the quickfix info + invalid. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0485 +Problem: Not all windows commands are tested. +Solution: Add more tests for windows commands. (Dominique Pelle, + closes #1575) Run test_autocmd separately, it interferes with + other tests. Fix tests that depended on side effects. +Files: src/testdir/test_window_cmd.vim, src/testdir/test_alot.vim, + src/testdir/test_autocmd.vim, src/testdir/test_fnamemodify.vim, + src/testdir/test_functions.vim, src/testdir/test_delete.vim, + src/testdir/Make_all.mak + +Patch 8.0.0486 +Problem: Crash and endless loop when closing windows in a SessionLoadPost + autocommand. +Solution: Check for valid tabpage. (partly neovim #6308) +Files: src/testdir/test_autocmd.vim, src/fileio.c, src/proto/window.pro, + src/window.c + +Patch 8.0.0487 +Problem: The autocmd test hangs on MS-Windows. +Solution: Skip the hanging tests for now. +Files: src/testdir/test_autocmd.vim + +Patch 8.0.0488 +Problem: Running tests leaves an "xxx" file behind. +Solution: Delete the 'verbosefile' after resetting the option. +Files: src/testdir/gen_opt_test.vim + +Patch 8.0.0489 +Problem: Clipboard and "* register is not tested. +Solution: Add a test for Mac and X11. (Kazunobu Kuriyama) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/test_quotestar.vim, src/testdir/runtest.vim + +Patch 8.0.0490 +Problem: Splitting a 'winfixwidth' window vertically makes it one column + smaller. (Dominique Pelle) +Solution: Add one to the width for the separator. +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.0.0491 +Problem: The quotestar test fails when a required feature is missing. +Solution: Prepend "Skipped" to the thrown exception. +Files: src/testdir/test_quotestar.vim + +Patch 8.0.0492 +Problem: A failing client-server request can make Vim hang. +Solution: Add a timeout argument to functions that wait. +Files: src/evalfunc.c, src/if_xcmdsrv.c, src/proto/if_xcmdsrv.pro, + src/main.c, src/os_mswin.c, src/proto/os_mswin.pro, + src/vim.h, runtime/doc/eval.txt, src/testdir/test_clientserver.vim + +Patch 8.0.0493 +Problem: Crash with cd command with very long argument. +Solution: Check for running out of space. (Dominique Pelle, closes #1576) +Files: src/testdir/test_alot.vim, src/testdir/test_cd.vim, src/Makefile, + src/misc2.c + +Patch 8.0.0494 +Problem: Build failure with older compiler on MS-Windows. +Solution: Move declaration to start of block. +Files: src/evalfunc.c, src/main.c, src/os_mswin.c + +Patch 8.0.0495 +Problem: The quotestar test uses a timer instead of a timeout, thus it + cannot be rerun like a flaky test. +Solution: Remove the timer and add a timeout. (Kazunobu Kuriyama) +Files: src/testdir/test_quotestar.vim + +Patch 8.0.0496 +Problem: Insufficient testing for folding. +Solution: Add a couple more fold tests. (Dominique Pelle, closes #1579) +Files: src/testdir/test_fold.vim + +Patch 8.0.0497 +Problem: Arabic support is not fully tested. +Solution: Add more tests for the untested functions. Comment out + unreachable code. +Files: src/arabic.c, src/testdir/test_arabic.vim + +Patch 8.0.0498 +Problem: Two autocmd tests are skipped on MS-Windows. +Solution: Make the test pass on MS-Windows. Write the messages in a file + instead of getting the output of system(). +Files: src/testdir/test_autocmd.vim + +Patch 8.0.0499 +Problem: taglist() does not prioritize tags for a buffer. +Solution: Add an optional buffer argument. (Duncan McDougall, closes #1194) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/tag.pro, + src/Makefile, src/tag.c, src/testdir/test_alot.vim, + src/testdir/test_taglist.vim + +Patch 8.0.0500 +Problem: Quotestar test is still a bit flaky. +Solution: Add a slower check for v:version. +Files: src/testdir/test_quotestar.vim + +Patch 8.0.0501 +Problem: On MS-Windows ":!start" does not work as expected. +Solution: When creating a process fails try passing the argument to + ShellExecute(). (Katsuya Hino, closes #1570) +Files: runtime/doc/os_win32.txt, src/os_win32.c + +Patch 8.0.0502 +Problem: Coverity complains about possible NULL pointer. +Solution: Add an assert(), let's see if this works on all systems. +Files: src/window.c + +Patch 8.0.0503 +Problem: Endless loop in updating folds with 32 bit ints. +Solution: Subtract from LHS instead of add to the RHS. (Matthew Malcomson) +Files: src/fold.c + +Patch 8.0.0504 +Problem: Looking up an Ex command is a bit slow. +Solution: Instead of just using the first letter, also use the second letter + to skip ahead in the list of commands. Generate the table with a + Perl script. (Dominique Pelle, closes #1589) +Files: src/Makefile, src/create_cmdidxs.pl, src/ex_docmd.c, Filelist + +Patch 8.0.0505 +Problem: Failed window split for :stag not handled. (Coverity CID 99204) +Solution: If the split fails skip to the end. (bstaletic, closes #1577) +Files: src/tag.c + +Patch 8.0.0506 (after 8.0.0504) +Problem: Can't build with ANSI C. +Solution: Move declarations to start of block. +Files: src/ex_docmd.c + +Patch 8.0.0507 +Problem: Client-server tests fail when $DISPLAY is not set. +Solution: Check for E240 before running the test. +Files: src/testdir/test_quotestar.vim, src/testdir/test_clientserver.vim + +Patch 8.0.0508 +Problem: Coveralls no longer shows per-file coverage. +Solution: Add coverage from codecov.io. (Christian Brabandt) +Files: .travis.yml + +Patch 8.0.0509 +Problem: No link to codecov.io results. +Solution: Add a badge to the readme file. +Files: README.md + +Patch 8.0.0510 (after 8.0.0509) +Problem: Typo in link to codecov.io results. +Solution: Remove duplicate https:. +Files: README.md + +Patch 8.0.0511 +Problem: Message for skipping client-server tests is unclear. +Solution: Be more specific about what's missing (Hirohito Higashi, Kazunobu + Kuriyama) +Files: src/testdir/test_quotestar.vim, src/testdir/test_clientserver.vim + +Patch 8.0.0512 +Problem: Check for available characters takes too long. +Solution: Only check did_start_blocking if wtime is negative. (Daisuke + Suzuki, closes #1591) +Files: src/os_unix.c + +Patch 8.0.0513 (after 8.0.0201) +Problem: Getting name of cleared highlight group is wrong. (Matt Wozniski) +Solution: Only skip over cleared names for completion. (closes #1592) + Also fix that a cleared group causes duplicate completions. +Files: src/syntax.c, src/proto/syntax.pro, src/evalfunc.c, + src/ex_cmds.c, src/testdir/test_syntax.vim, + src/testdir/test_cmdline.vim + +Patch 8.0.0514 +Problem: Script for creating cmdidxs can be improved. +Solution: Count skipped lines instead of collecting the lines. Add "const". + (Dominique Pelle, closes #1594) +Files: src/create_cmdidxs.pl, src/ex_docmd.c + +Patch 8.0.0515 +Problem: ml_get errors in silent Ex mode. (Dominique Pelle) +Solution: Clear valid flags when setting the cursor. Set the topline when + not in full screen mode. +Files: src/ex_docmd.c, src/move.c, src/testdir/test_startup.vim + +Patch 8.0.0516 +Problem: A large count on a normal command causes trouble. (Dominique + Pelle) +Solution: Make "opcount" long. +Files: src/globals.h, src/testdir/test_normal.vim + +Patch 8.0.0517 +Problem: There is no way to remove quickfix lists (for testing). +Solution: Add the 'f' action to setqflist(). Add tests. (Yegappan + Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0518 +Problem: Storing a zero byte from a multi-byte character causes fold text + to show up wrong. +Solution: Avoid putting zero in ScreenLines. (Christian Brabandt, + closes #1567) +Files: src/screen.c, src/testdir/test_display.vim + +Patch 8.0.0519 +Problem: Character classes are not well tested. They can differ between + platforms. +Solution: Add tests. In the documentation make clear which classes depend + on what library function. Only use :cntrl: and :graph: for ASCII. + (Kazunobu Kuriyama, Dominique Pelle, closes #1560) + Update the documentation. +Files: src/regexp.c, src/regexp_nfa.c, runtime/doc/pattern.txt, + src/testdir/test_regexp_utf8.vim + +Patch 8.0.0520 +Problem: Using a function pointer instead of the actual function, which we + know. +Solution: Change mb_ functions to utf_ functions when already checked for + Unicode. (Dominique Pelle, closes #1582) +Files: src/message.c, src/misc2.c, src/regexp.c, src/regexp_nfa.c, + src/screen.c, src/spell.c + +Patch 8.0.0521 +Problem: GtkForm handling is outdated. +Solution: Get rid of event filter functions. Get rid of GtkForm.width and + .height. Eliminate gtk_widget_size_request() calls. (Kazunobu + Kuriyama) +Files: src/gui_gtk_f.c, src/gui_gtk_f.h + +Patch 8.0.0522 +Problem: MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a + :global command. +Solution: When setting the clipboard was postponed, do not clear the + register. +Files: src/ops.c, src/proto/ui.pro, src/ui.c, src/globals.h, + src/testdir/test_global.vim, src/Makefile, + src/testdir/test_alot.vim + +Patch 8.0.0523 +Problem: dv} deletes part of a multi-byte character. (Urtica Dioica) +Solution: Include the whole character. +Files: src/search.c, src/testdir/test_normal.vim + +Patch 8.0.0524 (after 8.0.0518) +Problem: Folds are messed up when 'encoding' is "utf-8". +Solution: Also set the fold character when it's not multi-byte. +Files: src/screen.c, src/testdir/test_display.vim + +Patch 8.0.0525 +Solution: Completion for user command argument not tested. +Problem: Add a test. +Files: src/testdir/test_cmdline.vim + +Patch 8.0.0526 +Problem: Coverity complains about possible negative value. +Solution: Check return value of ftell() not to be negative. +Files: src/os_unix.c + +Patch 8.0.0527 +Problem: RISC OS support was removed long ago, but one file is still + included. +Solution: Delete the file. (Thomas Dziedzic, closes #1603) +Files: Filelist, src/swis.s + +Patch 8.0.0528 +Problem: When 'wildmenu' is set and 'wildmode' has "longest" then the first + file name is highlighted, even though the text shows the longest + match. +Solution: Do not highlight the first match. (LemonBoy, closes #1602) +Files: src/ex_getln.c + +Patch 8.0.0529 +Problem: Line in test commented out. +Solution: Uncomment the lines for character classes that were failing before + 8.0.0519. (Dominique Pelle, closes #1599) +Files: src/testdir/test_regexp_utf8.vim + +Patch 8.0.0530 +Problem: Buffer overflow when 'columns' is very big. (Nikolai Pavlov) +Solution: Correctly compute where to truncate. Fix translation. + (closes #1600) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.0.0531 (after 8.0.0530) +Problem: Test with long directory name fails on non-unix systems. +Solution: Skip the test on non-unix systems. +Files: src/testdir/test_edit.vim + +Patch 8.0.0532 (after 8.0.0531) +Problem: Test with long directory name fails on Mac. +Solution: Skip the test on Mac systems. +Files: src/testdir/test_edit.vim + +Patch 8.0.0533 +Problem: Abbreviation doesn't work after backspacing newline. (Hkonrk) +Solution: Set the insert start column. (closes #1609) +Files: src/testdir/test_mapping.vim, src/edit.c + +Patch 8.0.0534 +Problem: Defaults.vim does not work well with tiny features. (crd477) +Solution: When the +eval feature is not available always reset 'compatible'. +Files: runtime/defaults.vim + +Patch 8.0.0535 +Problem: Memory leak when exiting from within a user function. +Solution: Clear the function call stack on exit. +Files: src/userfunc.c + +Patch 8.0.0536 +Problem: Quickfix window not updated when freeing quickfix stack. +Solution: Update the quickfix window. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0537 +Problem: Illegal memory access with :z and large count. +Solution: Check for number overflow, using long instead of int. (Dominique + Pelle, closes #1612) +Files: src/Makefile, src/ex_cmds.c, src/testdir/test_alot.vim, + src/testdir/test_ex_z.vim + +Patch 8.0.0538 +Problem: No test for falling back to default term value. +Solution: Add a test. +Files: src/testdir/test_startup.vim + +Patch 8.0.0539 (after 8.0.0538) +Problem: Startup test fails on Mac. +Solution: Use another term name, "unknown" is known. Avoid a 2 second delay. +Files: src/testdir/test_startup.vim, src/main.c, src/proto/main.pro, + src/term.c + +Patch 8.0.0540 (after 8.0.0540) +Problem: Building unit tests fails. +Solution: Move params outside of #ifdef. +Files: src/main.c, src/message_test.c + +Patch 8.0.0541 +Problem: Compiler warning on MS-Windows. +Solution: Add a type cast. (Mike Williams) +Files: src/edit.c + +Patch 8.0.0542 +Problem: getpos() can return a negative line number. (haya14busa) +Solution: Handle a zero topline and botline. (closes #1613) +Files: src/eval.c, runtime/doc/eval.txt + +Patch 8.0.0543 +Problem: Test_edit causes older xfce4-terminal to close. (Dominique Pelle) +Solution: Reduce number of columns to 2000. Try to restore the window + position. +Files: src/testdir/test_edit.vim, src/evalfunc.c, src/term.c, + src/proto/term.pro, src/term.h + +Patch 8.0.0544 +Problem: Cppcheck warnings. +Solution: Use temp variable. Change NUL to NULL. Swap conditions. (Dominique + Pelle) +Files: src/channel.c, src/edit.c, src/farsi.c + +Patch 8.0.0545 +Problem: Edit test may fail on some systems. +Solution: If creating a directory with a very long path fails, bail out. +Files: src/testdir/test_edit.vim + +Patch 8.0.0546 +Problem: Swap file exists briefly when opening the command window. +Solution: Set the noswapfile command modifier before splitting the window. + (James McCoy, closes #1620) +Files: src/ex_getln.c, src/option.c + +Patch 8.0.0547 +Problem: Extra line break in verbosefile when using ":echomsg". (Ingo + Karkat) +Solution: Don't call msg_start(). (closes #1618) +Files: src/eval.c, src/testdir/test_cmdline.vim + +Patch 8.0.0548 +Problem: Saving the redo buffer only works one time, resulting in the "." + command not working well for a function call inside another + function call. (Ingo Karkat) +Solution: Save the redo buffer at every user function call. (closes #1619) +Files: src/getchar.c, src/proto/getchar.pro, src/structs.h, + src/fileio.c, src/userfunc.c, src/testdir/test_functions.vim + +Patch 8.0.0549 +Problem: No test for the 8g8 command. +Solution: Add a test. (Dominique Pelle, closes #1615) +Files: src/testdir/test_normal.vim + +Patch 8.0.0550 +Problem: Some etags format tags file use 0x01, breaking the parsing. +Solution: Use 0x02 for TAG_SEP. (James McCoy, closes #1614) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.0.0551 +Problem: The typeahead buffer is reallocated too often. +Solution: Re-use the existing buffer if possible. +Files: src/getchar.c + +Patch 8.0.0552 +Problem: Toupper and tolower don't work properly for Turkish when 'casemap' + is empty. (Bjorn Linse) +Solution: Check the 'casemap' options when deciding how to upper/lower case. +Files: src/charset.c, src/testdir/test_normal.vim + +Patch 8.0.0553 (after 8.0.0552) +Problem: Toupper/tolower test with Turkish locale fails on Mac. +Solution: Skip the test on Mac. +Files: src/testdir/test_normal.vim + +Patch 8.0.0554 (after 8.0.0552) +Problem: Toupper and tolower don't work properly for Turkish when 'casemap' + contains "keepascii". (Bjorn Linse) +Solution: When 'casemap' contains "keepascii" use ASCII toupper/tolower. +Files: src/charset.c, src/testdir/test_normal.vim + +Patch 8.0.0555 (after 8.0.0552) +Problem: Toupper/tolower test fails on OSX without Darwin. +Solution: Skip that part of the test also for OSX. (Kazunobu Kuriyama) +Files: src/testdir/test_normal.vim + +Patch 8.0.0556 +Problem: Getting the window position fails if both the GUI and term + code is built in. +Solution: Return after getting the GUI window position. (Kazunobu Kuriyama) +Files: src/evalfunc.c + +Patch 8.0.0557 +Problem: GTK: using static gravities is not useful. +Solution: Remove setting static gravities. (Kazunobu Kuriyama) +Files: src/gui_gtk_f.c + +Patch 8.0.0558 +Problem: The :ownsyntax command is not tested. +Solution: Add a test. (Dominique Pelle, closes #1622) +Files: src/testdir/test_syntax.vim + +Patch 8.0.0559 +Problem: Setting 'ttytype' to xxx does not always fail as expected. (Marvin + Schmidt) +Solution: Catch both possible errors. (closes #1601) +Files: src/testdir/test_options.vim + +Patch 8.0.0560 +Problem: :windo allows for ! but it's not supported. +Solution: Disallow passing !. (Hirohito Higashi) +Files: src/ex_cmds.h + +Patch 8.0.0561 +Problem: Undefined behavior when using backslash after empty line. +Solution: Check for an empty line. (Dominique Pelle, closes #1631) +Files: src/misc2.c, src/testdir/test_vimscript.vim + +Patch 8.0.0562 +Problem: Not enough test coverage for syntax commands. +Solution: Add a few more tests. (Dominique Pelle, closes #1624) +Files: src/testdir/test_cmdline.vim, src/testdir/test_syntax.vim + +Patch 8.0.0563 +Problem: Crash when getting the window position in tmux. (Marvin Schmidt) +Solution: Add t_GP to the list of terminal options. (closes #1627) +Files: src/option.c + +Patch 8.0.0564 +Problem: Cannot detect Bazel BUILD files on some systems. +Solution: Check for BUILD after script checks. (Issue #1340) +Files: runtime/filetype.vim + +Patch 8.0.0565 +Problem: Using freed memory in :caddbuf after clearing quickfix list. + (Dominique Pelle) +Solution: Set qf_last to NULL. +Files: src/quickfix.c + +Patch 8.0.0566 +Problem: Setting 'nocompatible' for the tiny version moves the cursor. +Solution: Use another trick to skip commands when the +eval feature is + present. (Christian Brabandt, closes #1630) +Files: runtime/defaults.vim + +Patch 8.0.0567 +Problem: Call for requesting color and ambiwidth is too early. (Hirohito + Higashi) +Solution: Move the call down to below resetting "starting". +Files: src/main.c + +Patch 8.0.0568 +Problem: "1gd" may hang. +Solution: Don't get stuck in one position. (Christian Brabandt, closes #1643) +Files: src/testdir/test_goto.vim, src/normal.c + +Patch 8.0.0569 +Problem: Bracketed paste is still enabled when executing a shell command. + (Michael Smith) +Solution: Disable bracketed paste when going into cooked mode. (closes #1638) +Files: src/term.c + +Patch 8.0.0570 +Problem: Can't run make with several jobs, creating directories has a race + condition. +Solution: Use the MKDIR_P autoconf mechanism. (Eric N. Vander Weele, + closes #1639) +Files: src/configure.ac, src/auto/configure, src/Makefile, + src/config.mk.in, src/install-sh, src/mkinstalldirs, Filelist + +Patch 8.0.0571 +Problem: The cursor line number becomes negative when using :z^ in an empty + buffer. (neovim #6557) +Solution: Correct the line number. Also reset the column. +Files: src/testdir/test_ex_z.vim, src/ex_cmds.c + +Patch 8.0.0572 +Problem: Building the command table requires Perl. +Solution: Use a Vim script solution. (Dominique Pelle, closes #1641) +Files: src/Makefile, src/create_cmdidxs.pl, src/create_cmdidxs.vim, + src/ex_cmdidxs.h, src/ex_docmd.c, Filelist + +Patch 8.0.0573 +Problem: Running parallel make after distclean fails. (Manuel Ortega) +Solution: Instead of using targets "scratch config myself" use "reconfig". +Files: src/Makefile, src/config.mk.dist + +Patch 8.0.0574 +Problem: Get only one quickfix list after :caddbuf. +Solution: Reset qf_multiline. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0575 +Problem: Using freed memory when resetting 'indentexpr' while evaluating + it. (Dominique Pelle) +Solution: Make a copy of 'indentexpr'. +Files: src/misc1.c, src/testdir/test_options.vim + +Patch 8.0.0576 (after 8.0.0570 and 8.0.0573) +Problem: Can't build when configure chooses "install-sh". (Daniel Hahler) +Solution: Always use install-sh. Fix remaining use of mkinstalldirs. + (closes #1647) +Files: src/installman.sh, src/installml.sh, src/config.mk.in, + src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.0.0577 (after 8.0.0575) +Problem: Warning for uninitialized variable. (John Marriott) +Solution: Initialize "indent". +Files: src/misc1.c + +Patch 8.0.0578 +Problem: :simalt on MS-Windows does not work properly. +Solution: Put something in the typeahead buffer. (Christian Brabandt) +Files: src/gui_w32.c + +Patch 8.0.0579 +Problem: Duplicate test case for quickfix. +Solution: Remove the function. (Yegappan Lakshmanan) +Files: src/testdir/test_quickfix.vim + +Patch 8.0.0580 +Problem: Cannot set the valid flag with setqflist(). +Solution: Add the "valid" argument. (Yegappan Lakshmanan, closes #1642) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0581 +Problem: Moving folded text is sometimes not correct. +Solution: Bail out when "move_end" is zero. (Matthew Malcomson) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.0.0582 +Problem: Illegal memory access with z= command. (Dominique Pelle) +Solution: Avoid case folded text to be longer than the original text. Use + MB_PTR2LEN() instead of MB_BYTE2LEN(). +Files: src/spell.c, src/testdir/test_spell.vim + +Patch 8.0.0583 +Problem: Fold test hangs on MS-Windows. +Solution: Avoid overflow in compare. +Files: src/fold.c + +Patch 8.0.0584 +Problem: Memory leak when executing quickfix tests. +Solution: Free the list reference. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.0585 +Problem: Test_options fails when run in the GUI. +Solution: Also check the 'imactivatekey' value when the GUI is not running. + Specify test values that work and that fail. +Files: src/option.c, src/testdir/gen_opt_test.vim + +Patch 8.0.0586 +Problem: No test for mapping timing out. +Solution: Add a test. +Files: src/testdir/test_mapping.vim + +Patch 8.0.0587 +Problem: Configure check for return value of tgetent is skipped. +Solution: Always perform the check. (Marvin Schmidt, closes #1664) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.0588 +Problem: job_stop() often assumes the channel will be closed, while the job + may not actually be stopped. (Martin Gammelsæter) +Solution: Only assume the job stops on "kill". Don't send a signal if the + job has already ended. (closes #1632) +Files: src/channel.c + +Patch 8.0.0589 (after 8.0.0578) +Problem: :simalt still does not work. +Solution: Use K_NOP instead of K_IGNORE. (Christian Brabandt) +Files: src/gui_w32.c + +Patch 8.0.0590 +Problem: Cannot add a context to locations. +Solution: Add the "context" entry in location entries. (Yegappan Lakshmanan, + closes #1012) +Files: src/eval.c, src/proto/quickfix.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0591 +Problem: Changes to eval functionality not documented. +Solution: Include all the changes. +Files: runtime/doc/eval.txt + +Patch 8.0.0592 +Problem: If a job writes to a buffer and the user is typing a command, the + screen isn't updated. When a message is displayed the changed + buffer may cause it to be cleared. (Ramel Eshed) +Solution: Update the screen and then the command line if the screen didn't + scroll. Avoid inserting screen lines, as it clears any message. + Update the status line when the buffer changed. +Files: src/channel.c, src/screen.c, src/ex_getln.c, src/globals.h, + src/vim.h, src/proto/ex_getln.pro, src/proto/screen.pro + +Patch 8.0.0593 +Problem: Duplication of code for adding a list or dict return value. +Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan) +Files: src/dict.c, src/eval.c, src/evalfunc.c, src/if_perl.xs, src/list.c, + src/proto/dict.pro, src/proto/list.pro + +Patch 8.0.0594 (after 8.0.0592) +Problem: Build failure when windows feature is missing. +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.0.0595 (after 8.0.0590) +Problem: Coverity warning for not checking return value of dict_add(). +Solution: Check the return value for FAIL. +Files: src/quickfix.c + +Patch 8.0.0596 +Problem: Crash when complete() is called after complete_add() in + 'completefunc'. (Lifepillar) +Solution: Bail out if compl_pattern is NULL. (closes #1668) + Also avoid using freed memory. +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0597 +Problem: Off-by-one error in buffer size computation. +Solution: Use ">=" instead of ">". (LemonBoy, closes #1694) +Files: src/quickfix.c + +Patch 8.0.0598 +Problem: Building with gcc 7.1 yields new warnings. +Solution: Initialize result. (John Marriott) +Files: src/ex_docmd.c + +Patch 8.0.0599 +Problem: diff mode is insufficiently tested +Solution: Add more test cases. (Dominique Pelle, closes #1685) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.0.0600 +Problem: test_recover fails on some systems. +Solution: Explicitly check if "/" is writable. (Ken Takata) +Files: src/testdir/test_recover.vim + +Patch 8.0.0601 +Problem: No test coverage for :spellrepall. +Solution: Add a test. (Dominique Pelle, closes #1717) +Files: src/testdir/test_spell.vim + +Patch 8.0.0602 +Problem: When gF fails to edit the file the cursor still moves to the found + line number. +Solution: Check the return value of do_ecmd(). (Michael Hwang) +Files: src/normal.c, src/testdir/test_gf.vim + +Patch 8.0.0603 (after 8.0.0602) +Problem: gF test fails on MS-Windows. +Solution: Use @ instead of : before the line number +Files: src/testdir/test_gf.vim + +Patch 8.0.0604 (after 8.0.0603) +Problem: gF test still fails on MS-Windows. +Solution: Use : before the line number and remove it from 'isfname'. +Files: src/testdir/test_gf.vim + +Patch 8.0.0605 +Problem: The buffer that quickfix caches for performance may become + invalid. (Daniel Hahler) +Solution: Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler, + closes #1728, closes #1676) +Files: src/quickfix.c + +Patch 8.0.0606 +Problem: Cannot set the context for a specified quickfix list. +Solution: Use the list index instead of the current list. (Yegappan + Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.0607 +Problem: When creating a bufref, then using :bwipe and :new it might get + the same memory and bufref_valid() returns true. +Solution: Add br_fnum to check the buffer number didn't change. +Files: src/structs.h, src/buffer.c, src/globals.h, src/if_py_both.h, + src/quickfix.c + +Patch 8.0.0608 +Problem: Cannot manipulate other than the current quickfix list. +Solution: Pass the list index to quickfix functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.0609 +Problem: For some people the hint about quitting is not sufficient. +Solution: Put <Enter> separately. Also use ":qa!" to get out even when + there are changes. +Files: src/normal.c + +Patch 8.0.0610 +Problem: The screen is redrawn when t_BG is set and used to detect the + value for 'background'. +Solution: Don't redraw when the value of 'background' didn't change. +Files: src/term.c. + +Patch 8.0.0611 +Problem: When t_u7 is sent a few characters in the second screen line are + overwritten and not redrawn later. (Rastislav Barlik) +Solution: Move redrawing the screen to after overwriting the characters. +Files: src/main.c, src/term.c. + +Patch 8.0.0612 +Problem: Package directories are added to 'runtimepath' only after loading + non-package plugins. +Solution: Split off the code to add package directories to 'runtimepath'. + (Ingo Karkat, closes #1680) +Files: src/ex_cmds2.c, src/globals.h, src/main.c, src/proto/ex_cmds2.pro, + src/testdir/test_startup.vim + +Patch 8.0.0613 +Problem: The conf filetype detection is done before ftdetect scripts from + packages that are added later. +Solution: Add the FALLBACK argument to :setfiletype. (closes #1679, + closes #1693) +Files: src/ex_docmd.c, runtime/filetype.vim, src/Makefile, + src/testdir/test_filetype.vim, src/testdir/test_alot.vim + +Patch 8.0.0614 +Problem: float2nr() is not exactly right. +Solution: Make float2nr() more accurate. Turn test65 into a new style test. + (Hirohito Higashi, closes #1688) +Files: src/Makefile, src/evalfunc.c, src/testdir/Make_all.mak, + src/testdir/Make_vms.mms, src/testdir/test65.in, + src/testdir/test65.ok, src/testdir/test_float_func.vim, + src/testdir/test_vimscript.vim, src/macros.h + +Patch 8.0.0615 +Problem: Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov) +Solution: Expand % differently. (Christian Brabandt, closes #1682) +Files: src/ex_docmd.c, src/testdir/test_hardcopy.vim + + +Patch 8.0.0616 +Problem: When setting the cterm background with ":hi Normal" the value of + 'background' may be set wrongly. +Solution: Check that the color is less than 16. Don't set 'background' when + it was set explicitly. (LemonBoy, closes #1710) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.0.0617 (after 8.0.0615) +Problem: Hardcopy test hangs on MS-Windows. +Solution: Check the postscript feature is supported. +Files: src/testdir/test_hardcopy.vim + +Patch 8.0.0618 +Problem: NFA regex engine handles [0-z] incorrectly. +Solution: Return at the right point. (James McCoy, closes #1703) +Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok + +Patch 8.0.0619 +Problem: In the GUI, when a timer uses feedkeys(), it still waits for an + event. (Raymond Ko) +Solution: Check tb_change_cnt in one more place. +Files: src/gui.c + +Patch 8.0.0620 +Problem: Since we only support GTK versions that have it, the check for + HAVE_GTK_MULTIHEAD is no longer needed. +Solution: Remove HAVE_GTK_MULTIHEAD. (Kazunobu Kuriyama) +Files: src/config.h.in, src/configure.ac, src/auto/configure, + src/gui_beval.c, src/gui_gtk_x11.c, src/mbyte.c + +Patch 8.0.0621 +Problem: The ":stag" command does not respect 'switchbuf'. +Solution: Check 'switchbuf' for tag commands that may open a new window. + (Ingo Karkat, closes #1681) Define macros for the return values + of getfile(). +Files: src/tag.c, src/testdir/test_tagjump.vim, src/vim.h, src/buffer.c, + src/ex_cmds.c, src/search.c, + +Patch 8.0.0622 +Problem: Using a text object to select quoted text fails when 'selection' + is set to "exclusive". (Guraga) +Solution: Swap cursor and visual start position. (Christian Brabandt, + closes #1687) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.0.0623 +Problem: The message "Invalid range" is used for multiple errors. +Solution: Add two more specific error messages. (Itchyny, Ken Hamada) +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.0.0624 (after 8.0.0623) +Problem: Warning for unused variable in tiny build. (Tony Mechelynck) +Solution: Add an #ifdef. +Files: src/regexp.c + +Patch 8.0.0625 +Problem: shellescape() always escapes a newline, which does not work with + some shells. (Harm te Hennepe) +Solution: Only escape a newline when the "special" argument is non-zero. + (Christian Brabandt, closes #1590) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.0.0626 +Problem: In the GUI the cursor may flicker. +Solution: Check the cmd_silent flag before updating the cursor shape. + (Hirohito Higashi, closes #1637) +Files: src/getchar.c + +Patch 8.0.0627 +Problem: When 'wrapscan' is off "gn" does not select the whole pattern when + it's the last one in the text. (KeyboardFire) +Solution: Check if the search fails. (Christian Brabandt, closes #1683) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.0.0628 (after 8.0.0626 +Problem: Cursor disappears after silent mapping. (Ramel Eshed) +Solution: Do restore the cursor when it was changed, but don't change it in + the first place for a silent mapping. +Files: src/getchar.c + + +Patch 8.0.0629 (after 8.0.0611) +Problem: Checking for ambiguous width is not working. (Hirohito Higashi) +Solution: Reset "starting" earlier. +Files: src/main.c + +Patch 8.0.0630 +Problem: The :global command does not work recursively, which makes it + difficult to execute a command on a line where one pattern matches + and another does not match. (Miles Cranmer) +Solution: Allow for recursion if it is for only one line. (closes #1760) +Files: src/ex_cmds.c, src/testdir/test_global.vim, runtime/doc/repeat.txt + +Patch 8.0.0631 +Problem: Perl 5.26 also needs S_TOPMARK and S_POPMARK defined. +Solution: Define the functions when needed. (Jesin, closes #1748) +Files: src/if_perl.xs + +Patch 8.0.0632 +Problem: The quotestar test is still a bit flaky. +Solution: Kill any existing server to make the retry work. Wait for the + register to be filled. +Files: src/testdir/test_quotestar.vim + +Patch 8.0.0633 +Problem: The client-server test is still a bit flaky. +Solution: Wait a bit for the GUI to start. Check that the version number + can be obtained. +Files: src/testdir/test_clientserver.vim + +Patch 8.0.0634 +Problem: Cannot easily get to the last quickfix list. +Solution: Add "$" as a value for the "nr" argument of getqflist() and + setqflist(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0635 +Problem: When 'ignorecase' is set script detection is inaccurate. +Solution: Enforce matching case for text. (closes #1753) +Files: runtime/scripts.vim + +Patch 8.0.0636 +Problem: When reading the undo file fails may use uninitialized data. +Solution: Always clear the buffer on failure. +Files: src/undo.c + +Patch 8.0.0637 +Problem: Crash when using some version of GTK 3. +Solution: Add #ifdefs around incrementing the menu index. (Kazunobu + Kuriyama) +Files: src/gui_gtk.c + +Patch 8.0.0638 +Problem: Cannot build with new MSVC version VS2017. +Solution: Change the compiler arguments. (Leonardo Valeri Manera, + closes #1731, closes #1747) +Files: src/GvimExt/Makefile, src/Make_mvc.mak + +Patch 8.0.0639 +Problem: The cursor position is set to the last position in a new commit + message. +Solution: Don't set the position if the filetype matches "commit". + (Christian Brabandt) +Files: runtime/defaults.vim + +Patch 8.0.0640 +Problem: Mismatch between help and actual message for ":syn conceal". +Solution: Change the message to match the help. (Ken Takata) +Files: src/syntax.c + +Patch 8.0.0641 +Problem: Cannot set a separate highlighting for the current line in the + quickfix window. +Solution: Add QuickFixLine. (anishsane, closes #1755) +Files: src/option.c, src/quickfix.c, src/screen.c, src/syntax.c, + src/vim.h, runtime/doc/options.txt, runtime/doc/quickfix.txt + +Patch 8.0.0642 +Problem: writefile() continues after detecting an error. +Solution: Bail out as soon as an error is detected. (suggestions by Nikolai + Pavlov, closes #1476) +Files: src/evalfunc.c, src/testdir/test_writefile.vim + +Patch 8.0.0643 +Problem: When 'hlsearch' is set and matching with the last search pattern + is very slow, Vim becomes unusable. Cannot quit search by + pressing CTRL-C. +Solution: When the search times out set a flag and don't try again. Check + for timeout and CTRL-C in NFA loop that adds states. +Files: src/screen.c, src/ex_cmds.c, src/quickfix.c, src/regexp.c, + src/proto/regexp.pro, src/regexp.h, src/search.c, + src/proto/search.pro, src/syntax.c, src/regexp_nfa.c, src/spell.c, + src/tag.c, src/gui.c, src/edit.c, src/evalfunc.c, src/ex_docmd.c, + src/ex_getln.c, src/normal.c + +Patch 8.0.0644 +Problem: There is no test for 'hlsearch' timing out. +Solution: Add a test. +Files: src/testdir/test_hlsearch.vim + +Patch 8.0.0645 +Problem: The new regexp engine does not give an error for using a back + reference where it is not allowed. (Dominique Pelle) +Solution: Check the back reference like the old engine. (closes #1774) +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_hlsearch.vim, + src/testdir/test_statusline.vim, + src/testdir/test_regexp_latin1.vim + +Patch 8.0.0646 +Problem: The hlsearch test fails on fast systems. +Solution: Make the search pattern slower. Fix that the old regexp engine + doesn't timeout properly. +Files: src/regexp.c, src/testdir/test_hlsearch.vim + +Patch 8.0.0647 +Problem: Syntax highlighting can cause a freeze. +Solution: Apply 'redrawtime' to syntax highlighting, per window. +Files: src/structs.h, src/screen.c, src/syntax.c, src/normal.c, + src/regexp.c, src/proto/syntax.pro, src/testdir/test_syntax.vim, + runtime/doc/options.txt + +Patch 8.0.0648 +Problem: Possible use of NULL pointer if buflist_new() returns NULL. + (Coverity) +Solution: Check for NULL pointer in set_bufref(). +Files: src/buffer.c + +Patch 8.0.0649 +Problem: When opening a help file the filetype is set several times. +Solution: When setting the filetype to the same value from a modeline, don't + trigger FileType autocommands. Don't set the filetype to "help" + when it's already set correctly. +Files: src/ex_cmds.c, src/option.c, runtime/filetype.vim + +Patch 8.0.0650 +Problem: For extra help files the filetype is set more than once. +Solution: In *.txt files check that there is no help file modline. +Files: runtime/filetype.vim + +Patch 8.0.0651 (after 8.0.0649) +Problem: Build failure without the auto command feature. +Solution: Add #ifdef. (closes #1782) +Files: src/ex_cmds.c + +Patch 8.0.0652 +Problem: Unicode information is outdated. +Solution: Update to Unicode 10. (Christian Brabandt) +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 8.0.0653 +Problem: The default highlight for QuickFixLine does not work for several + color schemes. (Manas Thakur) +Solution: Make the default use the old color. (closes #1780) +Files: src/syntax.c + +Patch 8.0.0654 +Problem: Text found after :endfunction is silently ignored. +Solution: Give a warning if 'verbose' is set. When | or \n are used, + execute the text as a command. +Files: src/testdir/test_vimscript.vim, src/userfunc.c, + runtime/doc/eval.txt + +Patch 8.0.0655 +Problem: Not easy to make sure a function does not exist. +Solution: Add ! as an optional argument to :delfunc. +Files: src/userfunc.c, src/ex_cmds.h, src/testdir/test_vimscript.vim + +Patch 8.0.0656 +Problem: Cannot use ! after some user commands. +Solution: Properly check for existing command. (Hirohito Higashi) +Files: src/ex_docmd.c, src/testdir/test_vimscript.vim + +Patch 8.0.0657 +Problem: Cannot get and set quickfix list items. +Solution: Add the "items" argument to getqflist() and setqflist(). (Yegappan + Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0658 +Problem: Spell test is old style. +Solution: Turn the spell test into a new style test (pschuh, closes #1778) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test58.in, src/testdir/test58.ok, + src/testdir/test_spell.vim + +Patch 8.0.0659 +Problem: No test for conceal mode. +Solution: Add a conceal mode test. (Dominique Pelle, closes #1783) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_syntax.vim + +Patch 8.0.0660 +Problem: Silent install on MS-Windows does show a dialog. +Solution: Add /SD to the default choice. (allburov, closes #1772) +Files: nsis/gvim.nsi + +Patch 8.0.0661 +Problem: Recognizing urxvt mouse codes does not work well. +Solution: Recognize "Esc[*M" and "Esc[*m". (Maurice Bos, closes #1486) +Files: src/keymap.h, src/misc2.c, src/os_unix.c, src/term.c + +Patch 8.0.0662 (after 8.0.0659) +Problem: Stray FIXME for fixed problem. +Solution: Remove the comment. (Dominique Pelle) +Files: src/testdir/test_syntax.vim + +Patch 8.0.0663 +Problem: Giving an error message only when 'verbose' set is unexpected. +Solution: Give a warning message instead. +Files: src/message.c, src/proto/message.pro, src/userfunc.c, + src/testdir/test_vimscript.vim, runtime/doc/eval.txt + +Patch 8.0.0664 (after 8.0.0661) +Problem: Mouse does not work in tmux. (lilydjwg) +Solution: Add flag for SGR release being present. +Files: src/term.c + +Patch 8.0.0665 (after 8.0.0661) +Problem: Warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize it. +Files: src/term.c + +Patch 8.0.0666 +Problem: Dead for loop. (Coverity) +Solution: Remove the for loop. +Files: src/term.c + +Patch 8.0.0667 +Problem: Memory access error when command follows :endfunction. (Nikolai + Pavlov) +Solution: Make memory handling in :function straightforward. (closes #1793) +Files: src/userfunc.c, src/testdir/test_vimscript.vim + +Patch 8.0.0668 (after 8.0.0660) +Problem: Nsis installer script does not work. (Christian Brabandt) +Solution: Fix the syntax of /SD. +Files: nsis/gvim.nsi + +Patch 8.0.0669 +Problem: In Insert mode, CTRL-N at start of the buffer does not work + correctly. (zuloloxi) +Solution: Wrap around the start of the buffer. (Christian Brabandt) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.0670 +Problem: Can't use input() in a timer callback. (Cosmin Popescu) +Solution: Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790, + closes #1129) +Files: src/evalfunc.c, src/ex_cmds2.c, src/globals.h, + src/testdir/test_timers.vim + +Patch 8.0.0671 +Problem: When a function invoked from a timer calls confirm() and the user + types CTRL-C then Vim hangs. +Solution: Reset typebuf_was_filled. (Ozaki Kiichi, closes #1791) +Files: src/getchar.c + +Patch 8.0.0672 +Problem: Third item of synconcealed() changes too often. (Dominique Pelle) +Solution: Reset the sequence number at the start of each line. +Files: src/syntax.c, src/testdir/test_syntax.vim, runtime/doc/eval.txt + +Patch 8.0.0673 (after 8.0.0673) +Problem: Build failure without conceal feature. +Solution: Add #ifdef. +Files: src/syntax.c + +Patch 8.0.0674 (after 8.0.0670) +Problem: Cannot build with eval but without timers. +Solution: Add #ifdef (John Marriott) +Files: src/evalfunc.c + +Patch 8.0.0675 +Problem: 'colorcolumn' has a higher priority than 'hlsearch', it should be + the other way around. (Nazri Ramliy) +Solution: Change the priorities. (LemonBoy, closes #1794) +Files: src/screen.c, src/testdir/test_listlbr_utf8.vim + +Patch 8.0.0676 +Problem: Crash when closing the quickfix window in a FileType autocommand + that triggers when the quickfix window is opened. +Solution: Save the new value before triggering the OptionSet autocommand. + Add the "starting" flag to test_override() to make the text work. +Files: src/evalfunc.c, src/option.c, runtime/doc/eval.txt + +Patch 8.0.0677 +Problem: Setting 'filetype' internally may cause the current buffer and + window to change unexpectedly. +Solution: Set curbuf_lock. (closes #1734) +Files: src/quickfix.c, src/ex_cmds.c, src/ex_getln.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0678 +Problem: When 'equalalways' is set and closing a window in a separate + frame, not all window sizes are adjusted. (Glacambre) +Solution: Resize all windows if the new current window is not in the same + frame as the closed window. (closes #1707) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.0.0679 (after 8.0.0678) +Problem: Using freed memory. +Solution: Get the parent frame pointer earlier. +Files: src/window.c + +Patch 8.0.0680 (after 8.0.0612) +Problem: Plugins in start packages are sourced twice. (mseplowitz) +Solution: Use the unmodified runtime path when loading plugins (test by Ingo + Karkat, closes #1801) +Files: src/testdir/test_startup.vim, src/main.c, src/ex_cmds2.c, + src/proto/ex_cmds2.pro + +Patch 8.0.0681 +Problem: Unnamed register only contains the last deleted text when + appending deleted text to a register. (Wolfgang Jeltsch) +Solution: Only set y_previous when not using y_append. (Christian Brabandt) +Files: src/ops.c, src/testdir/test_put.vim + +Patch 8.0.0682 +Problem: No test for synIDtrans(). +Solution: Add a test. (Dominique Pelle, closes #1796) +Files: src/testdir/test_syntax.vim + +Patch 8.0.0683 +Problem: When using a visual bell there is no delay, causing the flash to + be very short, possibly unnoticeable. Also, the flash and the + beep can lockup the UI when repeated often. +Solution: Do the delay in Vim or flush the output before the delay. Limit the + bell to once per half a second. (Ozaki Kiichi, closes #1789) +Files: src/misc1.c, src/proto/term.pro, src/term.c + +Patch 8.0.0684 +Problem: Old style tests are not nice. +Solution: Turn two tests into new style. (pschuh, closes #1797) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test82.in, src/testdir/test82.ok, + src/testdir/test90.in, src/testdir/test90.ok, + src/testdir/test_sha256.vim, src/testdir/test_utf8_comparisons.vim + +Patch 8.0.0685 +Problem: When making backups is disabled and conversion with iconv fails + the written file is truncated. (Luo Chen) +Solution: First try converting the file and write the file only when it did + not fail. (partly by Christian Brabandt) +Files: src/fileio.c, src/testdir/test_writefile.vim + +Patch 8.0.0686 +Problem: When typing CTRL-L in a window that's not the first one, another + redraw will happen later. (Christian Brabandt) +Solution: Reset must_redraw after calling screenclear(). +Files: src/screen.c + +Patch 8.0.0687 +Problem: Minor issues related to quickfix. +Solution: Set the proper return status for all cases in setqflist() and at + test cases for this. Move the "adding" flag outside of + FEAT_WINDOWS. Minor update to the setqflist() help text. (Yegappan + Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0688 +Problem: Cannot resize the window in a FileType autocommand. (Ingo Karkat) +Solution: Add the CMDWIN flag to :resize. (test by Ingo Karkat, + closes #1804) +Files: src/ex_cmds.h, src/testdir/test_quickfix.vim + +Patch 8.0.0689 +Problem: The ~ character is not escaped when adding to the search pattern + with CTRL-L. (Ramel Eshed) +Solution: Escape the character. (Christian Brabandt) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.0.0690 +Problem: Compiler warning on non-Unix system. +Solution: Add #ifdef. (John Marriott) +Files: src/term.c + +Patch 8.0.0691 +Problem: Compiler warning without the linebreak feature. +Solution: Add #ifdef. (John Marriott) +Files: src/edit.c + +Patch 8.0.0692 +Problem: Using CTRL-G with 'incsearch' and ? goes in the wrong direction. + (Ramel Eshed) +Solution: Adjust search_start. (Christian Brabandt) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.0.0693 +Problem: No terminal emulator support. Cannot properly run commands in the + GUI. Cannot run a job interactively with an ssh connection. +Solution: Very early implementation of the :terminal command. Includes + libvterm converted to ANSI C. Many parts still missing. +Files: src/feature.h, src/Makefile, src/configure.ac, src/auto/configure, + src/config.mk.in, src/config.h.in, src/terminal.c, src/structs.h, + src/ex_cmdidxs.h, src/ex_docmd.c, src/option.c, src/option.h, + src/evalfunc.c, src/proto/terminal.pro, src/proto.h, + runtime/doc/terminal.txt, runtime/doc/Makefile, Filelist, + src/libvterm/.bzrignore, src/libvterm/.gitignore, + src/libvterm/LICENSE, src/libvterm/README, src/libvterm/Makefile, + src/libvterm/tbl2inc_c.pl, src/libvterm/vterm.pc.in, + src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-ctrl.c, + src/libvterm/bin/vterm-dump.c, src/libvterm/doc/URLs, + src/libvterm/doc/seqs.txt, src/libvterm/include/vterm.h, + src/libvterm/include/vterm_keycodes.h, + src/libvterm/src/encoding.c, + src/libvterm/src/encoding/DECdrawing.inc, + src/libvterm/src/encoding/DECdrawing.tbl, + src/libvterm/src/encoding/uk.inc, + src/libvterm/src/encoding/uk.tbl, src/libvterm/src/keyboard.c, + src/libvterm/src/mouse.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/libvterm/src/rect.h, + src/libvterm/src/screen.c, src/libvterm/src/state.c, + src/libvterm/src/unicode.c, src/libvterm/src/utf8.h, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/02parser.test, src/libvterm/t/03encoding_utf8.test, + src/libvterm/t/10state_putglyph.test, + src/libvterm/t/11state_movecursor.test, + src/libvterm/t/12state_scroll.test, + src/libvterm/t/13state_edit.test, + src/libvterm/t/14state_encoding.test, + src/libvterm/t/15state_mode.test, + src/libvterm/t/16state_resize.test, + src/libvterm/t/17state_mouse.test, + src/libvterm/t/18state_termprops.test, + src/libvterm/t/20state_wrapping.test, + src/libvterm/t/21state_tabstops.test, + src/libvterm/t/22state_save.test, + src/libvterm/t/25state_input.test, + src/libvterm/t/26state_query.test, + src/libvterm/t/27state_reset.test, + src/libvterm/t/28state_dbl_wh.test, + src/libvterm/t/29state_fallback.test, src/libvterm/t/30pen.test, + src/libvterm/t/40screen_ascii.test, + src/libvterm/t/41screen_unicode.test, + src/libvterm/t/42screen_damage.test, + src/libvterm/t/43screen_resize.test, + src/libvterm/t/44screen_pen.test, + src/libvterm/t/45screen_protect.test, + src/libvterm/t/46screen_extent.test, + src/libvterm/t/47screen_dbl_wh.test, + src/libvterm/t/48screen_termprops.test, + src/libvterm/t/90vttest_01-movement-1.test, + src/libvterm/t/90vttest_01-movement-2.test, + src/libvterm/t/90vttest_01-movement-3.test, + src/libvterm/t/90vttest_01-movement-4.test, + src/libvterm/t/90vttest_02-screen-1.test, + src/libvterm/t/90vttest_02-screen-2.test, + src/libvterm/t/90vttest_02-screen-3.test, + src/libvterm/t/90vttest_02-screen-4.test, + src/libvterm/t/92lp1640917.test, src/libvterm/t/harness.c, + src/libvterm/t/run-test.pl + +Patch 8.0.0694 +Problem: Building in shadow directory does not work. Running Vim fails. +Solution: Add the new libvterm directory. Add missing change in command + list. +Files: src/Makefile, src/ex_cmds.h + +Patch 8.0.0695 +Problem: Missing dependencies breaks parallel make. +Solution: Add dependencies for terminal.o. +Files: src/Makefile + +Patch 8.0.0696 +Problem: The .inc files are missing in git. (Nazri Ramliy) +Solution: Remove the .inc line from .gitignore. +Files: src/libvterm/.gitignore + +Patch 8.0.0697 +Problem: Recorded key sequences may become invalid. +Solution: Add back KE_SNIFF removed in 7.4.1433. Use fixed numbers for the + key_extra enum. +Files: src/keymap.h + +Patch 8.0.0698 +Problem: When a timer uses ":pyeval" or another Python command and it + happens to be triggered while exiting a Crash may happen. + (Ricky Zhou) +Solution: Avoid running a Python command after python_end() was called. + Do not trigger timers while exiting. (closes #1824) +Files: src/if_python.c, src/if_python3.c, src/ex_cmds2.c + +Patch 8.0.0699 +Problem: Checksum tests are not actually run. +Solution: Add the tests to the list. (Dominique Pelle, closes #1819) +Files: src/testdir/test_alot.vim, src/testdir/test_alot_utf8.vim + +Patch 8.0.0700 +Problem: Segfault with QuitPre autocommand closes the window. (Marek) +Solution: Check that the window pointer is still valid. (Christian Brabandt, + closes #1817) +Files: src/testdir/test_tabpage.vim, src/ex_docmd.c + +Patch 8.0.0701 +Problem: System test failing when using X11 forwarding. +Solution: Set $XAUTHORITY before changing $HOME. (closes #1812) + Also use a better check for the exit value. +Files: src/testdir/setup.vim, src/testdir/test_system.vim + +Patch 8.0.0702 +Problem: An error in a timer can make Vim unusable. +Solution: Don't set the error flag or exception from a timer. Stop a timer + if it causes an error 3 out of 3 times. Discard an exception + caused inside a timer. +Files: src/ex_cmds2.c, src/structs.h, src/testdir/test_timers.vim, + runtime/doc/eval.txt + +Patch 8.0.0703 +Problem: Illegal memory access with empty :doau command. +Solution: Check the event for being out of range. (James McCoy) +Files: src/testdir/test_autocmd.vim, src/fileio.c + +Patch 8.0.0704 +Problem: Problems with autocommands when opening help. +Solution: Avoid using invalid "varp" value. Allow using :wincmd if buffer + is locked. (closes #1806, closes #1804) +Files: src/option.c, src/ex_cmds.h + +Patch 8.0.0705 (after 8.0.0702) +Problem: Crash when there is an error in a timer callback. (Aron Griffis, + Ozaki Kiichi) +Solution: Check did_throw before discarding an exception. NULLify + current_exception when no longer valid. +Files: src/ex_eval.c, src/ex_cmds2.c + +Patch 8.0.0706 +Problem: Crash when cancelling the cmdline window in Ex mode. (James McCoy) +Solution: Do not set cmdbuff to NULL, make it empty. +Files: src/ex_getln.c + +Patch 8.0.0707 +Problem: Freeing wrong memory when manipulating buffers in autocommands. + (James McCoy) +Solution: Also set the w_s pointer if w_buffer was NULL. +Files: src/ex_cmds.c + +Patch 8.0.0708 +Problem: Some tests are old style. +Solution: Change a few tests from old style to new style. (pschuh, + closes #1813) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/main.aap, + src/testdir/test23.in, src/testdir/test23.ok, + src/testdir/test24.in, src/testdir/test24.ok, + src/testdir/test26.in, src/testdir/test26.ok, + src/testdir/test67.in, src/testdir/test67.ok, + src/testdir/test75.in, src/testdir/test75.ok, + src/testdir/test97.in, src/testdir/test97.ok, + src/testdir/test_comparators.in, src/testdir/test_comparators.ok, + src/testdir/test_comparators.vim, + src/testdir/test_escaped_glob.vim, + src/testdir/test_exec_while_if.vim, + src/testdir/test_exists_autocmd.vim, src/testdir/test_getcwd.in, + src/testdir/test_getcwd.ok, src/testdir/test_getcwd.vim, + src/testdir/test_maparg.vim, src/testdir/test_plus_arg_edit.vim, + src/testdir/test_regex_char_classes.vim + +Patch 8.0.0709 +Problem: Libvterm cannot use vsnprintf(), it does not exist in C90. +Solution: Use vim_vsnprintf() instead. +Files: src/message.c, src/Makefile, src/proto.h, src/evalfunc.c, + src/netbeans.c, src/libvterm/src/vterm.c + +Patch 8.0.0710 +Problem: A job that writes to a buffer clears command line completion. + (Ramel Eshed) +Solution: Do not redraw while showing the completion menu. +Files: src/screen.c + +Patch 8.0.0711 (after 8.0.0710) +Problem: Cannot build without the wildmenu feature. +Solution: Add #ifdef +Files: src/screen.c + +Patch 8.0.0712 +Problem: The terminal implementation is incomplete. +Solution: Add the 'termkey' option. +Files: src/option.c, src/option.h, src/structs.h + +Patch 8.0.0713 (after 8.0.0712) +Problem: 'termkey' option not fully implemented. +Solution: Add initialisation. +Files: src/option.c + +Patch 8.0.0714 +Problem: When a timer causes a command line redraw the " that is displayed + for CTRL-R goes missing. +Solution: Remember an extra character to display. +Files: src/ex_getln.c + +Patch 8.0.0715 +Problem: Writing to the wrong buffer if the buffer that a channel writes to + was closed. +Solution: Do not write to a buffer that was unloaded. +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel_write.py + +Patch 8.0.0716 +Problem: Not easy to start Vim cleanly without changing the viminfo file. + Not possible to know whether the -i command line flag was used. +Solution: Add the --clean command line argument. Add the 'viminfofile' + option. Add "-u DEFAULTS". +Files: src/main.c, runtime/doc/starting.txt, src/option.c, src/option.h, + src/ex_cmds.c, src/globals.h, runtime/doc/options.txt + +Patch 8.0.0717 +Problem: Terminal feature not included in :version output. +Solution: Add +terminal or -terminal. +Files: src/version.c, src/terminal.c + +Patch 8.0.0718 +Problem: Output of job in terminal is not displayed. +Solution: Connect the job output to the terminal. +Files: src/channel.c, src/proto/channel.pro, src/terminal.c, + src/proto/terminal.pro, src/channel.c, src/proto/channel.pro, + src/evalfunc.c, src/screen.c, src/proto/screen.pro + +Patch 8.0.0719 +Problem: Build failure without +terminal feature. +Solution: Add #ifdefs. +Files: src/screen.c, src/channel.c + +Patch 8.0.0720 +Problem: Unfinished mapping not displayed when running timer. +Solution: Also use the extra_char while waiting for a mapping and digraph. + (closes #1844) +Files: src/ex_getln.c + +Patch 8.0.0721 +Problem: :argedit can only have one argument. +Solution: Allow for multiple arguments. (Christian Brabandt) +Files: runtime/doc/editing.txt, src/ex_cmds.h, src/ex_cmds2.c, + src/testdir/test_arglist.vim + +Patch 8.0.0722 +Problem: Screen is messed by timer up at inputlist() prompt. +Solution: Set state to ASKMORE. (closes #1843) +Files: src/misc1.c + +Patch 8.0.0723 (after 8.0.0721) +Problem: Arglist test fails if file name case is ignored. +Solution: Wipe existing buffers, check for fname_case property. +Files: src/testdir/test_arglist.vim + +Patch 8.0.0724 +Problem: The message for yanking doesn't indicate the register. +Solution: Show the register name in the "N lines yanked" message. (LemonBoy, + closes #1803, closes #1809) +Files: src/ops.c, src/Makefile, src/testdir/test_registers.vim, + src/testdir/Make_all.mak + +Patch 8.0.0725 +Problem: A terminal window does not handle keyboard input. +Solution: Add terminal_loop(). ":term bash -i" sort of works now. +Files: src/main.c, src/terminal.c, src/proto/terminal.pro, src/normal.c + +Patch 8.0.0726 +Problem: Translations cleanup script is too conservative. +Solution: Also delete untranslated messages. +Files: src/po/cleanup.vim + +Patch 8.0.0727 +Problem: Message about what register to yank into is not translated. + (LemonBoy) +Solution: Add _(). +Files: src/ops.c + +Patch 8.0.0728 +Problem: The terminal structure is never freed. +Solution: Free the structure and unreference what it contains. +Files: src/terminal.c, src/buffer.c, src/proto/terminal.pro, + src/channel.c, src/proto/channel.pro, src/evalfunc.c + +Patch 8.0.0729 +Problem: The help for the terminal configure option is wrong. +Solution: Change "Disable" to "Enable". (E Kawashima, closes #1849) + Improve alignment. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.0730 +Problem: Terminal feature only supports Unix-like systems. +Solution: Prepare for adding an MS-Windows implementation. +Files: src/terminal.c + +Patch 8.0.0731 +Problem: Cannot build the terminal feature on MS-Windows. +Solution: Add the Makefile changes. (Yasuhiro Matsumoto, closes #1851) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.0732 +Problem: When updating a buffer for a callback the modeless selection is + lost. +Solution: Do not insert or delete screen lines when redrawing for a callback + and there is a modeless selection. +Files: src/screen.c + +Patch 8.0.0733 +Problem: Can only add entries to one list in the quickfix stack. +Solution: Move state variables from qf_list_T to qf_list_T. (Yegappan + Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.0734 +Problem: The script to check translations can be improved. +Solution: Restore the view when no errors are found. Check for matching + line break at the end of the message. (Christian Brabandt) +Files: src/po/check.vim + +Patch 8.0.0735 +Problem: There is no way to notice that the quickfix window contents has + changed. +Solution: Increment b:changedtick when updating the quickfix window. + (Yegappan Lakshmanan) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0736 +Problem: The OptionSet autocommand event is not triggered when entering + diff mode. +Solution: use set_option_value() instead of setting the option directly. + Change the tests from old to new style. (Christian Brabandt) +Files: src/diff.c, src/testdir/Make_all.mak, src/Makefile, + src/testdir/test_autocmd.vim, src/testdir/test_autocmd_option.in, + src/testdir/test_autocmd_option.ok + +Patch 8.0.0737 +Problem: Crash when X11 selection is very big. +Solution: Use static items instead of allocating them. Add callbacks. + (Ozaki Kiichi) +Files: src/testdir/shared.vim, src/testdir/test_quotestar.vim, + src/ui.c + +Patch 8.0.0738 +Problem: Cannot use the mouse to resize window while the focus is in a + terminal window. +Solution: Recognize nice mouse events in the terminal window. A few more + fixes for the terminal window. +Files: src/terminal.c + +Patch 8.0.0739 +Problem: Terminal resizing doesn't work well. +Solution: Resize the terminal to the Vim window and the other way around. + Avoid mapping typed keys. Set the environment properly. +Files: src/terminal.c, src/os_unix.c, src/structs.h + +Patch 8.0.0740 +Problem: Cannot resize a terminal window by the command running in it. +Solution: Add support for the window size escape sequence. Make BS work. +Files: src/terminal.c, src/libvterm/src/state.c + +Patch 8.0.0741 +Problem: Cannot build with HPUX. +Solution: Rename envbuf_TERM to envbuf_Term. (John Marriott) +Files: src/os_unix.c + +Patch 8.0.0742 +Problem: Terminal feature does not work on MS-Windows. +Solution: Use libvterm and libwinpty on MS-Windows. (Yasuhiro Matsumoto) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/channel.c, + src/proto/channel.pro, src/terminal.c + +Patch 8.0.0743 +Problem: The 'termsize' option can be set to an invalid value. +Solution: Check the 'termsize' option to be valid. +Files: src/option.c, src/testdir/gen_opt_test.vim + +Patch 8.0.0744 +Problem: A terminal window uses pipes instead of a pty. +Solution: Add pty support. +Files: src/structs.h, src/os_unix.c, src/terminal.c, src/channel.c, + src/proto/os_unix.pro, src/os_win32.c, src/proto/os_win32.pro + +Patch 8.0.0745 +Problem: multi-byte characters in a terminal window are not displayed + properly. +Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes + #1857) +Files: src/terminal.c + +Patch 8.0.0746 +Problem: When :term fails the job is not properly cleaned up. +Solution: Free the terminal. Handle a job that failed to start. (closes + #1858) +Files: src/os_unix.c, src/channel.c, src/terminal.c + +Patch 8.0.0747 +Problem: :terminal without an argument doesn't work. +Solution: Use the 'shell' option. (Yasuhiro Matsumoto, closes #1860) +Files: src/terminal.c + +Patch 8.0.0748 +Problem: When running Vim in a terminal window it does not detect the right + number of colors available. +Solution: Detect the version string that libvterm returns. Pass the number + of colors in $COLORS. +Files: src/term.c, src/os_unix.c + +Patch 8.0.0749 +Problem: Some unicode digraphs are hard to remember. +Solution: Add alternatives with a backtick. (Chris Harding, closes #1861) +Files: src/digraph.c + +Patch 8.0.0750 +Problem: OpenPTY missing in non-GUI build. +Solution: Always include pty.c, add an #ifdef to skip over the contents. +Files: src/pty.c, src/Makefile + +Patch 8.0.0751 (after 8.0.0750) +Problem: OpenPTY missing with some combination of features. (Kazunobu + Kuriyama) +Solution: Adjust #ifdef. Also include pty.pro when needed. +Files: src/pty.c, src/misc2.c, src/proto.h + +Patch 8.0.0752 +Problem: Build fails on MS-Windows. +Solution: Change #ifdef for set_color_count(). +Files: src/term.c + +Patch 8.0.0753 +Problem: A job running in a terminal does not get notified of changes in + the terminal size. +Solution: Use ioctl() and SIGWINCH to report the terminal size. +Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro + +Patch 8.0.0754 +Problem: Terminal window does not support colors. +Solution: Lookup the color attribute. +Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro + +Patch 8.0.0755 +Problem: Terminal window does not have colors in the GUI. +Solution: Lookup the GUI color. +Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro, src/term.c, + src/proto/term.pro, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, + src/gui_x11.c, src/proto/gui_x11.pro, src/gui_mac.c, + src/proto/gui_mac.pro, src/gui_photon.c, src/proto/gui_photon.pro, + src/gui_w32.c, src/proto/gui_w32.pro, + +Patch 8.0.0756 +Problem: Cannot build libvterm with MSVC. +Solution: Add an MSVC Makefile to libvterm. (Yasuhiro Matsumoto, closes + #1865) +Files: src/INSTALLpc.txt, src/Make_mvc.mak, src/libvterm/Makefile.msc + +Patch 8.0.0757 +Problem: Libvterm MSVC Makefile not included in the distribution. +Solution: Add the file to the list. +Files: Filelist + +Patch 8.0.0758 +Problem: Possible crash when using a terminal window. +Solution: Check for NULL pointers. (Yasuhiro Matsumoto, closes #1864) +Files: src/terminal.c + +Patch 8.0.0759 +Problem: MS-Windows: terminal does not adjust size to the Vim window size. +Solution: Add a call to winpty_set_size(). (Yasuhiro Matsumoto, closes #1863) +Files: src/terminal.c + +Patch 8.0.0760 +Problem: Terminal window colors wrong with 'termguicolors'. +Solution: Add 'termguicolors' support. +Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro + +Patch 8.0.0761 +Problem: Options of a buffer for a terminal window are not set properly. +Solution: Add "terminal" value for 'buftype'. Make 'buftype' and + 'bufhidden' not depend on the quickfix feature. + Also set the buffer name and show "running" or "finished" in the + window title. +Files: src/option.c, src/terminal.c, src/proto/terminal.pro, + runtime/doc/options.txt, src/quickfix.c, src/proto/quickfix.pro, + src/structs.h, src/buffer.c, src/ex_docmd.c, src/fileio.c, + src/channel.c + +Patch 8.0.0762 +Problem: ml_get error with :psearch in buffer without a name. (Dominique + Pelle) +Solution: Use the buffer number instead of the file name. Check the cursor + position. +Files: src/search.c, src/testdir/test_preview.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.0763 +Problem: Libvterm can be improved. +Solution: Various small improvements, more comments. +Files: src/libvterm/README, src/libvterm/include/vterm.h, + src/libvterm/include/vterm_keycodes.h, + src/libvterm/src/keyboard.c, src/libvterm/src/parser.c, + src/libvterm/src/screen.c, src/libvterm/src/state.c + +Patch 8.0.0764 +Problem: 'termkey' does not work yet. +Solution: Implement 'termkey'. +Files: src/terminal.c, src/option.c, src/proto/option.pro + +Patch 8.0.0765 +Problem: Build fails with tiny features. +Solution: Adjust #ifdef. (John Marriott) +Files: src/option.c, src/option.h + +Patch 8.0.0766 +Problem: Option test fails with +terminal feature. +Solution: Fix using the right option when checking the value. +Files: src/option.c + +Patch 8.0.0767 +Problem: Build failure with Athena and Motif. +Solution: Move local variable declarations. (Kazunobu Kuriyama) +Files: src/gui_x11.c + +Patch 8.0.0768 +Problem: Terminal window status shows "[Scratch]". +Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto) + Store the terminal title that vterm sends and use it. Update the + special buffer name. (closes #1869) +Files: src/terminal.c, src/proto/terminal.pro, src/buffer.c + +Patch 8.0.0769 +Problem: Build problems with terminal on MS-Windows using MSVC. +Solution: Remove stdbool.h dependency. Only use ScreenLinesUC when it was + allocated. Fix typos. (Ken Takata) +Files: src/libvterm/bin/vterm-ctrl.c, runtime/doc/terminal.txt, + src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/libvterm/Makefile.msc, src/terminal.c + +Patch 8.0.0770 +Problem: Compiler warning for missing field initializer. +Solution: Add two more values. (Yegappan Lakshmanan) +Files: src/libvterm/src/encoding.c + +Patch 8.0.0771 +Problem: Cursor in a terminal window not always updated in the GUI. +Solution: Call gui_update_cursor(). (Yasuhiro Matsumoto, closes #1868) +Files: src/terminal.c + +Patch 8.0.0772 +Problem: Other stdbool.h dependencies in libvterm. +Solution: Remove the dependency and use TRUE/FALSE/int. (Ken Takata) +Files: src/libvterm/include/vterm.h, src/libvterm/src/mouse.c, + src/libvterm/src/pen.c, src/libvterm/t/harness.c, + src/libvterm/bin/unterm.c + +Patch 8.0.0773 +Problem: Mixing 32 and 64 bit libvterm builds fails. +Solution: Use OUTDIR. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc + +Patch 8.0.0774 +Problem: Build failure without the multi-byte feature on HPUX. +Solution: Move #ifdefs. (John Marriott) +Files: src/term.c + +Patch 8.0.0775 +Problem: In a terminal the cursor is updated too often. +Solution: Only flush when needed. (Yasuhiro Matsumoto). Remember whether the + cursor is visible. (closes #1873) +Files: src/terminal.c + +Patch 8.0.0776 +Problem: Function prototypes missing without the quickfix feature. (Tony + Mechelynck) +Solution: Move non-quickfix functions to buffer.c. +Files: src/buffer.c, src/proto/buffer.pro, src/quickfix.c, + src/proto/quickfix.pro + +Patch 8.0.0777 +Problem: Compiler warnings with 64 bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/libvterm/src/pen.c, src/libvterm/src/state.c, src/terminal.c + +Patch 8.0.0778 +Problem: In a terminal the cursor may be hidden and screen updating lags + behind. (Nazri Ramliy) +Solution: Switch the cursor on and flush output when needed. (Ozaki Kiichi) +Files: src/terminal.c + +Patch 8.0.0779 +Problem: :term without an argument uses empty buffer name but runs the + shell. +Solution: Change the command to the shell earlier. +Files: src/terminal.c + +Patch 8.0.0780 +Problem: Build failure on Travis. +Solution: Set distribution explicitly. Use Lua and Ruby dev. (Ken Takata, + closes #1884) +Files: .travis.yml + +Patch 8.0.0781 +Problem: MS-Windows: Memory leak when using :terminal. +Solution: Handle failures properly. (Ken Takata) +Files: src/terminal.c + +Patch 8.0.0782 +Problem: Using freed memory in quickfix code. (Dominique Pelle) +Solution: Handle a help window differently. (Yegappan Lakshmanan) +Files: src/buffer.c, src/proto/buffer.pro, src/quickfix.c, + src/testdir/test_quickfix.vim, src/ex_cmds.c, src/window.c + +Patch 8.0.0783 +Problem: Job of terminal may be freed too early. +Solution: Increment job refcount. (Yasuhiro Matsumoto) +Files: src/terminal.c + +Patch 8.0.0784 +Problem: Job of terminal may be garbage collected. +Solution: Set copyID on job in terminal. (Ozaki Kiichi) +Files: src/terminal.c, src/eval.c, src/proto/terminal.pro + +Patch 8.0.0785 +Problem: Wildcards are not expanded for :terminal. +Solution: Add FILES to the command flags. (Yasuhiro Matsumoto, closes #1883) + Also complete commands. +Files: src/ex_cmds.h, src/ex_docmd.c + +Patch 8.0.0786 +Problem: Build failures on Travis. +Solution: Go back to precise temporarily. Disable coverage with clang. +Files: .travis.yml + +Patch 8.0.0787 +Problem: Cannot send CTRL-W command to terminal job. +Solution: Make CTRL-W . a prefix for sending a key to the job. +Files: src/terminal.c, runtime/doc/terminal.txt, src/option.c + +Patch 8.0.0788 +Problem: MS-Windows: cannot build with terminal feature. +Solution: Move set_ref_in_term(). (Ozaki Kiichi) +Files: src/terminal.c + +Patch 8.0.0789 +Problem: When splitting a terminal window where the terminal follows the + size of the window doesn't work. +Solution: Use the size of the smallest window. (Yasuhiro Matsumoto, closes + #1885) +Files: src/terminal.c + +Patch 8.0.0790 +Problem: MSVC compiler warning for strncpy in libvterm. +Solution: Add a define to stop the warnings. (Mike Williams) +Files: src/Make_mvc.mak + +Patch 8.0.0791 +Problem: Terminal colors depend on the system. +Solution: Use the highlight color lookup tables. +Files: src/syntax.c, src/proto/syntax.pro, src/terminal.c + +Patch 8.0.0792 +Problem: Spell test leaves files behind. +Solution: Delete the files. +Files: src/testdir/test_spell.vim + +Patch 8.0.0793 +Problem: Using wrong terminal name for terminal window. +Solution: When 'term' starts with "xterm" use it for $TERM in a terminal + window. +Files: src/os_unix.c + +Patch 8.0.0794 +Problem: The script to check translations fails if there is more than one + NL in one line. +Solution: Count the number of NL characters. Make count() accept a string. +Files: src/po/check.vim, src/evalfunc.c, runtime/doc/eval.txt, + src/testdir/test_functions.vim + +Patch 8.0.0795 +Problem: Terminal feature does not build with older MSVC. +Solution: Do not use stdint.h. +Files: src/libvterm/include/vterm.h + +Patch 8.0.0796 +Problem: No coverage on Travis with clang. +Solution: Use a specific coveralls version. (Ozaki Kiichi, closes #1888) +Files: .travis.yml + +Patch 8.0.0797 +Problem: Finished job in terminal window is not handled. +Solution: Add the scrollback buffer. Use it to fill the buffer when the job + has ended. +Files: src/terminal.c, src/screen.c, src/proto/terminal.pro, + src/channel.c, src/os_unix.c, src/buffer.c + +Patch 8.0.0798 +Problem: No highlighting in a terminal window with a finished job. +Solution: Highlight the text. +Files: src/terminal.c, src/proto/terminal.pro, src/screen.c, src/undo.c + +Patch 8.0.0799 +Problem: Missing semicolon. +Solution: Add it. +Files: src/terminal.c + +Patch 8.0.0800 +Problem: Terminal window scrollback contents is wrong. +Solution: Fix handling of multi-byte characters (Yasuhiro Matsumoto) Handle + empty lines correctly. (closes #1891) +Files: src/terminal.c + +Patch 8.0.0801 +Problem: The terminal window title sometimes still says "running" even + though the job has finished. +Solution: Also consider the job finished when the channel has been closed. +Files: src/terminal.c + +Patch 8.0.0802 +Problem: After a job exits the last line in the terminal window does not + get color attributes. +Solution: Fix off-by-one error. +Files: src/terminal.c + +Patch 8.0.0803 +Problem: Terminal window functions not yet implemented. +Solution: Implement several functions. Add a first test. (Yasuhiro + Matsumoto, closes #1871) +Files: runtime/doc/eval.txt, src/Makefile, src/evalfunc.c, + src/proto/evalfunc.pro, src/proto/terminal.pro, src/terminal.c, + src/testdir/Make_all.mak, src/testdir/test_terminal.vim + +Patch 8.0.0804 +Problem: Running tests fails when stdin is /dev/null. (James McCoy) +Solution: Do not bail out from getting input if the --not-a-term argument + was given. (closes #1460) +Files: src/eval.c, src/evalfunc.c + +Patch 8.0.0805 +Problem: GUI test fails with gnome2. +Solution: Set $HOME to an existing directory. +Files: src/testdir/setup.vim, src/testdir/runtest.vim + +Patch 8.0.0806 +Problem: Tests may try to create XfakeHOME twice. +Solution: Avoid loading setup.vim twice. +Files: src/testdir/setup.vim + +Patch 8.0.0807 +Problem: Terminal window can't handle mouse buttons. (Hirohito Higashi) +Solution: Implement mouse buttons and many other keys. Ignore the ones that + are not implemented. +Files: src/terminal.c + +Patch 8.0.0808 +Problem: Cannot build with terminal feature and DEBUG defined. (Christian + Brabandt) +Solution: Use DEBUG_LOG3(). +Files: src/libvterm/src/pen.c + +Patch 8.0.0809 +Problem: MS-Windows: tests hang. +Solution: Delete the XfakeHOME directory. +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak + +Patch 8.0.0810 +Problem: MS-Windows: tests still hang. +Solution: Only create the XfakeHOME directory if it does not exist yet. +Files: src/testdir/setup.vim + +Patch 8.0.0811 +Problem: MS-Windows: test_expand_dllpath fails. +Solution: Change backslashes to forward slashes +Files: src/testdir/test_expand_dllpath.vim + +Patch 8.0.0812 +Problem: Terminal window colors shift when 'number' is set. (Nazri Ramliy) +Solution: Use vcol instead of col. +Files: src/screen.c + +Patch 8.0.0813 +Problem: Cannot use Vim commands in a terminal window while the job is + running. +Solution: Implement Terminal Normal mode. +Files: src/terminal.c, src/proto/terminal.pro, src/main.c, src/screen.c, + src/normal.c, src/option.c, runtime/doc/terminal.txt + +Patch 8.0.0814 (after 8.0.0757) +Problem: File in Filelist does not exist. +Solution: Remove the line. +Files: Filelist + +Patch 8.0.0815 +Problem: Terminal window not correctly updated when 'statusline' invokes + ":sleep". (NIkolay Pavlov) +Solution: Clear got_int. Repeat redrawing when needed. +Files: src/terminal.c + +Patch 8.0.0816 +Problem: Crash when using invalid buffer number. +Solution: Check for NULL buffer. (Yasuhiro Matsumoto, closes #1899) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0817 +Problem: Cannot get the line of a terminal window at the cursor. +Solution: Make the row argument optional. (Yasuhiro Matsumoto, closes #1898) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/terminal.c + +Patch 8.0.0818 +Problem: Cannot get the cursor position of a terminal. +Solution: Add term_getcursor(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/terminal.c, + src/proto/terminal.pro + +Patch 8.0.0819 +Problem: After changing current window the cursor position in the terminal + window is not updated. +Solution: Set w_wrow, w_wcol and w_valid. +Files: src/terminal.c + +Patch 8.0.0820 +Problem: GUI: cursor in terminal window lags behind. +Solution: call gui_update_cursor() under different conditions. (Ozaki + Kiichi, closes #1893) +Files: src/terminal.c + +Patch 8.0.0821 +Problem: Cannot get the title and status of a terminal window. +Solution: Implement term_gettitle() and term_getstatus(). +Files: src/evalfunc.c, src/terminal.c, src/proto/terminal.pro, + runtime/doc/eval.txt + +Patch 8.0.0822 +Problem: Test_with_partial_callback is a tiny bit flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.0823 +Problem: Cannot paste text into a terminal window. +Solution: Make CTRL-W " work. +Files: src/terminal.c + +Patch 8.0.0824 +Problem: In Terminal mode the cursor and screen gets redrawn when the job + produces output. +Solution: Check for tl_terminal_mode. (partly by Yasuhiro Matsumoto, closes + #1904) +Files: src/terminal.c + +Patch 8.0.0825 +Problem: Not easy to see that a window is a terminal window. +Solution: Add StatusLineTerm highlighting. +Files: src/option.c, src/vim.h, src/screen.c, src/syntax.c + +Patch 8.0.0826 +Problem: Cannot use text objects in Terminal mode. +Solution: Check for pending operator and Visual mode first. (Yasuhiro + Matsumoto, closes #1906) +Files: src/normal.c + +Patch 8.0.0827 +Problem: Coverity: could leak pty file descriptor, theoretically. +Solution: If channel is NULL, free the file descriptors. +Files: src/os_unix.c + +Patch 8.0.0828 +Problem: Coverity: may dereference NULL pointer. +Solution: Bail out if calloc_state() returns NULL. +Files: src/regexp_nfa.c + +Patch 8.0.0829 +Problem: A job running in a terminal window cannot easily communicate with + the Vim it is running in. +Solution: Pass v:servername in an environment variable. (closes #1908) +Files: src/os_unix.c + +Patch 8.0.0830 +Problem: Translating messages is not ideal. +Solution: Add a remark about obsolete messages. Use msgfmt in the check + script. (Christian Brabandt) +Files: src/po/README.txt, src/po/check.vim + +Patch 8.0.0831 (after 8.0.0791) +Problem: With 8 colors the bold attribute is not set properly. +Solution: Move setting HL_TABLE() out of lookup_color. (closes #1901) +Files: src/syntax.c, src/proto/syntax.pro, src/terminal.c + +Patch 8.0.0832 +Problem: Terminal function arguments are not consistent. +Solution: Use one-based instead of zero-based rows and cols. Use "." for + the current row. +Files: src/terminal.c, runtime/doc/eval.txt + +Patch 8.0.0833 +Problem: Terminal test fails. +Solution: Update the row argument to one based. +Files: src/testdir/test_terminal.vim + +Patch 8.0.0834 +Problem: Can't build without the client-server feature. +Solution: Add #ifdef. +Files: src/os_unix.c + +Patch 8.0.0835 +Problem: Translations check with msgfmt does not work. +Solution: Add a space before the file name. +Files: src/po/check.vim + +Patch 8.0.0836 +Problem: When a terminal buffer is changed it can still be accidentally + abandoned. +Solution: When making a change reset the 'buftype' option. +Files: src/terminal.c, src/testdir/test_terminal.vim, src/option.c + +Patch 8.0.0837 +Problem: Signs can be drawn on top of console messages. +Solution: don't redraw at a prompt or when scrolled up. (Christian Brabandt, + closes #1907) +Files: src/screen.c + +Patch 8.0.0838 +Problem: Buffer hangs around when terminal window is closed. +Solution: When the job has ended wipe out a terminal buffer when the window + is closed. +Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim + +Patch 8.0.0839 +Problem: Cannot kill a job in a terminal with CTRL-C. +Solution: Set the controlling tty and send SIGINT. (closes #1910) +Files: src/os_unix.c, src/terminal.c, src/proto/os_unix.pro + +Patch 8.0.0840 +Problem: MS-Windows: fopen() and open() prototypes do not match the ones in + the system header file. Can't build without FEAT_MBYTE. +Solution: Add "const". Move macro to after including protoo.h. +Files: src/os_win32.c, src/proto/os_win32.pro, src/macros.h, src/vim.h + +Patch 8.0.0841 +Problem: term_getline() may cause a crash. +Solution: Check that the row is valid. (Hirohito Higashi) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0842 +Problem: Using slave pty after closing it. +Solution: Do the ioctl() before dup'ing it. +Files: src/os_unix.c + +Patch 8.0.0843 +Problem: MS-Windows: compiler warning for signed/unsigned. +Solution: Add type cast. (Yasuhiro Matsumoto, closes #1912) +Files: src/terminal.c + +Patch 8.0.0844 +Problem: Wrong function prototype because of missing static. +Solution: Add "static". +Files: src/os_win32.c, src/proto/os_win32.pro + +Patch 8.0.0845 +Problem: MS-Windows: missing semicolon in terminal code. +Solution: Add it. (Naruhiko Nishino, closes #1923) +Files: src/terminal.c + +Patch 8.0.0846 +Problem: Cannot get the name of the pty of a job. +Solution: Add the "tty" entry to the job info. (Ozaki Kiichi, closes #1920) + Add the term_gettty() function. +Files: runtime/doc/eval.txt, src/channel.c, src/os_unix.c, src/structs.h, + src/terminal.c, src/proto/terminal.pro, src/evalfunc.c, + src/testdir/test_terminal.vim + +Patch 8.0.0847 +Problem: :argadd without argument can't handle space in file name. (Harm te + Hennepe) +Solution: Escape the space. (Yasuhiro Matsumoto, closes #1917) +Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, + src/testdir/test_arglist.vim + +Patch 8.0.0848 +Problem: Using multiple ch_log functions is clumsy. +Solution: Use variable arguments. (Ozaki Kiichi, closes #1919) +Files: src/channel.c, src/message.c, src/proto/channel.pro, + src/terminal.c + +Patch 8.0.0849 +Problem: Crash when job exit callback wipes the terminal. +Solution: Check for b_term to be NULL. (Yasuhiro Matsumoto, closes #1922) + Implement options for term_start() to be able to test. + Make term_wait() more reliable. +Files: src/terminal.c, src/testdir/test_terminal.vim, src/channel.c + +Patch 8.0.0850 +Problem: MS-Windows: Depending on the console encoding, an error message + that is given during startup may be broken. +Solution: Convert the message to the console codepage. (Yasuhiro Matsumoto, + closes #1927) +Files: src/message.c + +Patch 8.0.0851 +Problem: 'smartindent' is used even when 'indentexpr' is set. +Solution: Ignore 'smartindent' when 'indentexpr' is set. (Hirohito Higashi) +Files: src/misc1.c, src/testdir/test_smartindent.vim + +Patch 8.0.0852 (after 8.0.0850) +Problem: MS-Windows: possible crash when giving a message on startup. +Solution: Initialize length. (Yasuhiro Matsumoto, closes #1931) +Files: src/message.c + +Patch 8.0.0853 +Problem: Crash when running terminal with unknown command. +Solution: Check "term" not to be NULL. (Yasuhiro Matsumoto, closes #1932) +Files: src/terminal.c + +Patch 8.0.0854 +Problem: No redraw after terminal was closed. +Solution: Set typebuf_was_filled. (Yasuhiro Matsumoto, closes #1925, closes + #1924) Add function to check for messages even when input is + available. +Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro, + src/os_win32.c, src/proto/os_win32.pro, src/os_mswin.c + +Patch 8.0.0855 +Problem: MS-Windows: can't get tty name of terminal. +Solution: Use the winpty process number. (Yasuhiro Matsumoto, closes #1929) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0856 +Problem: MS-Windows: terminal job doesn't take options. +Solution: Call job_set_options(). (Yasuhiro Matsumoto) +Files: src/terminal.c + +Patch 8.0.0857 +Problem: Terminal test fails on MS-Windows. +Solution: Sleep a fraction of a second. +Files: src/testdir/test_terminal.vim + +Patch 8.0.0858 +Problem: Can exit while a terminal is still running a job. +Solution: Consider a buffer with a running job like a changed file. +Files: src/undo.c, src/terminal.c, src/option.h, src/buffer.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c, + src/window.c, src/testdir/test_terminal.vim + +Patch 8.0.0859 +Problem: NULL pointer access when term_free_vterm called twice. +Solution: Return when tl_vterm is NULL. (Yasuhiro Matsumoto, closes #1934) +Files: src/terminal.c + +Patch 8.0.0860 +Problem: There may be side effects when a channel appends to a buffer that + is not the current buffer. +Solution: Properly switch to another buffer before appending. (Yasuhiro + Matsumoto, closes #1926, closes #1937) +Files: src/channel.c, src/buffer.c, src/proto/buffer.pro, + src/if_py_both.h + +Patch 8.0.0861 +Problem: Still many old style tests. +Solution: Convert several tests to new style. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test104.in, + src/testdir/test104.ok, src/testdir/test22.in, + src/testdir/test22.ok, src/testdir/test77.in, + src/testdir/test77.ok, src/testdir/test84.in, + src/testdir/test84.ok, src/testdir/test9.in, src/testdir/test9.ok, + src/testdir/test98.in, src/testdir/test98.ok, + src/testdir/test_autocmd.vim, src/testdir/test_curswant.vim, + src/testdir/test_file_size.vim, src/testdir/test_let.vim, + src/testdir/test_lineending.vim, src/testdir/test_scrollbind.vim, + src/Makefile + +Patch 8.0.0862 (after 8.0.0862) +Problem: File size test fails on MS-Windows. +Solution: Set fileformat after opening new buffer. Strip CR. +Files: src/testdir/test_file_size.vim + +Patch 8.0.0863 +Problem: A remote command starting with CTRL-\ CTRL-N does not work in the + terminal window. (Christian J. Robinson) +Solution: Use CTRL-\ CTRL-N as a prefix or a Normal mode command. +Files: src/terminal.c, runtime/doc/terminal.txt + +Patch 8.0.0864 +Problem: Cannot specify the name of a terminal. +Solution: Add the "term_name" option. (Yasuhiro Matsumoto, closes #1936) +Files: src/channel.c, src/structs.h, src/terminal.c, runtime/doc/eval.txt + +Patch 8.0.0865 +Problem: Cannot build with channel but without terminal feature. +Solution: Add #ifdef +Files: src/channel.c + +Patch 8.0.0866 +Problem: Solaris also doesn't have MIN and MAX. +Solution: Define MIN and MAX whenever they are not defined. (Ozaki Kiichi, + closes #1939) +Files: src/terminal.c + +Patch 8.0.0867 +Problem: When using a job or channel value as a dict value, when turning it + into a string the quotes are missing. +Solution: Add quotes to the job and channel values. (Yasuhiro Matsumoto, + closes #1930) +Files: src/list.c, src/eval.c, src/testdir/test_terminal.vim + +Patch 8.0.0868 +Problem: Cannot specify the terminal size on the command line. +Solution: Use the address range for the terminal size. (Yasuhiro Matsumoto, + closes #1941) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0869 +Problem: Job output is sometimes not displayed in a terminal. +Solution: Flush output before closing the channel. +Files: src/channel.c, src/terminal.c + +Patch 8.0.0870 +Problem: Mouse escape codes sent to terminal unintentionally. +Solution: Fix libvterm to send mouse codes only when enabled. +Files: src/terminal.c, src/libvterm/src/mouse.c + +Patch 8.0.0871 +Problem: The status line for a terminal window always has "[+]". +Solution: Do make the status line include "[+]" for a terminal window. +Files: src/screen.c + +Patch 8.0.0872 +Problem: Using mouse scroll while a terminal window has focus and the mouse + pointer is on another window does not work. Same for focus in a + non-terminal window and the mouse pointer is over a terminal + window. +Solution: Send the scroll action to the right window. +Files: src/terminal.c, src/normal.c, src/proto/terminal.pro + +Patch 8.0.0873 +Problem: In a terminal window cannot use CTRL-\ CTRL-N to start Visual + mode. +Solution: After CTRL-\ CTRL-N enter Terminal-Normal mode for one command. +Files: src/main.c, src/terminal.c, src/proto/terminal.pro + +Patch 8.0.0874 (after 8.0.0873) +Problem: Can't build with terminal feature. +Solution: Include change to term_use_loop(). (Dominique Pelle) +Files: src/normal.c + +Patch 8.0.0875 +Problem: Crash with weird command sequence. (Dominique Pelle) +Solution: Use vim_snprintf() instead of STRCPY(). +Files: src/misc1.c + +Patch 8.0.0876 +Problem: MS-Windows: Backslashes and wildcards in backticks don't work. +Solution: Do not handle backslashes inside backticks in the wrong place. + (Yasuhiro Matsumoto, closes #1942) +Files: src/os_mswin.c, src/os_win32.c + +Patch 8.0.0877 +Problem: Using CTRL-\ CTRL-N in terminal is inconsistent. +Solution: Stay in Normal mode. +Files: src/terminal.c, src/proto/terminal.pro, src/main.c, src/normal.c, + src/option.c + +Patch 8.0.0878 +Problem: No completion for :mapclear. +Solution: Add completion (Nobuhiro Takasaki et al. closes #1943) +Files: runtime/doc/eval.txt, runtime/doc/map.txt, src/ex_docmd.c, + src/ex_getln.c, src/proto/ex_docmd.pro, + src/testdir/test_cmdline.vim, src/vim.h + +Patch 8.0.0879 +Problem: Crash when shifting with huge number. +Solution: Check for overflow. (Dominique Pelle, closes #1945) +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.0.0880 +Problem: Travis uses an old Ubuntu version. +Solution: Switch from precise to trusty. (Ken Takata, closes #1897) +Files: .travis.yml, Filelist, src/testdir/if_ver-1.vim, + src/testdir/if_ver-2.vim, src/testdir/lsan-suppress.txt + +Patch 8.0.0881 +Problem: win32.mak no longer included in Windows SDK. +Solution: Do not include win32.mak. (Ken Takata) +Files: src/GvimExt/Makefile, src/Make_mvc.mak + +Patch 8.0.0882 +Problem: term_scrape() and term_getline() require two arguments but it is + not enforced. +Solution: Correct minimal number of arguments. (Hirohito Higashi) Update + documentation. (Ken Takata) +Files: src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.0.0883 +Problem: Invalid memory access with nonsensical script. +Solution: Check "dstlen" being positive. (Dominique Pelle) +Files: src/misc1.c + +Patch 8.0.0884 +Problem: Can't specify the wait time for term_wait(). +Solution: Add an optional second argument. +Files: src/evalfunc.c, src/terminal.c, runtime/doc/eval.txt + +Patch 8.0.0885 +Problem: Terminal window scrollback is stored inefficiently. +Solution: Store the text in the Vim buffer. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0886 +Problem: Crash when using ":term ls". +Solution: Fix line number computation. Add a test for this. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0887 +Problem: Can create a logfile in the sandbox. +Solution: Disable ch_logfile() in the sandbox. (Yasuhiro Matsumoto) +Files: src/evalfunc.c + +Patch 8.0.0888 +Problem: Compiler warnings with 64 bit build. +Solution: Add type cast of change the type. (Mike Williams) +Files: src/message.c, src/os_mswin.c, src/os_win32.c + +Patch 8.0.0889 +Problem: Gcc gives warnings for uninitialized variables. (Tony Mechelynck) +Solution: Initialize variables even though they are not used. +Files: src/terminal.c + +Patch 8.0.0890 +Problem: Still many old style tests. +Solution: Convert several tests to new style. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test103.in, src/testdir/test103.ok, + src/testdir/test107.in, src/testdir/test107.ok, + src/testdir/test51.in, src/testdir/test51.ok, + src/testdir/test91.in, src/testdir/test91.ok, + src/testdir/test_getvar.vim, src/testdir/test_highlight.vim, + src/testdir/test_visual.vim, src/testdir/test_window_cmd.vim, + src/Makefile + +Patch 8.0.0891 +Problem: Uninitialized memory use with empty line in terminal. +Solution: Initialize growarray earlier. (Yasuhiro Matsumoto, closes #1949) +Files: src/terminal.c + +Patch 8.0.0892 +Problem: When opening a terminal the pty size doesn't always match. +Solution: Update the pty size after opening the terminal. (Ken Takata) +Files: src/terminal.c + +Patch 8.0.0893 +Problem: Cannot get the scroll count of a terminal window. +Solution: Add term_getscrolled(). +Files: src/terminal.c, src/proto/terminal.pro, src/evalfunc.c, + runtime/doc/eval.txt, src/testdir/test_terminal.vim + +Patch 8.0.0894 +Problem: There is no test for runtime filetype detection. +Solution: Test a list of filetypes from patterns. +Files: src/testdir/test_filetype.vim, runtime/filetype.vim + +Patch 8.0.0895 (after 8.0.0894) +Problem: Filetype test fails on MS-Windows. +Solution: Fix file names. +Files: src/testdir/test_filetype.vim + +Patch 8.0.0896 +Problem: Cannot automatically close a terminal window when the job ends. +Solution: Add the ++close argument to :term. Add the term_finish option to + term_start(). (Yasuhiro Matsumoto, closes #1950) Also add + ++open. +Files: runtime/doc/eval.txt, runtime/doc/terminal.txt, src/channel.c, + src/structs.h, src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0897 (after 8.0.0896) +Problem: Wrong error message for invalid term_finish value +Solution: Pass the right argument to emsg(). +Files: src/channel.c + +Patch 8.0.0898 +Problem: Can't use the alternate screen in a terminal window. +Solution: Initialize the alternate screen. (Yasuhiro Matsumoto, closes + #1957) Add term_getaltscreen(). +Files: src/libvterm/include/vterm.h, src/terminal.c, + src/proto/terminal.pro, src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.0.0899 +Problem: Function name mch_stop_job() is confusing. +Solution: Rename to mch_signal_job(). +Files: src/channel.c, src/os_unix.c, src/proto/os_unix.pro, + src/os_win32.c, src/proto/os_win32.pro, src/terminal.c + +Patch 8.0.0900 +Problem: :tab options doesn't open a new tab page. (Aviany) +Solution: Support the :tab modifier. (closes #1960) +Files: src/ex_cmds2.c, runtime/optwin.vim + +Patch 8.0.0901 +Problem: Asan suppress file missing from distribution. +Solution: Add the file. +Files: Filelist + +Patch 8.0.0902 +Problem: Cannot specify directory or environment for a job. +Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro + Matsumoto, closes #1160) +Files: runtime/doc/channel.txt, src/channel.c, src/terminal.c, + src/os_unix.c, src/os_win32.c, src/structs.h, + src/testdir/test_channel.vim, src/testdir/test_terminal.vim + +Patch 8.0.0903 (after 8.0.0902) +Problem: Early return from test function. +Solution: Remove the return. +Files: src/testdir/test_terminal.vim + +Patch 8.0.0904 +Problem: Cannot set a location list from text. +Solution: Add the "text" argument to setqflist(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0905 +Problem: MS-Windows: broken multi-byte characters in the console. +Solution: Restore all regions of the console buffer. (Ken Takata) +Files: src/os_win32.c + +Patch 8.0.0906 +Problem: Don't recognize Couchbase files. +Solution: Add filetype detection. (Eugene Ciurana, closes #1951) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.0.0907 +Problem: With cp932 font names might be misinterpreted. +Solution: Do not see "_" as a space when it is the second byte of a double + byte character. (Ken Takata) +Files: src/os_win32.c + +Patch 8.0.0908 +Problem: Cannot set terminal size with options. +Solution: Add "term_rows", "term_cols" and "vertical". +Files: src/terminal.c, runtime/doc/eval.txt, src/channel.c, + src/proto/channel.pro, src/structs.h, src/evalfunc.c, + src/testdir/test_terminal.vim + +Patch 8.0.0909 +Problem: Channel test fails. +Solution: Allow for "cwd" and "env" arguments. +Files: src/channel.c + +Patch 8.0.0910 +Problem: Cannot create a terminal in the current window. +Solution: Add option "curwin" and ++curwin. +Files: src/terminal.c, runtime/doc/eval.txt, src/channel.c, + src/structs.h, src/ex_cmds.h, src/testdir/test_terminal.vim + +Patch 8.0.0911 +Problem: Terminal test takes too long. +Solution: Instead of "sleep 1" use a Python program to briefly sleep. +Files: src/testdir/test_terminal.vim, src/testdir/test_short_sleep.py + +Patch 8.0.0912 +Problem: Cannot run a job in a hidden terminal. +Solution: Add option "hidden" and ++hidden. +Files: src/terminal.c, src/structs.h, src/channel.c, src/fileio.c, + runtime/doc/terminal.txt, src/testdir/test_terminal.vim + +Patch 8.0.0913 +Problem: MS-Windows: CTRL-C kills shell in terminal window instead of the + command running in the shell. +Solution: Make CTRL-C only send a CTRL_C_EVENT and have CTRL-BREAK kill the + job. (partly by Yasuhiro Matsumoto, closes #1962) +Files: src/os_win32.c, src/gui_w32.c, src/terminal.c, src/globals.h + +Patch 8.0.0914 +Problem: Highlight attributes are always combined. +Solution: Add the 'nocombine' value to replace attributes instead of + combining them. (scauligi, closes #1963) +Files: runtime/doc/syntax.txt, src/syntax.c, src/vim.h + +Patch 8.0.0915 +Problem: Wrong initialisation of global. +Solution: Use INIT(). +Files: src/globals.h + +Patch 8.0.0916 +Problem: Cannot specify properties of window for when opening a window for + a finished terminal job. +Solution: Add "term_opencmd". +Files: src/channel.c, src/structs.h, src/terminal.c, + runtime/doc/eval.txt, src/testdir/test_terminal.vim + +Patch 8.0.0917 +Problem: MS-Windows:CTRL-C handling in terminal window is wrong +Solution: Pass CTRL-C as a key. Turn CTRL-BREAK into a key stroke. (Yasuhiro + Matsumoto, closes #1965) +Files: src/os_win32.c, src/terminal.c + +Patch 8.0.0918 +Problem: Cannot get terminal window cursor shape or attributes. +Solution: Support cursor shape, attributes and color. +Files: src/terminal.c, runtime/doc/eval.txt, + src/libvterm/include/vterm.h, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/feature.h, src/ui.c, + src/proto/ui.pro, src/term.c, src/proto/term.pro, + src/option.c, src/term.h + +Patch 8.0.0919 +Problem: Cursor color isn't set on startup. +Solution: Initialize showing_mode to invalid value. +Files: src/term.c + +Patch 8.0.0920 +Problem: The cursor shape is wrong after switch back from an alternate + screen in a terminal window. (Marius Gedminas) +Solution: Change bitfield to unsigned. Set flag that cursor shape was set. +Files: src/terminal.c, src/libvterm/src/vterm_internal.h + +Patch 8.0.0921 +Problem: Terminal window cursor shape not supported in the GUI. +Solution: Use the terminal window cursor shape in the GUI. +Files: src/terminal.c, src/proto/terminal.pro, src/gui.c, src/syntax.c, + src/proto/syntax.pro + +Patch 8.0.0922 +Problem: Quickfix list always added after current one. +Solution: Make it possible to add a quickfix list after the last one. + (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.0923 +Problem: Crash in GUI when terminal job exits. (Kazunobu Kuriyama) +Solution: reset in_terminal_loop when a terminal is freed. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.0924 +Problem: Terminal window not updated after using term_sendkeys(). +Solution: Call redraw_after_callback(). +Files: src/terminal.c + +Patch 8.0.0925 +Problem: MS-Windows GUI: channel I/O not handled right away. +Solution: Don't call process_message() unless a message is available. + (Yasuhiro Matsumoto, closes #1969) +Files: src/gui_w32.c + +Patch 8.0.0926 +Problem: When job in terminal window ends topline may be wrong. +Solution: When the job ends adjust topline so that the active part of the + terminal is displayed. +Files: src/terminal.c + +Patch 8.0.0927 +Problem: If a terminal job sends a blank title "running" is not shown. +Solution: When the title is blank make it empty. +Files: src/terminal.c + +Patch 8.0.0928 +Problem: MS-Windows: passing arglist to job has escaping problems. +Solution: Improve escaping. (Yasuhiro Matsumoto, closes #1954) +Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim, + src/channel.c, src/proto/channel.pro, src/terminal.c + +Patch 8.0.0929 +Problem: :term without argument does not work. +Solution: Use shell for empty command. (Yasuhiro Matsumoto, closes #1970) +Files: src/terminal.c + +Patch 8.0.0930 +Problem: Terminal buffers are stored in the viminfo file while they can't + be useful. +Solution: Skip terminal buffers for file marks and buffer list +Files: src/buffer.c, src/mark.c + +Patch 8.0.0931 +Problem: getwininfo() does not indicate a terminal window. +Solution: Add "terminal" to the dictionary. +Files: runtime/doc/eval.txt, src/evalfunc.c + +Patch 8.0.0932 +Problem: Terminal may not use right characters for BS and Enter. +Solution: Get the characters from the tty. +Files: src/os_unix.c, src/proto/os_unix.pro, src/terminal.c + +Patch 8.0.0933 +Problem: Terminal test tries to start GUI when it's not possible. +Solution: Check if the GUI can run. (James McCoy, closes #1971) +Files: src/testdir/shared.vim, src/testdir/test_terminal.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim + +Patch 8.0.0934 (after 8.0.0932) +Problem: Change to struts.h missing in patch. +Solution: Include adding ttyinfo_T. +Files: src/structs.h + +Patch 8.0.0935 +Problem: Cannot recognize a terminal buffer in :ls output. +Solution: Use R for a running job and F for a finished job. +Files: src/buffer.c + +Patch 8.0.0936 +Problem: Mode() returns wrong value for a terminal window. +Solution: Return 't' when typed keys go to a job. +Files: src/evalfunc.c, src/testdir/test_terminal.vim + +Patch 8.0.0937 +Problem: User highlight groups are not adjusted for StatusLineTerm. +Solution: Combine attributes like for StatusLineNC. +Files: src/syntax.c, src/globals.h, src/screen.c + +Patch 8.0.0938 +Problem: Scrolling in terminal window is inefficient. +Solution: Use win_del_lines(). +Files: src/terminal.c + +Patch 8.0.0939 +Problem: Test_terminal_env is flaky. (James McCoy) +Solution: Use WaitFor() instead of term_wait(). +Files: src/testdir/test_terminal.vim + +Patch 8.0.0940 +Problem: Test_terminal_scrape_multibyte is flaky. (James McCoy) +Solution: Use WaitFor() instead of term_wait(). +Files: src/testdir/test_terminal.vim + +Patch 8.0.0941 +Problem: Existing color schemes don't work well with StatusLineTerm. +Solution: Don't use "reverse", use fg and bg colors. Also add + StatusLineTermNC. +Files: src/syntax.c, src/vim.h, src/screen.c, src/globals.h, src/option.c + +Patch 8.0.0942 +Problem: Using freed memory with ":terminal" if an autocommand changes + 'shell' when splitting the window. (Marius Gedminas) +Solution: Make a copy of 'shell'. (closes #1974) +Files: src/terminal.c + +Patch 8.0.0943 +Problem: Test_terminal_scrape_multibyte fails if the codepage is not utf-8. +Solution: Start "cmd" with the utf-8 codepage. (micbou, closes #1975) +Files: src/testdir/test_terminal.vim + +Patch 8.0.0944 +Problem: Test_profile is a little bit flaky. +Solution: Accept a match when self and total time are the same. (James + McCoy, closes #1972) +Files: src/testdir/test_profile.vim + +Patch 8.0.0945 +Problem: 64-bit compiler warnings. +Solution: Use "size_t" instead of "int". (Mike Williams) +Files: src/os_win32.c + +Patch 8.0.0946 +Problem: Using PATH_MAX does not work well on some systems. +Solution: use MAXPATHL instead. (James McCoy, closes #1973) +Files: src/main.c + +Patch 8.0.0947 +Problem: When in Insert mode and using CTRL-O CTRL-W CTRL-W to move to a + terminal window, get in a weird Insert mode. +Solution: Don't go to Insert mode in a terminal window. (closes #1977) +Files: src/normal.c + +Patch 8.0.0948 +Problem: Crash if timer closes window while dragging status line. +Solution: Check if the window still exists. (Yasuhiro Matsumoto, closes + #1979) +Files: src/edit.c, src/evalfunc.c, src/gui.c, src/normal.c, src/ui.c + +Patch 8.0.0949 +Problem: winpty.dll name is fixed. +Solution: Add the 'winptydll' option. Make the default name depend on + whether it is a 32-bit or 64-bit build. (idea by Yasuhiro + Matsumoto, closes #1978) +Files: src/option.c, src/option.h, src/terminal.c, + runtime/doc/options.txt + +Patch 8.0.0950 +Problem: MS-Windows: wrong #ifdef, compiler warnings for signed/unsigned. +Solution: Change variable type. Change TERMINAL to FEAT_TERMINAL. +Files: src/os_win32.c, src/option.h + +Patch 8.0.0951 +Problem: Another wrong #ifdef. +Solution: Change TERMINAL to FEAT_TERMINAL. (closes #1981) +Files: src/option.c + +Patch 8.0.0952 +Problem: MS-Windows: has('terminal') does not check existence of dll file. +Solution: Check if the winpty dll file can be loaded. (Ken Takata) +Files: src/evalfunc.c, src/proto/terminal.pro, src/terminal.c + +Patch 8.0.0953 +Problem: Get "no write since last change" error in terminal window. +Solution: Use another message when closing a terminal window. Make ":quit!" + also end the job. +Files: src/globals.h, src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/quickfix.c, src/terminal.c + +Patch 8.0.0954 +Problem: /proc/self/exe might be a relative path. +Solution: Make the path a full path. (James McCoy, closes #1983) +Files: src/main.c + +Patch 8.0.0955 +Problem: Test_existent_file() fails on some file systems. +Solution: Run the test again with a sleep when the test fails without a + sleep. (James McCoy, closes #1984) +Files: src/testdir/test_stat.vim + +Patch 8.0.0956 +Problem: Scrolling in a terminal hwindow as flicker when the Normal + background differs from the terminal window background. +Solution: Set the attribute to clear with. +Files: src/terminal.c, src/screen.c, src/proto/screen.pro, src/message.c, + src/move.c + +Patch 8.0.0957 +Problem: When term_sendkeys() sends many keys it may get stuck in writing + to the job. +Solution: Make the write non-blocking, buffer keys to be sent. +Files: src/terminal.c, src/channel.c, src/proto/channel.pro, + src/structs.h src/testdir/test_terminal.vim + +Patch 8.0.0958 +Problem: The terminal test fails on MS-Windows when compiled with the + terminal feature but the winpty DLL is missing. +Solution: Check if the terminal feature works. (Ken Takata) +Files: src/testdir/test_terminal.vim + +Patch 8.0.0959 +Problem: Build failure on MS-Windows. +Solution: Use ioctlsocket() instead of fcntl(). +Files: src/channel.c + +Patch 8.0.0960 +Problem: Job in terminal does not get CTRL-C, we send a SIGINT instead. +Solution: Don't call may_send_sigint() on CTRL-C. Make CTRL-W CTRL-C end + the job. +Files: src/terminal.c, runtime/doc/terminal.txt + +Patch 8.0.0961 +Problem: The script to build the installer does not include winpty. +Solution: Add winpty32.dll and winpty-agent.exe like diff.exe +Files: nsis/gvim.nsi + +Patch 8.0.0962 +Problem: Crash with virtualedit and joining lines. (Joshua T Corbin, Neovim + #6726) +Solution: When using a mark check that coladd is valid. +Files: src/normal.c, src/misc2.c, src/Makefile, + src/testdir/test_virtualedit.vim, src/testdir/test_alot.vim + +Patch 8.0.0963 +Problem: Terminal test fails on MacOS. (chdiza) +Solution: Wait for the shell to echo the characters. (closes #1991) +Files: src/testdir/test_terminal.vim + +Patch 8.0.0964 +Problem: Channel write buffer does not work with poll(). +Solution: Use the same mechanism as with select(). +Files: src/channel.c + +Patch 8.0.0965 +Problem: The cursor shape is not reset after it was changed in a terminal. +Solution: Request the original cursor shape and restore it. Add t_RS. + Do not add t_SH for now, it does not work properly. +Files: src/term.c, src/term.h, src/option.c, src/terminal.c + +Patch 8.0.0966 (after 8.0.0965) +Problem: Build failure without terminal feature. +Solution: Move #endif. +Files: src/term.c + +Patch 8.0.0967 +Problem: Using a terminal may cause the cursor to blink. +Solution: Do not set t_vs, since we cannot restore the old blink state. +Files: src/term.c + +Patch 8.0.0968 +Problem: Crash when switching terminal modes. (Nikolai Pavlov) +Solution: Check that there are scrollback lines. +Files: src/terminal.c + +Patch 8.0.0969 +Problem: Coverity warning for unused return value. +Solution: Add (void) to avoid the warning. +Files: src/channel.c + +Patch 8.0.0970 +Problem: if there is no StatusLine highlighting and there is StatusLineNC + or StatusLineTermNC highlighting then an invalid highlight id is + passed to combine_stl_hlt(). (Coverity) +Solution: Check id_S to be -1 instead of zero. +Files: src/syntax.c + +Patch 8.0.0971 +Problem: 'winptydll' missing from :options. +Solution: Add the entry. +Files: runtime/optwin.vim + +Patch 8.0.0972 +Problem: Compiler warnings for unused variables. (Tony Mechelynck) +Solution: Add #ifdefs. +Files: src/term.c + +Patch 8.0.0973 +Problem: initial info about blinking cursor is wrong +Solution: Invert the blink flag. Add t_VS to stop a blinking cursor. +Files: src/term.c, src/proto/term.pro, src/term.h, src/option.c, + src/terminal.c + +Patch 8.0.0974 +Problem: Resetting a string option does not trigger OptionSet. (Rick Howe) +Solution: Set the origval. +Files: src/option.c, src/testdir/test_autocmd.vim + +Patch 8.0.0975 +Problem: Using freed memory when setting 'backspace'. +Solution: When changing oldval also change origval. +Files: src/option.c + +Patch 8.0.0976 +Problem: Cannot send lines to a terminal job. +Solution: Make [range]terminal send selected lines to the job. + Use ++rows and ++cols for the terminal size. +Files: src/ex_cmds.h, src/terminal.c, src/os_unix.c, + src/testdir/test_terminal.vim + +Patch 8.0.0977 +Problem: Cannot send lines to a terminal job on MS-Windows. +Solution: Set jv_in_buf. Command doesn't get EOF yet though. +Files: src/terminal.c + +Patch 8.0.0978 +Problem: Writing to terminal job is not tested. +Solution: Add a test. +Files: src/testdir/test_terminal.vim + +Patch 8.0.0979 +Problem: Terminal noblock test fails on MS-Windows. (Christian Brabandt) +Solution: Ignore empty line below "done". +Files: src/testdir/test_terminal.vim + +Patch 8.0.0980 +Problem: Coverity warning for failing to open /dev/null. +Solution: When /dev/null can't be opened exit the child. +Files: src/os_unix.c + +Patch 8.0.0981 +Problem: Cursor in terminal window blinks by default, while in a real xterm + it does not blink, unless the -bc argument is used. +Solution: Do not use a blinking cursor by default. +Files: src/terminal.c + +Patch 8.0.0982 +Problem: When 'encoding' is set to a multi-byte encoding other than utf-8 + the characters from their terminal are messed up. +Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows. + (Yasuhiro Matsumoto, close #2000) +Files: src/terminal.c + +Patch 8.0.0983 +Problem: Unnecessary check for NULL pointer. +Solution: Remove the NULL check in dialog_changed(), it already happens in + dialog_msg(). (Ken Takata) +Files: src/ex_cmds2.c + +Patch 8.0.0984 +Problem: Terminal blinking cursor not correct in the GUI. +Solution: Set blinkoff correctly. Also make the cursor blink on MS-Windows + by default. (Ken Takata) +Files: src/terminal.c + +Patch 8.0.0985 +Problem: Libvterm has its own idea of character width. +Solution: Use the Vim functions for character width and composing to avoid a + mismatch. (idea by Yasuhiro Matsumoto) +Files: src/Makefile, src/libvterm/src/unicode.c, src/mbyte.c, + src/proto/mbyte.pro, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.0986 +Problem: Terminal feature always requires multi-byte feature. +Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte. +Files: src/terminal.c, src/feature.h + +Patch 8.0.0987 +Problem: terminal: second byte of double-byte char wrong +Solution: Set the second byte to NUL only for utf-8 and non-multibyte. +Files: src/terminal.c + +Patch 8.0.0988 +Problem: Warning from Covscan about using NULL pointer. +Solution: Add extra check for NULL. (zdohnal) +Files: src/fileio.c, src/undo.c + +Patch 8.0.0989 +Problem: ActiveTcl dll name has changed in 8.6.6. +Solution: Adjust the makefile. (Ken Takata) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.0990 +Problem: When 'encoding' is a double-byte encoding, pasting a register into + a terminal ends up with the wrong characters. +Solution: Convert from 'encoding' to utf-8. (Yasuhiro Matsumoto, closes + #2007) +Files: src/terminal.c + +Patch 8.0.0991 +Problem: Using wrong character conversion for DBCS. +Solution: Use utf_char2bytes instead of mb_char2bytes. (Yasuhiro Matsumoto, + closes #2012) +Files: src/terminal.c + +Patch 8.0.0992 +Problem: Terminal title is wrong when 'encoding' is DBCS. +Solution: Convert the title from DBCS to utf-8. (Yasuhiro Matsumoto, closes + #2009) +Files: src/terminal.c + +Patch 8.0.0993 +Problem: Sometimes an xterm sends an extra CTRL-X after the response for + the background color. Related to t_RS. +Solution: Check for the CTRL-X after the terminating 0x7. +Files: src/term.c + +Patch 8.0.0994 +Problem: MS-Windows: cursor in terminal blinks even though the blinking + cursor was disabled on the system. +Solution: Use GetCaretBlinkTime(). (Ken Takata) +Files: src/terminal.c + +Patch 8.0.0995 +Problem: Terminal tests fail on Mac. +Solution: Add workaround: sleep a moment in between sending keys. +Files: src/testdir/test_terminal.vim + +Patch 8.0.0996 +Problem: Mac: t_RS is echoed on the screen in Terminal.app. Even though + $TERM is set to "xterm-256colors" it cannot handle this xterm + escape sequence. +Solution: Recognize Terminal.app from the termresponse and skip sending t_RS + if it looks like Terminal.app. +Files: src/term.c + +Patch 8.0.0997 (after 8.0.0996) +Problem: Libvterm and Terminal.app not recognized from termresponse. +Solution: Adjust string compare. +Files: src/term.c + +Patch 8.0.0998 +Problem: Strange error when using K while only spaces are selected. + (Christian J. Robinson) +Solution: Check for blank argument. +Files: src/normal.c, src/testdir/test_help.vim + +Patch 8.0.0999 +Problem: Indenting raw C++ strings is wrong. +Solution: Add special handling of raw strings. (Christian Brabandt) +Files: src/misc1.c, src/testdir/test_cindent.vim + +Patch 8.0.1000 +Problem: Cannot open a terminal without running a job in it. +Solution: Make ":terminal NONE" open a terminal with a pty. +Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro, + src/channel.c, src/proto/channel.pro, src/structs.h, + src/testdir/test_terminal.c, src/misc2.c, src/gui_gtk_x11.c + +Patch 8.0.1001 +Problem: Setting 'encoding' makes 'printheader' invalid. +Solution: Do not translate the default value of 'printheader'. (Yasuhiro + Matsumoto, closes #2026) +Files: src/option.c + +Patch 8.0.1002 +Problem: Unnecessarily updating screen after timer callback. +Solution: Check if calling the timer sets must_redraw. +Files: src/ex_cmds2.c, src/channel.c, src/screen.c, src/proto/screen.pro, + src/terminal.c + +Patch 8.0.1003 +Problem: 64 bit compiler warning +Solution: Add type cast. (Mike Williams) +Files: src/channel.c + +Patch 8.0.1004 +Problem: Matchstrpos() without a match returns too many items. +Solution: Also remove the second item when the position is beyond the end of + the string. (Hirohito Higashi) Use an enum for the type. +Files: src/evalfunc.c, src/testdir/test_match.vim + +Patch 8.0.1005 +Problem: Terminal without job updates slowly in GUI. +Solution: Poll for input when a channel has the keep_open flag. +Files: src/channel.c, src/proto/channel.pro, src/gui_gtk_x11.c + +Patch 8.0.1006 +Problem: Cannot parse text with 'errorformat' without changing a quickfix + list. +Solution: Add the "text" argument to getqflist(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/quickfix.pro, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1007 +Problem: No test for filetype detection for scripts. +Solution: Add a first test file script filetype detection. +Files: src/testdir/test_filetype.vim, runtime/scripts.vim + +Patch 8.0.1008 +Problem: Slow updating of terminal window in Motif. +Solution: Add a timeout to the wait-for-character loop. +Files: src/gui_x11.c + +Patch 8.0.1009 +Problem: Xterm cursor blinking status may be inverted. +Solution: Use another request to get the blink status and compare with the + cursor style report +Files: src/term.c, src/proto/term.pro, src/term.h, src/option.c, + src/terminal.c + +Patch 8.0.1010 (after 8.0.1009) +Problem: Build failure without termresponse feature. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.0.1011 +Problem: Terminal test fails with Athena and Motif. +Solution: Ignore the error for the input context. (Kazunobu Kuriyama) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1012 +Problem: MS-Windows: Problem with $HOME when it was set internally. +Solution: Only use the $HOME default internally. (Yasuhiro Matsumoto, closes + #2013) +Files: src/misc1.c, src/testdir/Make_all.mak, src/Makefile, + src/testdir/test_windows_home.vim + +Patch 8.0.1013 +Problem: A terminal window with a running job behaves different from a + window containing a changed buffer. +Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a + terminal used to run is listed as "[Scratch]". +Files: src/terminal.c, runtime/doc/terminal.txt, src/buffer.c + +Patch 8.0.1014 +Problem: Old compiler doesn't know uint32_t. Warning for using NULL instead + of NUL. +Solution: Use UINT32_T. Use NUL instead of NULL. +Files: src/mbyte.c, src/proto/mbyte.pro, src/misc1.c + +Patch 8.0.1015 (after 8.0.1013) +Problem: Missing update to terminal test. +Solution: Add the changes to the test. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1016 +Problem: Gnome terminal echoes t_RC. +Solution: Detect Gnome terminal by the version string. Add v: variables for + all the term responses. +Files: src/term.c, src/eval.c, src/vim.h, runtime/doc/eval.txt + +Patch 8.0.1017 +Problem: Test for MS-Windows $HOME always passes. +Solution: Rename the test function. Make the test pass. +Files: src/testdir/test_windows_home.vim + +Patch 8.0.1018 +Problem: Warnings from 64-bit compiler. (Christian Brabandt) +Solution: Add type casts. +Files: src/terminal.c + +Patch 8.0.1019 +Problem: Pasting in virtual edit happens in the wrong place. +Solution: Do not adjust coladd when after the end of the line (closes #2015) +Files: src/testdir/test_virtualedit.vim, src/misc2.c + +Patch 8.0.1020 +Problem: When a timer calls getchar(1) input is overwritten. +Solution: Increment tb_change_cnt in inchar(). (closes #1940) +Files: src/getchar.c + +Patch 8.0.1021 +Problem: Older Gnome terminal still echoes t_RC. (François Ingelrest) +Solution: Check for version > 3000 instead of 4000. +Files: src/term.c + +Patch 8.0.1022 +Problem: Test 80 is old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test80.in, src/testdir/test80.ok, + src/testdir/test_substitute.vim + +Patch 8.0.1023 +Problem: It is not easy to identify a quickfix list. +Solution: Add the "id" field. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1024 +Problem: Manual folds are lost when a session file has the same buffer in + two windows. (Jeansen) +Solution: Use ":edit" only once. (Christian Brabandt, closes #1958) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.0.1025 +Problem: Stray copy command in test. +Solution: Remove the copy command. +Files: src/testdir/test_mksession.vim + +Patch 8.0.1026 +Problem: GTK on-the-spot input has problems. (Gerd Wachsmuth) +Solution: Support over-the-spot. (Yukihiro Nakadaira, Ken Takata, closes + #1215) +Files: runtime/doc/mbyte.txt, runtime/doc/options.txt, src/edit.c, + src/ex_getln.c, src/mbyte.c, src/misc1.c, src/option.c, + src/option.h, src/screen.c, src/undo.c, + src/testdir/gen_opt_test.vim + +Patch 8.0.1027 +Problem: More terminals can't handle requesting cursor mode. +Solution: Recognize Putty. (Hirohito Higashi) Also include Xfce in the + version check. (Dominique Pelle) Recognize Konsole. +Files: src/term.c + +Patch 8.0.1028 +Problem: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set. (Yongwei + Wu) +Solution: Use vim_getenv() but check it's returning the default "C:/". +Files: src/ex_cmds.c + +Patch 8.0.1029 +Problem: Return value of getqflist() is inconsistent. (Lcd47) +Solution: Always return an "items" entry. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1030 +Problem: MS-Windows: wrong size computation in is_cygpty(). +Solution: Compute the size properly. (Ken Takata) +Files: src/iscygpty.c, src/iscygpty.h + +Patch 8.0.1031 +Problem: "text" argument for getqflist() is confusing. (Lcd47) +Solution: Use "lines" instead. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1032 +Problem: "make tags" doesn't work well on MS-Windows. +Solution: Add or fix tags target. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.1033 +Problem: Detecting background color does not work in screen, even when it + is working like an xterm. +Solution: Make "screen.xterm" use termcap entries like an xterm. (Lubomir + Rintel, closes #2048) When termresponse version is huge also + recognize as not being an xterm. +Files: src/os_unix.c, src/term.c + +Patch 8.0.1034 +Problem: Sending buffer lines to terminal doesn't work on MS-Windows. +Solution: Send CTRL-D to mark the end of the text. (Yasuhiro Matsumoto, + closes #2043) Add the "eof_chars" option. +Files: src/channel.c, src/proto/terminal.pro, src/terminal.c, + src/testdir/test_terminal.vim, src/structs.h + +Patch 8.0.1035 +Problem: Sending buffer lines to terminal doesn't work on MS-Windows. +Solution: Use CR instead of NL after every line. Make the EOF text work + properly. Add the ++eof argument to :terminal. +Files: src/structs.h, src/channel.c, src/terminal.c, + runtime/doc/terminal.txt, runtime/doc/eval.txt + +Patch 8.0.1036 +Problem: ++eof argument for terminal only available on MS-Windows. +Solution: Also support ++eof on Unix. Add a test. +Files: src/channel.c, src/terminal.c, src/structs.h, + src/testdir/test_terminal.vim + +Patch 8.0.1037 +Problem: "icase" of 'diffopt' is not used for highlighting differences. +Solution: Also use "icase". (Rick Howe) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.0.1038 +Problem: Strike-through text not supported. +Solution: Add support for the "strikethrough" attribute. (Christian + Brabandt, Ken Takata) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/syntax.txt, runtime/doc/term.txt, src/evalfunc.c, + src/gui.c, src/gui.h, src/gui_gtk_x11.c, src/gui_mac.c, + src/gui_w32.c, src/gui_x11.c, src/option.c, src/screen.c, + src/syntax.c, src/term.c, src/term.h, src/terminal.c, src/vim.h + +Patch 8.0.1039 +Problem: Cannot change a line in a buffer other than the current one. +Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes #1953) +Files: src/evalfunc.c, runtime/doc/eval.txt, src/Makefile, + src/testdir/test_bufline.vim, src/testdir/test_alot.vim + + +Patch 8.0.1040 +Problem: Cannot use another error format in getqflist(). +Solution: Add the "efm" argument to getqflist(). (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1041 +Problem: Bogus characters appear when indenting kicks in while doing a + visual-block append. +Solution: Recompute when indenting is done. (Christian Brabandt) +Files: runtime/doc/visual.txt, src/charset.c, src/edit.c, src/misc1.c, + src/ops.c, src/proto/charset.pro, src/proto/misc1.pro, + src/screen.c, src/spell.c, src/testdir/test_cindent.vim + +Patch 8.0.1042 (after 8.0.1038) +Problem: Without the syntax feature highlighting doesn't work. +Solution: Always use unsigned short to store attributes. +Files: src/vim.h + +Patch 8.0.1043 +Problem: Warning for uninitialized variable. (John Marriott) +Solution: Move code to check indent inside "if". +Files: src/ops.c + +Patch 8.0.1044 +Problem: Warning for uninitialized variable. (John Marriott) +Solution: Initialize ind_pre. +Files: src/ops.c + +Patch 8.0.1045 +Problem: Running tests may pollute shell history. (Manuel Ortega) +Solution: Make $HISTFILE empty. +Files: src/testdir/setup.vim + +Patch 8.0.1046 +Problem: Code duplication in diff mode. +Solution: Use diff_equal_char() also in diff_cmp(). (Rick Howe) +Files: src/diff.c + +Patch 8.0.1047 +Problem: Buffer overflow in Ruby. +Solution: Allocate one more byte. (Dominique Pelle) +Files: src/if_ruby.c + +Patch 8.0.1048 +Problem: No test for what 8.0.1020 fixes. +Solution: Add test_feedinput(). Add a test. (Ozaki Kiichi, closes #2046) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_timers.vim, + src/ui.c + +Patch 8.0.1049 +Problem: Shell on Mac can't handle long text, making terminal test fail. +Solution: Only write 1000 characters instead of 5000. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1050 +Problem: Terminal window feature not included by default. +Solution: Include the terminal feature for the "huge" build. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1051 +Problem: Cannot run terminal with spaces in argument. +Solution: Accept backslash to escape space and other characters. (closes + #1999) +Files: src/os_unix.c, src/testdir/test_terminal.vim + +Patch 8.0.1052 +Problem: term_start() does not allow in_io, out_io and err_io options. +Solution: Add JO_OUT_IO to get_job_options(). +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1053 +Problem: setline() does not work on startup. (Manuel Ortega) +Solution: Do not check for ml_mfp to be set for the current buffer. + (Christian Brabandt) +Files: src/testdir/shared.vim, src/testdir/test_alot.vim, + src/testdir/test_bufline.vim, src/testdir/test_timers.vim, + src/evalfunc.c + +Patch 8.0.1054 +Problem: Terminal test fails on MS-Windows. +Solution: Disable the redirection test for now. Improve scrape test to make + it less flaky. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1055 +Problem: Bufline test hangs on MS-Windows. +Solution: Avoid message for writing file. Source shared.vim when running + test individually. +Files: src/testdir/test_bufline.vim, src/testdir/test_timers.vim + +Patch 8.0.1056 +Problem: Cannot build with the diff feature but without the multi-byte + feature. +Solution: Remove #ifdefs. (John Marriott) +Files: src/diff.c + +Patch 8.0.1057 +Problem: Terminal scrape test waits too long, it checks for one instead of + three. +Solution: Check there are three characters. (micbou) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1058 +Problem: Terminal redirection test is flaky. +Solution: Wait for job to finish. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1059 +Problem: older Gnome terminal returns smaller version number. (antarestrue) +Solution: Lower version limit from 2800 to 2500. (#2032) +Files: src/term.c + +Patch 8.0.1060 +Problem: When imstyle is zero, mapping <Left> breaks preediting. +Solution: Pass though preediting key-events. (Yasuhiro Matsumoto, closes + #2064, closes #2063) +Files: src/getchar.c, src/mbyte.c + +Patch 8.0.1061 +Problem: Coverity: no check for NULL command. +Solution: Check for NULL list item. +Files: src/terminal.c + +Patch 8.0.1062 +Problem: Coverity warnings in libvterm. +Solution: Add (void) to avoid warning for not checking return value. + Add "break" before "case". +Files: src/libvterm/src/screen.c, src/libvterm/src/state.c + +Patch 8.0.1063 +Problem: Coverity warns for NULL check and using variable pointer as an + array. +Solution: Remove the NULL check. Make "argvar" an array. +Files: src/terminal.c + +Patch 8.0.1064 +Problem: Coverity warns for leaking resource. +Solution: Free pty_master_fd on failure. +Files: src/os_unix.c + +Patch 8.0.1065 +Problem: Not all macro examples are included in the self-installing + executable. (lkintact) +Solution: Add the directories to the NSIS script. (closes #2065) +Files: nsis/gvim.nsi + +Patch 8.0.1066 +Problem: Some terminals can't handle requesting cursor mode. (Steven + Hartland) +Solution: Recognize vandyke SecureCRT. (closes #2008) +Files: src/term.c + +Patch 8.0.1067 +Problem: Using try/catch in timer does not prevent it from being stopped. +Solution: Reset the exception context and use did_emsg instead of + called_emsg. +Files: src/ex_cmds2.c, src/testdir/test_timers.vim, src/globals.h, + src/message.c + +Patch 8.0.1068 (after 8.0.1066) +Problem: Vandyke SecureCRT terminal can't handle cursor mode request. + (Steven Hartland) +Solution: Fix pointer computation. (closes #2008) +Files: src/term.c + +Patch 8.0.1069 +Problem: Still get CTRL-X sometimes for t_RS request. +Solution: Also skip 0x18 after a key code response. +Files: src/term.c + +Patch 8.0.1070 +Problem: Terminal test is flaky on Mac. +Solution: Add Test_terminal_noblock() to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1071 +Problem: $TERM names starting with "putty" and "cygwin" are likely to have + a dark background, but are not recognized. +Solution: Only check the first few characters of $TERM to match "putty" or + "cygwin". (Christian Brabandt) +Files: src/option.c + +Patch 8.0.1072 +Problem: The :highlight command causes a redraw even when nothing changed. +Solution: Only set "need_highlight_changed" when an attribute changed. +Files: src/syntax.c + +Patch 8.0.1073 +Problem: May get an endless loop if 'statusline' changes a highlight. +Solution: Do not let evaluating 'statusline' trigger a redraw. +Files: src/buffer.c + +Patch 8.0.1074 +Problem: ":term NONE" does not work on MS-Windows. +Solution: Make it work. Split "pty" into "pty_in" and "pty_out". (Yasuhiro + Matsumoto, closes #2058, closes #2045) +Files: runtime/doc/eval.txt, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + src/channel.c, src/evalfunc.c, src/os_unix.c, src/structs.h, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1075 +Problem: MS-Windows: mouse does not work in terminal. +Solution: Force the winpty mouse on. (Yasuhiro Matsumoto, closes #2072) +Files: src/terminal.c + +Patch 8.0.1076 +Problem: term_start() does not take callbacks. When using two terminals + without a job only one is read from. A terminal without a window + returns the wrong pty. +Solution: Support "callback", "out_cb" and "err_cb". Fix terminal without a + window. Fix reading from multiple channels. +Files: src/terminal.c, src/proto/terminal.pro, src/channel.c, + +Patch 8.0.1077 +Problem: No debugger making use of the terminal window. +Solution: Add the term debugger plugin. So far only displays the current + line when stopped. +Files: Filelist, runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1078 +Problem: Using freed memory with ":hi Normal". +Solution: Get "item" again after updating the table. +Files: src/syntax.c + +Patch 8.0.1079 +Problem: Memory leak when remote_foreground() fails. +Solution: Free the error message. +Files: src/evalfunc.c, src/if_xcmdsrv.c + +Patch 8.0.1080 +Problem: Memory leak for eof_chars terminal option and buffer name. +Solution: Free job options. Free the buffer name +Files: src/terminal.c + +Patch 8.0.1081 +Problem: Memory leak for the channel write queue. +Solution: Free the write queue when clearing a channel. +Files: src/channel.c + +Patch 8.0.1082 +Problem: Tests fail when run under valgrind. +Solution: Increase waiting times. +Files: src/testdir/test_clientserver.vim, src/testdir/test_terminal.vim + +Patch 8.0.1083 +Problem: Leaking memory in input part of channel. +Solution: Clear the input part of channel. Free the entry. Move failing + command test to a separate file to avoid bogus leak reports + clouding tests that should not leak. +Files: src/channel.c, src/testdir/test_terminal.vim, src/Makefile, + src/testdir/test_terminal_fail.vim, src/testdir/Make_all.mak + +Patch 8.0.1084 +Problem: GTK build has compiler warnings. (Christian Brabandt) +Solution: Get screen size with a different function. (Ken Takata, Yasuhiro + Matsumoto) +Files: src/mbyte.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, + src/gui_beval.c + +Patch 8.0.1085 +Problem: The terminal debugger can't set breakpoints. +Solution: Add :Break and :Delete commands. Also commands for stepping + through code. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1086 (after 8.0.1084) +Problem: Can't build with GTK 3. +Solution: Rename function argument. (Kazunobu Kuriyama) +Files: src/gui_gtk_x11.c + +Patch 8.0.1087 +Problem: Test_terminal_cwd is flaky. MS-Windows: term_start() "cwd" + argument does not work. +Solution: Wait for the condition to be true instead of using a sleep. + Pass the directory to winpty. +Files: src/testdir/test_terminal.vim, src/terminal.c + +Patch 8.0.1088 +Problem: Occasional memory use after free. +Solution: Use the highlight table directly, don't keep a pointer. +Files: src/syntax.c + +Patch 8.0.1089 +Problem: Cannot get range count in user command. +Solution: Add <range> argument. +Files: src/ex_docmd.c, runtime/doc/map.txt + +Patch 8.0.1090 +Problem: cannot get the text under the cursor like v:beval_text +Solution: Add <cexpr>. +Files: src/ex_docmd.c, src/testdir/test_normal.vim, + runtime/doc/cmdline.txt + +Patch 8.0.1091 (after 8.0.1090) +Problem: Test for <cexpr> fails without +balloon_eval feature. +Solution: Remove #ifdefs. +Files: src/normal.c + +Patch 8.0.1092 +Problem: Terminal debugger can't evaluate expressions. +Solution: Add :Evaluate and K. Various other improvements. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1093 +Problem: Various small quickfix issues. +Solution: Remove ":" prefix from title set by a user. Add the qf_id2nr(). + function. Add a couple more tests. Update documentation. + (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/evalfunc.c, + src/proto/quickfix.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1094 +Problem: Using ssh from Terminal.app runs into xterm incompatibility. +Solution: Also detect Terminal.app on non-Mac systems. +Files: src/term.c + +Patch 8.0.1095 +Problem: Terminal multibyte scrape test is flaky. +Solution: Add another condition to wait for. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1096 +Problem: Terminal window in Normal mode has wrong background. +Solution: Store the default background and use it for clearing until the + end of the line. Not for below the last line, since there is no + text there. +Files: src/screen.c, src/terminal.c + +Patch 8.0.1097 (after 8.0.1096) +Problem: Background color wrong if job changes background color. +Solution: Get the background color from vterm. +Files: src/terminal.c, src/screen.c + +Patch 8.0.1098 +Problem: Build failure if libvterm installed on the system. (Oleh + Hushchenkov) +Solution: Change the CCCTERM argument order. (Ken Takata, closes #2080) +Files: src/Makefile + +Patch 8.0.1099 +Problem: Warnings for GDK calls. +Solution: Use other calls for GTK 3 and fix a few problems. (Kazunobu + Kuriyama) +Files: src/mbyte.c + +Patch 8.0.1100 +Problem: Stuck in redraw loop when 'lazyredraw' is set. +Solution: Don't loop on update_screen() when not redrawing. (Yasuhiro + Matsumoto, closes #2082) +Files: src/terminal.c, src/screen.c, src/proto/screen.pro + +Patch 8.0.1101 +Problem: Channel write fails if writing to log fails. +Solution: Ignore return value of fwrite(). (Ozaki Kiichi, closes #2081) +Files: src/channel.c + +Patch 8.0.1102 +Problem: Terminal window does not use Normal colors. +Solution: For the GUI and when 'termguicolors' is enabled, use the actual + foreground and background colors for the terminal. (Yasuhiro + Matsumoto, closes #2067) + Use the "Terminal" highlight group if defined. +Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro + +Patch 8.0.1103 (after 8.0.1102) +Problem: Converting cterm color fails for grey ramp. +Solution: Use index instead of number. +Files: src/terminal.c + +Patch 8.0.1104 +Problem: The qf_jump() function is too long. +Solution: Split of parts to separate functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1105 +Problem: match() and matchend() are not tested. +Solution: Add tests. (Ozaki Kiichi, closes #2088) +Files: src/testdir/test_functions.vim, src/testdir/test_match.vim + +Patch 8.0.1106 +Problem: Terminal colors on an MS-Windows console are not matching the + normal colors. +Solution: Use the normal colors for the terminal. (Yasuhiro Matsumoto, + closes #2087) +Files: src/terminal.c + +Patch 8.0.1107 +Problem: Terminal debugger jumps to non-existing file. +Solution: Check that the file exists. Add an option to make the Vim width + wide. Fix removing highlight groups. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1108 +Problem: Cannot specify mappings for the terminal window. +Solution: Add the :tmap command and associated code. (Jacob Askeland, + closes #2073) +Files: runtime/doc/map.txt, runtime/doc/terminal.txt, src/ex_cmdidxs.h, + src/ex_cmds.h, src/ex_docmd.c, src/getchar.c, src/gui.c, + src/terminal.c, src/testdir/test_terminal.vim, src/vim.h, + src/proto/terminal.pro, src/main.c, src/evalfunc.c + +Patch 8.0.1109 +Problem: Timer causes error on exit from Ex mode. (xtal8) +Solution: save and restore the ex_pressedreturn flag. (Christian Brabandt, + closes #2079) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_cmds2.c, + src/testdir/test_timers.vim + +Patch 8.0.1110 +Problem: FORTIFY_SOURCE from Perl causes problems. (Scott Baker) +Solution: Filter out the flag. (Christian Brabandt, closes #2068) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1111 +Problem: Syntax error in configure when using Perl. +Solution: Add missing quote +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1112 +Problem: Can't get size or current index from quickfix list. +Solution: Add "idx" and "size" options. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1113 +Problem: Can go to Insert mode from Terminal-Normal mode. +Solution: Prevent :startinsert and "VA" to enter Insert mode. (Yasuhiro + Matsumoto, closes #2092) +Files: src/normal.c + +Patch 8.0.1114 +Problem: Default for 'iminsert' is annoying. +Solution: Make the default always zero. (Yasuhiro Matsumoto, closes #2071) +Files: src/option.c, runtime/doc/options.txt + +Patch 8.0.1115 +Problem: Crash when using foldtextresult() recursively. +Solution: Avoid recursive calls. (Yasuhiro Matsumoto, closes #2098) +Files: src/evalfunc.c, src/testdir/test_fold.vim + +Patch 8.0.1116 +Problem: Terminal test fails on MS-Windows. +Solution: Wait for the text to appear. (micbou, closes #2097) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1117 +Problem: Test_terminal_no_cmd hangs on MS-Windows with GUI. (Christian + Brabandt) +Solution: Run the command with "start" and wait for the text to appear. + (micbou, closes #2096) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1118 +Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always + enabled and only adds 7% to the binary size of the tiny build. +Solution: Graduate FEAT_WINDOWS. +Files: src/feature.h, src/window.c, src/vim.h, src/structs.h, + src/globals.h, src/gui.h, src/if_py_both.h, src/option.h, + src/term.h, src/buffer.c, src/charset.c, src/digraph.c, + src/edit.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, + src/fold.c, src/getchar.c, src/gui.c, src/gui_athena.c, + src/gui_beval.c, src/gui_gtk.c, src/gui_motif.c, src/gui_w32.c, + src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/main.c, + src/mark.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, + src/netbeans.c, src/normal.c, src/option.c, src/popupmnu.c, + src/quickfix.c, src/screen.c, src/search.c, src/spell.c, + src/syntax.c, src/tag.c, src/term.c, src/ui.c, src/version.c, + src/workshop.c, src/if_perl.xs, src/testdir/test_normal.vim + +Patch 8.0.1119 +Problem: Quitting a split terminal window kills the job. (Yasuhiro + Matsumoto) +Solution: Only stop terminal job if it is the last window. +Files: src/buffer.c, src/testdir/test_terminal.vim + +Patch 8.0.1120 (after 8.0.1108) +Problem: :tm means :tmap instead of :tmenu. (Taro Muraoka) +Solution: Move the new entry below the old entry. (closes #2102) +Files: src/ex_cmds.h, runtime/doc/map.txt + +Patch 8.0.1121 +Problem: Can uncheck executables in MS-Windows installer. +Solution: Make the choice read-only. (Ken Takata, closes #2106) +Files: nsis/gvim.nsi + +Patch 8.0.1122 +Problem: vimtutor.bat doesn't work well with vim.bat. +Solution: Use "call vim". (Ken Takata, closes #2105) +Files: vimtutor.bat + +Patch 8.0.1123 +Problem: Cannot define a toolbar for a window. +Solution: Add a window-local toolbar. +Files: src/syntax.c, src/proto/syntax.pro, src/structs.h, src/menu.c, + src/proto/menu.pro, src/testdir/test_winbar.vim, src/Makefile, + src/normal.c, src/testdir/Make_all.mak, src/if_perl.xs, + src/eval.c, src/evalfunc.c, src/window.c, src/ui.c, + src/terminal.c, src/screen.c, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/gui.txt, runtime/doc/terminal.txt + +Patch 8.0.1124 +Problem: Use of MZSCHEME_VER is unclear. +Solution: Add a comment. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.1125 +Problem: Wrong window height when splitting window with window toolbar. +Solution: Add or subtract the window toolbar height. +Files: src/window.c + +Patch 8.0.1126 +Problem: Endless resize when terminal showing in two buffers. (Hirohito + Higashi) +Solution: Set a flag to prevent resizing the window. +Files: src/terminal.c + +Patch 8.0.1127 +Problem: Test_peek_and_get_char fails on 32 bit system. (Elimar + Riesebieter) +Solution: Avoid an integer overflow. (James McCoy, closes #2116) +Files: src/ex_cmds2.c + +Patch 8.0.1128 +Problem: Old xterm sends CTRL-X in response to t_RS. +Solution: Only send t_RS for xterm 279 and later. Remove the workaround to + ignore CTRL-X. +Files: src/term.c + +Patch 8.0.1129 +Problem: Window toolbar missing a part of the patch. +Solution: Add change in vim.h. +Files: src/vim.h + +Patch 8.0.1130 +Problem: The qf_jump() function is still too long. +Solution: Split of parts to separate functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1131 +Problem: It is not easy to trigger an autocommand for new terminal window. + (Marco Restelli) +Solution: Trigger BufWinEnter after setting 'buftype'. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1132 +Problem: #if condition is not portable. +Solution: Add defined(). (Zuloloxi, closes #2136) +Files: src/libvterm/src/vterm.c + +Patch 8.0.1133 +Problem: Syntax timeout not used correctly. +Solution: Do not pass the timeout to syntax_start() but set it explicitly. + (Yasuhiro Matsumoto, closes #2139) +Files: src/proto/syntax.pro, src/screen.c, src/syntax.c + +Patch 8.0.1134 +Problem: Superfluous call to syn_get_final_id(). +Solution: Remove it. (Ken Takata) +Files: src/syntax.c + +Patch 8.0.1135 +Problem: W_WINCOL() is always the same. +Solution: Expand the macro. +Files: src/edit.c, src/ex_docmd.c, src/gui_gtk.c, src/gui_w32.c, + src/netbeans.c, src/popupmnu.c, src/screen.c, src/term.c, + src/terminal.c, src/ui.c, src/window.c, src/if_py_both.h, + src/structs.h, src/vim.h + +Patch 8.0.1136 +Problem: W_WIDTH() is always the same. +Solution: Expand the macro. +Files: src/charset.c, src/edit.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_beval.c, + src/gui_mac.c, src/if_lua.c, src/if_mzsch.c, src/if_py_both.h, + src/if_ruby.c, src/misc1.c, src/misc2.c, src/move.c, src/normal.c, + src/popupmnu.c, src/quickfix.c, src/screen.c, src/search.c, + src/structs.h, src/ui.c, src/vim.h, src/window.c + +Patch 8.0.1137 (after 8.0.1136) +Problem: Cannot build with Ruby. +Solution: Fix misplaced brace. +Files: src/if_ruby.c + +Patch 8.0.1138 +Problem: Click in window toolbar starts Visual mode. +Solution: Add the MOUSE_WINBAR flag. +Files: src/ui.c, src/vim.h, src/normal.c + +Patch 8.0.1139 +Problem: Using window toolbar changes state. +Solution: Always execute window toolbar actions in Normal mode. +Files: runtime/doc/gui.txt, src/structs.h, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/menu.c + +Patch 8.0.1140 +Problem: Still old style tests. +Solution: Convert two tests to new style. (Yegappan Lakshmanan) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test56.in, src/testdir/test56.ok, + src/testdir/test57.in, src/testdir/test57.ok, + src/testdir/test_sort.vim, src/testdir/test_vimscript.vim + +Patch 8.0.1141 +Problem: MS-Windows build dependencies are incomplete. +Solution: Fix the dependencies. (Ken Takata) +Files: src/Make_cyg.mak, src/Make_cyg_ming.mak, src/Make_ming.mak, + src/Make_mvc.mak + +Patch 8.0.1142 +Problem: Window toolbar menu gets a tear-off item. +Solution: Recognize the window toolbar. +Files: src/menu.c + +Patch 8.0.1143 +Problem: Macros always expand to the same thing. +Solution: Remove W_VSEP_WIDTH() and W_STATUS_HEIGHT(). +Files: src/vim.h, src/structs.h, src/gui.c, src/ex_getln.c, src/screen.c + +Patch 8.0.1144 +Problem: Using wrong #ifdef for computing length. +Solution: use BACKSLASH_IN_FILENAME instead of COLON_IN_FILENAME. (Yasuhiro + Matsumoto, closes #2153) +Files: src/quickfix.c + +Patch 8.0.1145 +Problem: Warning when compiling with Perl. +Solution: Remove unused variable. (Ken Takata) +Files: src/if_perl.xs + +Patch 8.0.1146 +Problem: Redraw when highlight is set with same names. (Ozaki Kiichi) +Solution: Only free and save a name when it changed. (closes #2120) +Files: src/syntax.c + +Patch 8.0.1147 +Problem: Fail to build with tiny features. (Tony Mechelynck) +Solution: Move #ifdefs. +Files: src/syntax.c + +Patch 8.0.1148 +Problem: "gN" doesn't work on last match with 'wrapscan' off. (fcpg) +Solution: Adjust for searching backward. (Christian Brabandt) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.0.1149 +Problem: libvterm colors differ from xterm. +Solution: Use the xterm colors for libvterm. +Files: src/terminal.c, src/libvterm/src/pen.c, + src/testdir/xterm_ramp.vim, Filelist + +Patch 8.0.1150 +Problem: MS-Windows GUI: dialog font size is incorrect. +Solution: Pass flag to indicate 'encoding' or active codepage. (Yasuhiro + Matsumoto, closes #2160) +Files: src/gui_w32.c + +Patch 8.0.1151 +Problem: "vim -c startinsert!" doesn't append. +Solution: Correct line number on startup. (Christian Brabandt, closes #2117) +Files: src/ex_docmd.c, src/testdir/test_startup.vim + +Patch 8.0.1152 +Problem: Encoding of error message wrong in Cygwin terminal. +Solution: Get locale from environment variables. (Ken Takata) +Files: src/main.c, src/mbyte.c, src/proto/mbyte.pro + +Patch 8.0.1153 +Problem: No tests for diff_hlID() and diff_filler(). +Solution: Add tests. (Dominique Pelle, closes #2156) +Files: src/testdir/test_diffmode.vim + +Patch 8.0.1154 +Problem: 'indentkeys' does not work properly. (Gary Johnson) +Solution: Get the cursor line again. (Christian Brabandt, closes #2151) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.0.1155 +Problem: Ruby command triggers a warning when RUBYOPT is set to "-w". +Solution: use "-e_=0" instead of "-e0". (Masataka Pocke Kuwabara, closes + #2143) +Files: src/if_ruby.c + +Patch 8.0.1156 +Problem: Removing one -W argument from Perl CFLAGS may cause trouble. +Solution: Remove all -W flags. (Christian Brabandt) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1157 +Problem: Compiler warning on MS-Windows. +Solution: Add type cast. (Yasuhiro Matsumoto) +Files: src/main.c + +Patch 8.0.1158 +Problem: Still old style tests. +Solution: Convert several tests to new style. (Yegappan Lakshmanan) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test33.in, + src/testdir/test33.ok, src/testdir/test41.in, + src/testdir/test41.ok, src/testdir/test43.in, + src/testdir/test43.ok, src/testdir/test53.in, + src/testdir/test53.ok, src/testdir/test_file_size.vim, + src/testdir/test_lispwords.vim, src/testdir/test_search.vim, + src/testdir/test_textobjects.vim + +Patch 8.0.1159 +Problem: Typo in #ifdef. +Solution: Change "PROT" to "PROTO". (Nobuhiro Takasaki, closes #2165) +Files: src/syntax.c + +Patch 8.0.1160 +Problem: Getting tab-local variable fails after closing window. +Solution: set tp_firstwin and tp_lastwin. (Jason Franklin, closes #2170) +Files: src/window.c, src/evalfunc.c, src/testdir/test_getvar.vim + +Patch 8.0.1161 +Problem: Popup menu drawing problem when resizing terminal. +Solution: Redraw after resizing also when a popup menu is visible. (Ozaki + Kiichi, closes #2110) +Files: src/popupmnu.c, src/term.c, src/testdir/shared.vim, + src/testdir/test_popup.vim + +Patch 8.0.1162 +Problem: Shared script for tests cannot be included twice. +Solution: Include it where needed, it will "finish" if loaded again. +Files: src/testdir/test_alot.vim, src/testdir/test_bufline.vim, + src/testdir/test_timers.vim + +Patch 8.0.1163 +Problem: Popup test is flaky. +Solution: Add a WaitFor() and fix another. +Files: src/testdir/test_popup.vim + +Patch 8.0.1164 +Problem: Changing StatusLine highlight while evaluating 'statusline' may + not change the status line color. +Solution: When changing highlighting while redrawing don't cause another + redraw. (suggested by Ozaki Kiichi, closes #2171, closes #2120) +Files: src/buffer.c, src/syntax.c + +Patch 8.0.1165 +Problem: Popup test is still flaky. +Solution: Add a term_wait() call. (Ozaki Kiichi) +Files: src/testdir/test_popup.vim + +Patch 8.0.1166 +Problem: :terminal doesn't work on Mac High Sierra. +Solution: Change #ifdef for OpenPTY(). (Ozaki Kiichi, Kazunobu Kuriyama, + closes #2162) +Files: src/pty.c + +Patch 8.0.1167 +Problem: Motif: typing in terminal window is slow. +Solution: Do not redraw the whole terminal window but only what was changed. +Files: src/terminal.c + +Patch 8.0.1168 +Problem: wrong highlighting with combination of match and 'cursorline'. +Solution: Use "line_attr" when appropriate. (Ozaki Kiichi, closes #2111) + But don't highlight more than one character. +Files: src/screen.c, src/testdir/test_highlight.vim, + src/testdir/view_util.vim + +Patch 8.0.1169 +Problem: Highlighting one char too many with 'list' and 'cul'. +Solution: Check for 'list' being active. (Ozaki Kiichi, closes #2177) +Files: src/screen.c, src/testdir/test_highlight.vim + +Patch 8.0.1170 +Problem: Using termdebug results in 100% CPU time. (tomleb) +Solution: Use polling instead of select(). +Files: src/os_unix.c, src/channel.c, src/proto/channel.pro + +Patch 8.0.1171 +Problem: Popup test is still a bit flaky. +Solution: Change term_wait() calls. (Ozaki Kiichi) +Files: src/testdir/test_popup.vim + +Patch 8.0.1172 +Problem: When E734 is given option is still set. +Solution: Assign NULL to "s". (Christian Brabandt) +Files: src/eval.c, src/testdir/test_assign.vim + +Patch 8.0.1173 +Problem: Terminal window is not redrawn after CTRL-L. (Marcin Szamotulski) +Solution: Redraw the whole terminal when w_redr_type is NOT_VALID. +Files: src/terminal.c + +Patch 8.0.1174 +Problem: Mac Terminal.app has wrong color for white. +Solution: Use white from the color cube. +Files: src/globals.h, src/term.c, src/syntax.c + +Patch 8.0.1175 (after 8.0.1174) +Problem: Build failure without +termresponse. +Solution: Add #ifdef. +Files: src/syntax.c + +Patch 8.0.1176 +Problem: Job_start() does not handle quote and backslash correctly. +Solution: Remove quotes, recognize and remove backslashes. +Files: src/testdir/test_channel.vim, src/os_unix.c + +Patch 8.0.1177 +Problem: In a terminal window the popup menu is not cleared. (Gerry + Agbobada) +Solution: Redraw when SOME_VALID is used instead of NOT_VALID. (closes + #2194) +Files: src/terminal.c + +Patch 8.0.1178 +Problem: Using old compiler on MS-Windows. +Solution: Switch default build on MS-Windows to use MSVC 2015. (Ken Takata) +Files: src/msvc2015.bat, src/INSTALLpc.txt, src/GvimExt/Makefile, + src/Make_mvc.mak, src/tee/Make_mvc.mak, src/xxd/Make_mvc.mak + +Patch 8.0.1179 +Problem: Test_popup_and_window_resize() does not always pass. +Solution: Do not use $VIMPROG, pass the Vim executable in the vimcmd file. + (Ozaki Kiichi, closes #2186) +Files: src/testdir/Makefile, src/testdir/shared.vim, + src/testdir/test_popup.vim + +Patch 8.0.1180 +Problem: MS-Windows testclean target deletes the color script. +Solution: Rename the script file. +Files: src/testdir/xterm_ramp.vim, src/testdir/color_ramp.vim + +Patch 8.0.1181 +Problem: Tests using Vim command fail on MS-Windows. +Solution: Do not add quotes around the Vim command. +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak + +Patch 8.0.1182 +Problem: Cannot see or change mzscheme dll name. +Solution: Add 'mzschemedll' and 'mzschemegcdll'. +Files: src/if_mzsch.c, src/option.h, src/option.c, + runtime/doc/if_mzsch.txt + +Patch 8.0.1183 +Problem: MS-Windows build instructions are outdated. +Solution: Update instructions for MSVC 2015. Update the build script. +Files: Filelist, Makefile, src/INSTALLpc.txt, src/bigvim.bat + +Patch 8.0.1184 +Problem: The :marks command is not tested. +Solution: Add a test. (Dominique Pelle, closes #2197) +Files: src/testdir/test_marks.vim + +Patch 8.0.1185 +Problem: Ruby library includes minor version number. +Solution: Only use the API version number. (Ben Boeckel, closes #2199) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1186 +Problem: Still quite a few old style tests. +Solution: Convert old to new style tests. (Yegappan Lakshmanan) + Avoid ringing the bell while running tests. +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/main.aap, + src/testdir/test31.in, src/testdir/test31.ok, + src/testdir/test4.in, src/testdir/test4.ok, src/testdir/test5.in, + src/testdir/test5.ok, src/testdir/test60.in, + src/testdir/test60.ok, src/testdir/test60.vim, + src/testdir/test7.in, src/testdir/test7.ok, src/testdir/test78.in, + src/testdir/test78.ok, src/testdir/test_autocmd.vim, + src/testdir/test_exists.vim, src/testdir/test_recover.vim, + src/testdir/test_winbuf_close.vim, src/testdir/runtest.vim + +Patch 8.0.1187 +Problem: Building with lua fails for OSX on Travis. +Solution: Separate brew-update and brew-install. (Ozaki Kiichi, closes #2203) +Files: .travis.yml + +Patch 8.0.1188 +Problem: Autocmd test fails on MS-Windows. +Solution: Give the buffer a name and find the buffer to be wiped out by + name. +Files: src/testdir/test_autocmd.vim + +Patch 8.0.1189 +Problem: E172 is not actually useful, it's only on Unix anyway. +Solution: Remove the check and the error. +Files: src/ex_docmd.c, runtime/doc/message.txt + +Patch 8.0.1190 +Problem: Vim becomes unusable after opening new window in BufWritePre + event. +Solution: Call not_exiting(). (Martin Tournoij, closes #2205) + Also for "2q" when a help window is open. Add a test. +Files: src/ex_docmd.c, src/testdir/test_writefile.vim + +Patch 8.0.1191 +Problem: MS-Windows: missing 32 and 64 bit files in installer. +Solution: Include both 32 and 64 bit GvimExt and related dll files. Remove + old Windows code from the installer. (Ken Takata, closes #2144) +Files: nsis/README.txt, nsis/gvim.nsi, src/GvimExt/gvimext.cpp, + src/dosinst.c, src/dosinst.h, src/uninstal.c, Makefile + +Patch 8.0.1192 +Problem: MS-Windows: terminal feature not enabled by default. +Solution: Enable it. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.0.1193 +Problem: Crash when wiping out a buffer after using getbufinfo(). + (Yegappan Lakshmanan) +Solution: Remove b:changedtick from the buffer variables. +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 8.0.1194 +Problem: Actual fg and bg colors of terminal are unknown. +Solution: Add t_RF. Store response to t_RB and t_RF, use for terminal. +Files: src/term.c, src/term.h, src/proto/term.pro, src/terminal.c, + src/vim.h, src/eval.c, runtime/doc/eval.txt + +Patch 8.0.1195 (after 8.0.1194) +Problem: Can't build on MS-Windows. +Solution: Adjust #ifdef and add #ifdefs. +Files: src/term.c, src/terminal.c + +Patch 8.0.1196 (after 8.0.1194) +Problem: Crash when t_RF is not set. (Brian Pina) +Solution: Add t_RF to the list of terminal options. (Hirohito Higashi) +Files: src/option.c + +Patch 8.0.1197 +Problem: MS-Windows build instructions are not up to date. +Solution: Adjust the instructions. Fix the nsis script. +Files: Makefile, nsis/gvim.nsi + +Patch 8.0.1198 +Problem: Older compilers don't know uint8_t. +Solution: Use char_u instead. +Files: src/term.c, src/proto/term.pro + +Patch 8.0.1199 +Problem: When 'clipboard' is "autoselectplus" the star register is also + set. (Gilles Moris) +Solution: Don't set the star register in this situation. +Files: src/ops.c + +Patch 8.0.1200 +Problem: Tests switch the bell off twice. +Solution: Don't set 'belloff' in individual tests. (Christian Brabandt) +Files: src/testdir/test_alot.vim, src/testdir/test_alot_utf8.vim, + src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim, + src/testdir/test_diffmode.vim, src/testdir/test_digraph.vim, + src/testdir/test_edit.vim, src/testdir/test_file_size.vim, + src/testdir/test_gn.vim, src/testdir/test_normal.vim, + src/testdir/test_packadd.vim, src/testdir/test_popup.vim, + src/testdir/test_recover.vim, src/testdir/test_search.vim, + src/testdir/test_textobjects.vim, src/testdir/test_undo.vim, + src/testdir/test_usercommands.vim, src/testdir/test_visual.vim + +Patch 8.0.1201 +Problem: "yL" is affected by 'scrolloff'. (Eli the Bearded) +Solution: Don't use 'scrolloff' when an operator is pending. +Files: src/normal.c, runtime/doc/motion.txt + +Patch 8.0.1202 +Problem: :wall gives an error for a terminal window. (Marius Gedminas) +Solution: Don't try writing a buffer that can't be written. (Yasuhiro + Matsumoto, closes #2190) +Files: src/ex_cmds.c, src/testdir/test_terminal.vim + +Patch 8.0.1203 +Problem: Terminal window mistreats composing characters. +Solution: Count composing characters with the base character. (Ozaki Kiichi, + closes #2195) +Files: src/mbyte.c, src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1204 +Problem: A QuitPre autocommand may get the wrong file name. +Solution: Pass the buffer being closed to apply_autocmds(). (Rich Howe) +Files: src/ex_docmd.c, src/testdir/test_autocmd.vim + +Patch 8.0.1205 +Problem: Using "1q" it is possible to unload a changed buffer. (Rick Howe) +Solution: Check the right window for changes. +Files: src/testdir/test_edit.vim, src/ex_docmd.c + +Patch 8.0.1206 +Problem: No autocmd for entering or leaving the command line. +Solution: Add CmdlineEnter and CmdlineLeave. +Files: runtime/doc/autocmd.txt, src/ex_getln.c, src/fileio.c, src/vim.h, + src/testdir/test_autocmd.vim + +Patch 8.0.1207 +Problem: Profiling skips the first and last script line. +Solution: Check for BOM after setting script ID. (LemonBoy, closes #2103, + closes #2112) Add a test. List the trailing script lines. +Files: src/testdir/test_profile.vim, src/ex_cmds2.c + +Patch 8.0.1208 +Problem: 'statusline' drops empty group with highlight change. +Solution: Do not drop an empty group if it changes highlighting. (Marius + Gedminas, closes #2228) +Files: src/buffer.c, src/testdir/test_statusline.vim + +Patch 8.0.1209 +Problem: Still too many old style tests. +Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, + closes #2230) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Makefile, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test34.in, + src/testdir/test34.ok, src/testdir/test54.in, + src/testdir/test54.ok, src/testdir/test8.in, src/testdir/test8.ok, + src/testdir/test_autocmd.vim, src/testdir/test_autoformat_join.in, + src/testdir/test_autoformat_join.ok, src/testdir/test_join.vim, + src/testdir/test_user_func.vim + +Patch 8.0.1210 +Problem: When typing a search pattern CTRL-G and CTRL-T are ignored when + there is typeahead. +Solution: Don't pass SEARCH_PEEK and don't call char_avail(). (haya14busa, + closes #2233) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.0.1211 +Problem: Cannot reorder tab pages with drag & drop. +Solution: Support drag & drop for GTK and MS-Windows. (Ken Takata, Masamichi + Abe) +Files: src/gui_gtk_x11.c, src/gui_w32.c + +Patch 8.0.1212 +Problem: MS-Windows: tear-off menu does not work on 64 bit. (shaggyaxe) +Solution: Change how the menu handle is looked up. (Ken Takata, closes + #1205) +Files: src/gui_w32.c + +Patch 8.0.1213 +Problem: Setting 'mzschemedll' has no effect. +Solution: Move loading .vimrc to before call to mzscheme_main(). +Files: src/main.c + +Patch 8.0.1214 +Problem: Accessing freed memory when EXITFREE is set and there is more than + one tab and window. (Dominique Pelle) +Solution: Free options later. Skip redraw when exiting. +Files: src/screen.c, src/misc2.c + +Patch 8.0.1215 +Problem: Newer gcc warns for implicit fallthrough. +Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) +Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_docmd.c, + src/ex_getln.c, src/main.c, src/message.c, src/normal.c, + src/regexp.c, src/regexp_nfa.c, src/spell.c, src/window.c, + src/if_perl.xs + +Patch 8.0.1216 +Problem: Tabline is not always updated for :file command. (Norio Takagi) +Solution: Set redraw_tabline. (Hirohito Higashi) +Files: src/ex_cmds.c + +Patch 8.0.1217 +Problem: Can't use remote eval to inspect vars in debug mode. +Solution: Don't discard the call stack in debug mode. (closes #2237, #2247) +Files: src/globals.h, src/ex_cmds2.c, src/main.c + +Patch 8.0.1218 +Problem: Writing to freed memory in autocmd. +Solution: Make a copy of the tag line. (Dominique Pelle, closes #2245) +Files: src/tag.c, src/testdir/test_autocmd.vim + +Patch 8.0.1219 +Problem: Terminal test is flaky. +Solution: Add test function to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1220 +Problem: Skipping empty statusline groups is not correct. +Solution: Also set group_end_userhl. (itchyny) +Files: src/buffer.c, src/testdir/test_statusline.vim + +Patch 8.0.1221 +Problem: Still too many old style tests. +Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, + closes #2256) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test19.in, + src/testdir/test19.ok, src/testdir/test20.in, + src/testdir/test20.ok, src/testdir/test25.in, + src/testdir/test25.ok, src/testdir/test28.in, + src/testdir/test28.ok, src/testdir/test32.in, + src/testdir/test32.ok, src/testdir/test38.in, + src/testdir/test38.ok, src/testdir/test66.in, + src/testdir/test66.ok, src/testdir/test79.in, + src/testdir/test79.ok, src/testdir/test_ins_complete.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_substitute.vim, + src/testdir/test_tab.vim, src/testdir/test_tagjump.vim, + src/testdir/test_undo.vim, src/testdir/test_visual.vim, + src/testdir/test79.ok, src/testdir/test79.in, + src/testdir/test28.in + +Patch 8.0.1222 +Problem: Test functions interfere with each other. +Solution: Cleanup tab pages, windows and buffers. Reset option. +Files: src/testdir/runtest.vim, src/testdir/test_filetype.vim, + src/testdir/test_tabpage.vim, src/testdir/test_lispwords.vim + +Patch 8.0.1223 +Problem: Crash when using autocomplete and tab pages. +Solution: Check if the current tab changed. (Christian Brabandt, closes + #2239) +Files: src/popupmnu.c, src/testdir/test_popup.vim, src/misc1.c, + +Patch 8.0.1224 +Problem: Still interference between test functions. +Solution: Clear autocommands. Wipe all buffers. Fix tests that depend on a + specific start context. +Files: src/testdir/runtest.vim, src/testdir/test_autocmd.vim, + src/testdir/test_arglist.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_command_count.vim, src/testdir/test_quickfix.vim, + src/testdir/test_hardcopy.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_packadd.vim, src/testdir/test_signs.vim, + src/testdir/test_autochdir.vim + +Patch 8.0.1225 +Problem: No check for spell region being zero. (geeknik) +Solution: Check for zero. (closes #2252) +Files: src/spellfile.c, src/testdir/test_spell.vim + +Patch 8.0.1226 +Problem: Edit and popup tests failing. +Solution: Make the tests pass. +Files: src/testdir/test_edit.vim, src/testdir/test_popup.vim + +Patch 8.0.1227 +Problem: Undefined left shift in readfile(). (Brian 'geeknik' Carpenter) +Solution: Add cast to unsigned. (Dominique Pelle, closes #2253) +Files: src/fileio.c + +Patch 8.0.1228 +Problem: Invalid memory access in GUI test. +Solution: Check that the row is not outside of the screen. +Files: src/screen.c + +Patch 8.0.1229 +Problem: Condition in vim_str2nr() is always true. (Nikolai Pavlov) +Solution: Remove the condition. (Closes #2259) +Files: src/charset.c + +Patch 8.0.1230 +Problem: CTRL-A in Visual mode uses character after selection. (Nikolai + Pavlov) +Solution: Check the length before using a character. +Files: src/charset.c + +Patch 8.0.1231 +Problem: Expanding file name drops dash. (stucki) +Solution: Use the right position. (Christian Brabandt, closes #2184) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.0.1232 +Problem: MS-Windows users are confused about default mappings. +Solution: Don't map keys in the console where they don't work. Add a choice + in the installer to use MS-Windows key bindings or not. (Christian + Brabandt, Ken Takata, closes #2093) +Files: Filelist, nsis/gvim.nsi, nsis/vimrc.ini, src/dosinst.c, + runtime/mswin.vim + +Patch 8.0.1233 +Problem: Typo in dos installer. +Solution: Remove comma. +Files: src/dosinst.c + +Patch 8.0.1234 +Problem: MS-Windows: composing characters are not shown properly. +Solution: Pass base character and composing characters to the renderer at + once. (Ken Takata, closes #2206) +Files: src/gui.c, src/gui_w32.c + +Patch 8.0.1235 +Problem: Cannot disable the terminal feature in a huge build. (lindhobe) +Solution: Adjust the autoconf check. (Kazunobu Kuriyama, closes #2242) +Files: src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.0.1236 +Problem: Mac features are confusing. +Solution: Make feature names more consistent, add "osxdarwin". Rename + feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178) + Also includes a fix for when Ruby throws an exception inside + :rubyfile. (ujihisa) +Files: runtime/doc/eval.txt, runtime/doc/os_mac.txt, src/auto/configure, + src/config.h.in, src/configure.ac, src/digraph.c, src/edit.c, + src/evalfunc.c, src/feature.h, src/fileio.c, src/getchar.c, + src/globals.h, src/gui.c, src/gui_mac.c, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/keymap.h, src/macros.h, + src/main.c, src/mbyte.c, src/message.c, src/misc1.c, src/misc2.c, + src/option.c, src/os_mac.h, src/os_macosx.m, src/os_unix.c, + src/proto.h, src/pty.c, src/structs.h, src/term.c, src/termlib.c, + src/ui.c, src/undo.c, src/version.c, src/vim.h, src/window.c + +Patch 8.0.1237 +Problem: ":set scroll&" often gives an error. +Solution: Don't use a fixed default value, use half the window height. Add a + test. (Ozaki Kiichi, closes #2104) +Files: src/Makefile, src/option.c, src/testdir/test_alot.vim, + src/testdir/test_scroll_opt.vim + +Patch 8.0.1238 +Problem: Incremental search only shows one match. +Solution: When 'incsearch' and 'hlsearch' are both set highlight all + matches. (haya14busa, itchyny, closes #2198) +Files: runtime/doc/options.txt, src/ex_getln.c, src/proto/search.pro, + src/search.c, src/testdir/test_search.vim + +Patch 8.0.1239 +Problem: Cannot use a lambda for the skip argument to searchpair(). +Solution: Evaluate a partial, funcref and lambda. (LemonBoy, closes #1454, + closes #2265) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/evalfunc.pro, + src/eval.c, src/proto/eval.pro, src/search.c, + src/testdir/test_search.vim + +Patch 8.0.1240 +Problem: MS-Windows: term_start() does not support environment. +Solution: Implement the environment argument. (Yasuhiro Matsumoto, closes + #2264) +Files: src/os_win32.c, src/proto/os_win32.pro, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.0.1241 +Problem: Popup test is flaky. (James McCoy) +Solution: Increase the wait time. (Dominique Pelle) +Files: src/testdir/test_popup.vim + +Patch 8.0.1242 +Problem: Function argument with only dash is seen as number zero. (Wang + Shidong) +Solution: See a dash as a string. (Christian Brabandt) +Files: src/testdir/test_ins_complete.vim, src/Makefile, src/eval.c + +Patch 8.0.1243 +Problem: No test for what 8.0.1227 fixes. +Solution: Add a test that triggers the problem. (Christian Brabandt) +Files: src/testdir/test_normal.vim, src/testdir/test_search.vim + +Patch 8.0.1244 +Problem: Search test does not work correctly on MS-Windows. +Solution: Put text in a file instead of sending it to the terminal. + (Christian Brabandt) +Files: src/testdir/test_search.vim + +Patch 8.0.1245 +Problem: When WaitFor() has a wrong expression it just waits a second, + which goes unnoticed. (James McCoy) +Solution: When WaitFor() times out throw an exception. Fix places where the + expression was wrong. +Files: src/testdir/shared.vim, src/testdir/test_channel.vim, + src/testdir/test_netbeans.vim, src/testdir/test_terminal.vim + +Patch 8.0.1246 +Problem: Popup test has an arbitrary delay. +Solution: Wait for the ruler to show. (James McCoy) +Files: src/testdir/test_popup.vim + +Patch 8.0.1247 +Problem: Not easy to find Debian build info. +Solution: Add a badge in the README file. (Dominique Pelle) +Files: README.md + +Patch 8.0.1248 (after 8.0.1247) +Problem: Stray + in README file. +Solution: Remove the +. Add a line break. +Files: README.md + +Patch 8.0.1249 +Problem: No error when WaitFor() gets an invalid wrong expression. +Solution: Do not ignore errors in evaluation of the expression. Fix places + where the expression was wrong. +Files: src/testdir/shared.vim, src/testdir/test_netbeans.vim + +Patch 8.0.1250 +Problem: 'hlsearch' highlighting not removed after incsearch (lacygoill) +Solution: Redraw all windows. Start search at the end of the match. Improve + how CTRL-G works with incremental search. Add tests. (Christian + Brabandt, Hirohito Higashi, haya14busa, closes #2267) +Files: runtime/doc/options.txt, src/ex_getln.c, + src/testdir/test_search.vim + +Patch 8.0.1251 (after 8.0.1249) +Problem: Invalid expression passed to WaitFor(). +Solution: Check if the variable exists. +Files: src/testdir/test_clientserver.vim + +Patch 8.0.1252 +Problem: Incomplete translations makefile for MinGW/Cygwin. +Solution: Add missing source files. Make it work with msys2's bash. (Ken + Takata) +Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak + +Patch 8.0.1253 +Problem: Still too many old style tests. +Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, + closes #2272) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test12.in, + src/testdir/test12.ok, src/testdir/test40.in, + src/testdir/test40.ok, src/testdir/test45.in, + src/testdir/test45.ok, src/testdir/test83.in, + src/testdir/test83.ok, src/testdir/test_autocmd.vim, + src/testdir/test_fold.vim, src/testdir/test_swap.vim, + src/testdir/test_tagjump.vim + +Patch 8.0.1254 +Problem: Undefined left shift in gethexchrs(). (geeknik) +Solution: Use unsigned long. (idea by Christian Brabandt, closes #2255) +Files: src/regexp.c, src/regexp_nfa.c + + +Patch 8.0.1255 (after 8.0.1248) +Problem: duplicate badge README file. +Solution: Remove one. (Dominique Pelle) +Files: README.md + +Patch 8.0.1256 +Problem: Typo in configure variable vim_cv_tgent. (Matthieu Guillard) +Solution: Rename the variable. (closes #2281) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1257 (after 8.0.1254) +Problem: No test for fix of undefined behavior. +Solution: Add a test. (closes #2255) +Files: src/testdir/test_search.vim + +Patch 8.0.1258 +Problem: 'ttymouse' is set to "sgr" even though it's not supported. (Gary + Johnson) +Solution: Adjust #ifdef +Files: src/term.c + +Patch 8.0.1259 +Problem: Search test can be flaky. +Solution: Use WaitFor() instead of a delay. Make it possible to pass a + funcref to WaitFor() to avoid the need for global variables. + (James McCoy, closes #2282) +Files: src/testdir/shared.vim, src/testdir/test_search.vim + +Patch 8.0.1260 (after 8.0.1259) +Problem: Using global variables for WaitFor(). +Solution: Use a lambda function instead. Don't check a condition if + WaitFor() already checked it. +Files: src/testdir/test_popup.vim, src/testdir/test_terminal.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_job_fails.vim, src/testdir/test_quotestar.vim + +Patch 8.0.1261 +Problem: Program in terminal window gets NL instead of CR. (Lifepillar) +Solution: Check the tty setup more often. (closes #1998) +Files: src/terminal.c + +Patch 8.0.1262 +Problem: Terminal redir test is flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1263 +Problem: Others can read the swap file if a user is careless with his + primary group. +Solution: If the group permission allows for reading but the world + permissions doesn't, make sure the group is right. +Files: src/fileio.c, src/testdir/test_swap.vim, src/Makefile + +Patch 8.0.1264 +Problem: Terminal debugger gets stuck in small window. +Solution: Add "-quiet" to the gdb command. (Christian Brabandt, closes #2154) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1265 (after 8.0.1263) +Problem: Swap test not skipped when there is one group. +Solution: Convert list to string for the message. +Files: src/testdir/test_swap.vim + +Patch 8.0.1266 (after 8.0.1263) +Problem: Test_swap_directory was accidentally commented out. +Solution: Uncomment the test. +Files: src/testdir/test_swap.vim + +Patch 8.0.1267 (after 8.0.1263) +Problem: Test_swap_group may leave file behind. +Solution: Add a try/finally. +Files: src/testdir/test_swap.vim, src/testdir/test_undo.vim + +Patch 8.0.1268 +Problem: PC install instructions are incomplete. +Solution: Update the instructions. (Ken Takata) +Files: src/INSTALLpc.txt + +Patch 8.0.1269 +Problem: Effect of autocommands on marks is not tested. +Solution: Add a couple of tests. (James McCoy, closes #2271) +Files: src/testdir/test_autocmd.vim + +Patch 8.0.1270 +Problem: Mismatching file name with Filelist. +Solution: Rename color_ramp.vim to xterm_ramp.vim +Files: src/testdir/color_ramp.vim, src/testdir/xterm_ramp.vim + +Patch 8.0.1271 +Problem: Still too many old style tests. +Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, + closes #2290) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/sautest/autoload/footest.vim, src/testdir/test55.in, + src/testdir/test55.ok, src/testdir/test_changelist.in, + src/testdir/test_changelist.ok, src/testdir/test_fold.vim, + src/testdir/test_ins_complete.vim, + src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok, + src/testdir/test_listdict.vim, src/testdir/test_normal.vim, + src/testdir/test_search.vim, src/testdir/test_search_mbyte.in + +Patch 8.0.1272 +Problem: Warnings for unused variables in tiny build. +Solution: Add #ifdef. (Dominique Pelle, closes #2288) +Files: src/term.c + +Patch 8.0.1273 (after 8.0.1271) +Problem: Old test file remaining. +Solution: Delete it. +Files: src/testdir/test_search_mbyte.ok + +Patch 8.0.1274 +Problem: setbufline() fails when using folding. +Solution: Set "curwin" if needed. (Ozaki Kiichi, closes #2293) +Files: src/evalfunc.c, src/testdir/test_bufline.vim + +Patch 8.0.1275 +Problem: CmdlineLeave autocmd prevents fold from opening. (Waivek) +Solution: Save and restore KeyTyped. (closes #2305) +Files: src/fileio.c + +Patch 8.0.1276 +Problem: Typed key is lost when the terminal window is closed in exit + callback. (Gabriel Barta) +Solution: When the current window changes bail out of the wait loop. (closes + #2302) +Files: src/misc2.c, src/terminal.c + +Patch 8.0.1277 +Problem: Terminal window CR-NL conversions may cause problems. +Solution: Avoid most conversions, only fetch the current backspace key value + from the tty. (mostly by Ozaki Kiichi, closes #2278) +Files: src/terminal.c + +Patch 8.0.1278 +Problem: GUI window always resizes when adding/removing a scrollbar, + toolbar, etc. +Solution: Add the 'k' flag in 'guioptions' to keep the GUI window size and + change the number of lines/columns instead. (Ychin, closes #703) +Files: runtime/doc/options.txt, src/gui.c, src/gui_gtk_x11.c, + src/gui_w32.c, src/option.h + +Patch 8.0.1279 +Problem: Initializing menus can be slow, especially when there are many + keymaps, color schemes, etc. +Solution: Do the globbing for runtime files lazily. (Ken Takata) +Files: runtime/doc/gui.txt, runtime/menu.vim + +Patch 8.0.1280 +Problem: Python None cannot be converted to a Vim type. +Solution: Convert it to v:none. (Ken Takata) +Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok, + runtime/doc/if_pyth.txt + +Patch 8.0.1281 +Problem: Loading file type detection slows down startup. +Solution: Move functions to an autoload script. +Files: runtime/filetype.vim, runtime/autoload/filetype.vim, + runtime/scripts.vim + +Patch 8.0.1282 (after 8.0.1281) +Problem: script-local variable defined in the wrong script +Solution: Move variable to autoload/filetype.vim. +Files: runtime/filetype.vim, runtime/autoload/filetype.vim + +Patch 8.0.1283 +Problem: Test 86 fails under ASAN. +Solution: Fix that an item was added to a dictionary twice. +Files: src/if_py_both.h + +Patch 8.0.1284 +Problem: Loading file type detection slows down startup. +Solution: Store the last pattern of an autocommand event to make appending + quicker. +Files: src/fileio.c + +Patch 8.0.1285 +Problem: Distributed autoload files may clash with user files. (Andy + Wokula) +Solution: Use the "autoload/dist" directory. +Files: runtime/filetype.vim, runtime/autoload/filetype.vim, + runtime/autoload/dist/ft.vim, runtime/scripts.vim, Filelist, + src/Makefile, nsis/gvim.nsi + +Patch 8.0.1286 +Problem: Occasional crash when using a channel. (Marek) +Solution: Decrement reference count later. (closes #2315) +Files: src/channel.c + +Patch 8.0.1287 +Problem: The temp file used when updating the viminfo file may have the + wrong permissions if setting the group fails. +Solution: Check if the group matches and reduce permissions if not. +Files: src/ex_cmds.c + +Patch 8.0.1288 +Problem: GUI: cannot drag the statusline of a terminal window. +Solution: Handle the TERMINAL state. (Hirohito Higashi) +Files: src/gui.c + +Patch 8.0.1289 +Problem: Mkview always includes the local directory. +Solution: Add the "curdir" value in 'viewoptions'. (Eric Roberts, closes + #2316) +Files: runtime/doc/options.txt, runtime/doc/starting.txt, src/ex_docmd.c, + src/option.c + +Patch 8.0.1290 +Problem: seq_cur of undotree() wrong after undo. +Solution: Get the actual sequence number instead of decrementing the current + one. (Ozaki Kiichi, closes #2319) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.0.1291 +Problem: C indent wrong when * immediately follows comment. (John Bowler) +Solution: Do not see "/*" after "*" as a comment start. (closes #2321) +Files: src/search.c, src/testdir/test3.in, src/testdir/test3.ok + +Patch 8.0.1292 +Problem: Quick clicks in the WinBar start Visual mode. +Solution: Use a double click in the WinBar like a normal click. +Files: src/ui.c + +Patch 8.0.1293 +Problem: Setting a breakpoint in the terminal debugger sometimes fails. +Solution: Interrupt the program if needed. Set the interface to async. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1294 +Problem: GUI: get stuck when splitting a terminal window. +Solution: Stop blinking when values become zero. (Hirohito Higashi) +Files: src/gui.c + +Patch 8.0.1295 +Problem: Cannot automatically get a server name in a terminal. +Solution: Add the --enable-autoservername flag to configure. (Cimbali, + closes #2317) +Files: runtime/doc/eval.txt, runtime/doc/various.txt, src/config.h.in, + src/configure.ac, src/auto/configure, src/evalfunc.c, + src/feature.h, src/main.c, src/version.c, src/Makefile + +Patch 8.0.1296 (after 8.0.1294) +Problem: Checking the same condition twice. (John Marriott) +Solution: Check blinkwait. +Files: src/gui.c + +Patch 8.0.1297 +Problem: +autoservername does not show enabled on MS-Windows. +Solution: Always define the flag on MS-Windows. (Ken Takata) +Files: src/feature.h + +Patch 8.0.1298 +Problem: Missing test file. +Solution: Add samples/test000. (Christian Brabandt) +Files: src/testdir/samples/test000, Filelist + +Patch 8.0.1299 +Problem: Bracketed paste does not work well in terminal window. +Solution: Send translated string to job right away. (Ozaki Kiichi, closes + #2341) +Files: src/terminal.c + +Patch 8.0.1300 +Problem: File permissions may end up wrong when writing. +Solution: Use fchmod() instead of chmod() when possible. Don't truncate + until we know we can change the file. +Files: src/os_unix.c, src/proto/os_unix.pro, src/configure.ac, + src/auto/configure, src/config.h.in, src/fileio.c + +Patch 8.0.1301 +Problem: Generated license file for NSIS has a modeline. +Solution: Adjust the pattern for sed. (Ken Takata) +Files: runtime/doc/Makefile + +Patch 8.0.1302 +Problem: Still too many old style tests. +Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, + closes #2326) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/runtest.vim, + src/testdir/test68.in, src/testdir/test68.ok, + src/testdir/test73.in, src/testdir/test73.ok, + src/testdir/test_close_count.in, src/testdir/test_close_count.ok, + src/testdir/test_close_count.vim, + src/testdir/test_erasebackword.in, + src/testdir/test_erasebackword.ok, + src/testdir/test_erasebackword.vim, + src/testdir/test_find_complete.vim, src/testdir/test_fixeol.in, + src/testdir/test_fixeol.ok, src/testdir/test_fixeol.vim, + src/testdir/test_listchars.in, src/testdir/test_listchars.ok, + src/testdir/test_listchars.vim, src/testdir/test_textformat.vim + +Patch 8.0.1303 +Problem: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2. +Solution: Recognize Iterm2 by the termresponse. +Files: src/term.c + +Patch 8.0.1304 +Problem: CTRL-G/CTRL-T don't work with incsearch and empty pattern. +Solution: Use the last search pattern. (Christian Brabandt, closes #2292) +Files: src/ex_getln.c, src/proto/search.pro, src/search.c, + src/testdir/test_search.vim + +Patch 8.0.1305 +Problem: Writefile() never calls fsync(). +Solution: Follow the 'fsync' option with override to enable or disable. +Files: src/fileio.c, src/evalfunc.c, runtime/doc/eval.txt, src/globals.h, + src/testdir/test_writefile.vim + +Patch 8.0.1306 +Problem: ASAN error stack trace is not useful. +Solution: Add "asan_symbolize". (James McCoy, closes #2344) +Files: .travis.yml + +Patch 8.0.1307 (after 8.0.1300) +Problem: Compiler warning for ignoring return value of ftruncate(). (Tony + Mechelynck) +Solution: Assign returned value to "ignore". +Files: src/fileio.c + +Patch 8.0.1308 +Problem: The "Reading from stdin" message may be undesired and there is no + easy way to skip it. +Solution: Don't show the message with --not-a-term was used. +Files: src/fileio.c + +Patch 8.0.1309 +Problem: Cannot use 'balloonexpr' in a terminal. +Solution: Add 'balloonevalterm' and add code to handle mouse movements in a + terminal. Initial implementation for Unix with GUI. +Files: src/option.c, src/option.h, src/os_unix.c, src/proto/os_unix.pro, + src/feature.h, src/misc2.c, src/keymap.h, src/edit.c, + src/ex_getln.c, src/message.c, src/misc1.c, src/normal.c, + src/terminal.c, src/getchar.c, src/ex_cmds2.c, src/gui_beval.c, + src/proto/gui_beval.pro, src/evalfunc.c, src/popupmnu.c, + src/proto/popupmnu.pro, src/version.c, src/globals.h, src/gui.c, + runtime/doc/options.txt, src/term.c, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1310 +Problem: Cproto generates errors because of missing type. +Solution: Define _Float128 when generating prototypes. +Files: src/vim.h + +Patch 8.0.1311 +Problem: No test for strpart(). +Solution: Add a test. (Dominique Pelle, closes #2347) +Files: src/testdir/test_functions.vim + +Patch 8.0.1312 (after 8.0.1309) +Problem: balloon_show() only works in terminal when compiled with the GUI. +Solution: Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI + specific file. +Files: src/feature.h, src/evalfunc.c, src/gui.c, src/gui_athena.c, + src/gui_beval.c, src/proto/gui_beval.pro, src/beval.c, + src/proto/beval.pro, src/gui_motif.c, src/gui_w32.c, + src/gui_x11.c, src/integration.c, src/workshop.c, src/menu.c, + src/netbeans.c, src/option.c, src/os_unix.c, src/os_win32.c, + src/syntax.c, src/version.c, src/gui.h, src/gui_beval.h, + src/vim.h, src/beval.h, src/option.h, src/ex_cmds2.c, src/ui.c, + src/getchar.c, src/normal.c, src/popupmnu.c, src/globals.h, + src/Makefile, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Make_vms.mms, Filelist + +Patch 8.0.1313 (after 8.0.1312) +Problem: Missing dependencies cause parallel make to fail. +Solution: Update dependencies. +Files: src/Makefile + +Patch 8.0.1314 (after 8.0.1312) +Problem: Build fails on Mac. (chdiza) +Solution: Add #ifdef around GUI fields. +Files: src/beval.h + +Patch 8.0.1315 (after 8.0.1312) +Problem: Build still fails on Mac. (chdiza) +Solution: Remove bogus typedef. +Files: src/os_macosx.m + +Patch 8.0.1316 (after 8.0.1312) +Problem: Build still still fails on Mac. (chdiza) +Solution: Remove another bogus typedef. +Files: src/os_mac_conv.c + +Patch 8.0.1317 +Problem: Accessing freed memory in term_wait(). (Dominique Pelle) +Solution: Check that the buffer still exists. +Files: src/terminal.c + +Patch 8.0.1318 +Problem: Terminal balloon only shows one line. +Solution: Split into several lines in a clever way. Add balloon_split(). + Make balloon_show() accept a list in the terminal. +Files: src/popupmnu.c, src/proto/popupmnu.pro, src/evalfunc.c, + src/beval.c, src/proto/beval.pro, src/testdir/test_popup.vim, + runtime/doc/eval.txt, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1319 +Problem: Can't build GUI on MS-Windows. +Solution: Don't define the balloon_split() function in a GUI-only build. +Files: src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.0.1320 +Problem: Popup test fails on GUI-only build. +Solution: Don't test balloon_split() when it's not available. +Files: src/testdir/test_popup.vim + +Patch 8.0.1321 +Problem: Can't build huge version with Athena. (Mark Kelly) +Solution: Move including beval.h to before structs.h. Include beval.pro like + other proto files. +Files: src/vim.h, src/beval.h, src/proto.h + +Patch 8.0.1322 +Problem: Textformat test isn't run. (Yegappan Lakshmanan) +Solution: Add target to the list of tests. +Files: src/testdir/Make_all.mak + +Patch 8.0.1323 +Problem: Mouse events in a terminal window may cause endless loop. +Solution: Adjust position computation. Don't stuff a mouse event when + coming from normal_cmd(). +Files: src/normal.c, src/terminal.c + +Patch 8.0.1324 +Problem: Some xterm sends different mouse move codes. +Solution: Also accept 0x80 as a move event. +Files: src/term.c + +Patch 8.0.1325 +Problem: More tests are not run. +Solution: Add targets to the list of tests. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak + +Patch 8.0.1326 +Problem: Largefile test fails on CI, glob test on MS-Windows. +Solution: Remove largefile test from list of all tests. Don't run + Test_glob() on non-unix systems. More cleanup. (Yegappan + Lakshmanan, closes #2354) +Files: src/testdir/Make_all.mak, src/testdir/test_escaped_glob.vim, + src/testdir/test_plus_arg_edit.vim + +Patch 8.0.1327 +Problem: New proto file missing from distribution. +Solution: Add it. (closes #2355) +Files: Filelist + +Patch 8.0.1328 +Problem: Trouble when using ":term ++close" with autocmd. (Gabriel Barta) +Solution: Use aucmd_prepbuf() and aucmd_restbuf() instead of setting curbuf. + (closes #2339) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1329 +Problem: When a flaky test fails it also often fails the second time. +Solution: Sleep a couple of seconds before the second try. +Files: src/testdir/runtest.vim + +Patch 8.0.1330 +Problem: MS-Windows: job in terminal can't get back to Vim. +Solution: set VIM_SERVERNAME in the environment. (Yasuhiro Matsumoto, closes + #2360) +Files: runtime/doc/terminal.txt, src/os_win32.c, src/proto/os_win32.pro, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1331 +Problem: Possible crash when window can be zero lines high. (Joseph + Dornisch) +Solution: Only set w_fraction if the window is at least two lines high. +Files: src/window.c + +Patch 8.0.1332 +Problem: Highlighting in quickfix window could be better. (Axel Bender) +Solution: Use the qfSeparator highlight item. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1333 +Problem: Some tests are run twice. +Solution: Invoked most utf8 tests only from test_alot_utf8. (Yegappan + Lakshmanan, closes #2369) +Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim, + src/testdir/test_mksession_utf8.vim + +Patch 8.0.1334 +Problem: Splitting a window with a WinBar damages window layout. + (Lifepillar) +Solution: Take the winbar into account when computing the new window + position. Add WINBAR_HEIGHT(). +Files: src/vim.h, src/window.c + +Patch 8.0.1335 +Problem: Writefile() using fsync() may give an error for a device. + (Yasuhiro Matsumoto) +Solution: Ignore fsync() failing. (closes #2373) +Files: src/evalfunc.c + +Patch 8.0.1336 +Problem: Cannot use imactivatefunc() unless compiled with +xim. +Solution: Allow using imactivatefunc() when not compiled with +xim. + (Yasuhiro Matsumoto, closes #2349) +Files: runtime/doc/options.txt, runtime/doc/mbyte.txt, src/mbyte.c, + src/option.c, src/option.h, src/structs.h, + src/testdir/test_iminsert.vim, src/Makefile, + src/testdir/Make_all.mak, src/vim.h + +Patch 8.0.1337 (after 8.0.1336) +Problem: Typo in #ifdef. +Solution: Fix the #if line. +Files: src/mbyte.c + +Patch 8.0.1338 (after 8.0.1337) +Problem: USE_IM_CONTROL is confusing and incomplete. +Solution: Just use FEAT_MBYTE. Call 'imactivatefunc' also without GUI. +Files: src/vim.h, src/edit.c, src/ex_getln.c, src/getchar.c, src/gui.c, + src/gui_mac.c, src/gui_w32.c, src/mbyte.c, src/normal.c, + src/option.c, src/ui.c, src/globals.h, src/option.h + +Patch 8.0.1339 +Problem: No test for what 8.0.1335 fixes. +Solution: Add a test. (Yasuhiro Matsumoto, closes #2373) +Files: src/testdir/test_writefile.vim + +Patch 8.0.1340 +Problem: MS-Windows: cannot build GUI without IME. +Solution: Define im_get_status() and im_set_active() when IME is not used. +Files: src/mbyte.c + +Patch 8.0.1341 +Problem: 'imactivatefunc' test fails on MS-Windows. +Solution: Skip the text. +Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt + +Patch 8.0.1342 +Problem: Cannot build with Motif and multi-byte. (Mohamed Boughaba) +Solution: Use the right input method status flag. (closes #2374) +Files: src/mbyte.c + +Patch 8.0.1343 +Problem: MS-Windows: does not show colored emojis. +Solution: Implement colored emojis. Improve drawing speed. Make 'taamode' + work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close #2375) +Files: appveyor.yml, runtime/doc/options.txt, src/gui_dwrite.cpp, + src/gui_dwrite.h, src/gui_w32.c, src/proto/gui_w32.pro + +Patch 8.0.1344 +Problem: Using 'imactivatefunc' in the GUI does not work. +Solution: Do not use 'imactivatefunc' and 'imstatusfunc' in the GUI. +Files: runtime/doc/options.txt, src/mbyte.c, + src/testdir/test_iminsert.vim + +Patch 8.0.1345 +Problem: Race condition between stat() and open() for the viminfo temp + file. (Simon Ruderich) +Solution: use open() with O_EXCL to atomically check if the file exists. + Don't try using a temp file, renaming it will fail anyway. +Files: src/ex_cmds.c + +Patch 8.0.1346 +Problem: Crash when passing 50 char string to balloon_split(). +Solution: Fix off-by-one error. +Files: src/testdir/test_popup.vim, src/popupmnu.c + +Patch 8.0.1347 +Problem: MS-Windows: build broken by misplaced curly. +Solution: Move curly after #endif. +Files: src/ex_cmds.c + +Patch 8.0.1348 +Problem: Make testclean deletes script file on MS-Windows. +Solution: Rename file to avoid it starting with an "x". +Files: src/testdir/xterm_ramp.vim, src/testdir/color_ramp.vim, Filelist + +Patch 8.0.1349 +Problem: Options test fails when using Motif or GTK GUI. +Solution: Use "fixed" instead of "fixedsys" for Unix. Don't try "xxx" for + guifonteset. Don't set 'termencoding' to anything but "utf-8" for + GTK. Give an error if 'termencoding' can't be converted. +Files: src/testdir/gen_opt_test.vim, src/option.c + +Patch 8.0.1350 +Problem: Cannot build with +eval and -multi_byte. +Solution: Adjust #ifdefs. (John Marriott) Always include the multi_byte + feature when an input method feature is enabled. +Files: src/mbyte.c, src/feature.h + +Patch 8.0.1351 +Problem: Warning for unused variables building with MinGW. +Solution: Change a few #ifdefs (suggested by John Marriott). Remove + superfluous checks of FEAT_MBYTE. +Files: src/gui_w32.c + +Patch 8.0.1352 +Problem: Dead URLs in the help go unnoticed. +Solution: Add a script to check URLs in the help files. (Christian Brabandt) +Files: runtime/doc/Makefile, runtime/doc/test_urls.vim, Filelist + +Patch 8.0.1353 +Problem: QuickFixCmdPost is not used consistently. +Solution: Invoke QuickFixCmdPost consistently after QuickFixCmdPre. + (Yegappan Lakshmanan, closes #2377) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1354 +Problem: Shift-Insert doesn't always work in MS-Windows console. +Solution: Handle K_NUL differently. (Yasuhiro Matsumoto, closes #2381) +Files: src/os_win32.c + +Patch 8.0.1355 (after 8.0.1354) +Problem: Cursor keys don't work in MS-Windows console. +Solution: Revert the previous patch. Also delete dead code. +Files: src/os_win32.c + +Patch 8.0.1356 +Problem: Using simalt in a GUIEnter autocommand inserts strange characters. + (Chih-Long Chang) +Solution: Ignore K_NOP in Insert mode. (closes #2379) +Files: src/edit.c, src/ex_getln.c + +Patch 8.0.1357 +Problem: Startup test fails on OpenBSD. (Edd Barrett) +Solution: Check for "BSD" instead of "FreeBSD" being defined. (James McCoy, + closes #2376, closes #2378) +Files: src/vim.h + +Patch 8.0.1358 +Problem: Undercurl is not used in the terminal. (Kovid Goyal) +Solution: Only fall back to underline when undercurl highlighting is not + defined. (closes #1306) +Files: src/screen.c + +Patch 8.0.1359 +Problem: Libvterm ANSI colors can not always be recognized from the RGB + values. The default color is wrong when t_RB is empty. +Solution: Add the ANSI color index to VTermColor. +Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c, + src/terminal.c + +Patch 8.0.1360 +Problem: The Terminal highlighting doesn't work in a terminal. (Ozaki + Kiichi) +Solution: Use the Terminal highlighting when the cterm index is zero. +Files: src/terminal.c + +Patch 8.0.1361 +Problem: Some users don't want to diff with hidden buffers. +Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394) +Files: runtime/doc/options.txt, src/buffer.c, src/diff.c, + src/proto/diff.pro, src/testdir/test_diffmode.vim + +Patch 8.0.1362 +Problem: Terminal window colors wrong when using Terminal highlighting. +Solution: Set ansi_index when setting the default color. Also cache the + color index for Terminal. (Ozaki Kiichi, closes #2393) +Files: src/libvterm/src/pen.c, src/proto/terminal.pro, src/syntax.c, + src/terminal.c + +Patch 8.0.1363 +Problem: Recovering does not work when swap file ends in .stz. +Solution: Check for all possible swap file names. (Elfling, closes #2395, + closes #2396) +Files: src/memline.c + +Patch 8.0.1364 +Problem: There is no easy way to get the window position. +Solution: Add win_screenpos(). +Files: src/evalfunc.c, src/testdir/test_window_cmd.vim, + runtime/doc/eval.txt + +Patch 8.0.1365 +Problem: When one channel test fails others fail as well. +Solution: Stop the job after a failure. Also add a couple of tests to the + list of flaky tests. +Files: src/testdir/test_channel.vim, src/testdir/runtest.vim + +Patch 8.0.1366 +Problem: Balloon shows when cursor is in WinBar. +Solution: Don't show the balloon when row is negative. +Files: src/beval.c + +Patch 8.0.1367 +Problem: terminal test hangs, executing abcde. (Stucki) +Solution: Rename abcde to abxde. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1368 +Problem: Cannot drag status line or vertical separator of new terminal + window. (UncleBill) +Solution: Adjust mouse row and column computation. (Yasuhiro Matsumoto, + closes #2410) +Files: src/terminal.c + +Patch 8.0.1369 +Problem: MS-Windows: drawing underline, curl and strikethrough is slow, + mFallbackDC not properly updated. +Solution: Several performance improvements. (Ken Takata, Taro Muraoka, + Yasuhiro Matsumoto, closes #2401) +Files: runtime/doc/options.txt, src/gui_dwrite.cpp, src/gui_dwrite.h, + src/gui_w32.c + +Patch 8.0.1370 +Problem: Channel test for callback is flaky. +Solution: Add the test to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1371 +Problem: Shift-Insert doesn't always work in MS-Windows console. +Solution: Handle K_NUL differently if the second character is more than one + byte. (Yasuhiro Matsumoto, closes #2381) +Files: src/os_win32.c + +Patch 8.0.1372 +Problem: Profile log may be truncated halfway a character. +Solution: Find the start of the character. (Ozaki Kiichi, closes #2385) +Files: src/ex_cmds2.c, src/testdir/test_profile.vim + +Patch 8.0.1373 +Problem: No error when setting 'renderoptions' to an invalid value before + starting the GUI. +Solution: Always check the value. (Ken Takata, closes #2413) +Files: src/gui_w32.c, src/option.c + +Patch 8.0.1374 +Problem: CTRL-A does not work with an empty line. (Alex) +Solution: Decrement the end only once. (Hirohito Higashi, closes #2387) +Files: src/ops.c, src/testdir/test_increment.vim + +Patch 8.0.1375 +Problem: Window size wrong after maximizing with WinBar. (Lifepillar) +Solution: Fix height computations. Redraw window when it is zero height but + has a WinBar. (closes #2356) +Files: src/window.c, src/screen.c, src/vim.h + +Patch 8.0.1376 +Problem: Cursor in terminal not always updated. +Solution: Call gui_mch_flush(). (Ken Takata) +Files: src/terminal.c + +Patch 8.0.1377 +Problem: Cannot call a dict function in autoloaded dict. +Solution: Call get_lval() passing the read-only flag. +Files: src/userfunc.c, src/eval.c, src/testdir/sautest/autoload/foo.vim, + src/testdir/sautest/autoload/globone.vim, + src/testdir/sautest/autoload/globtwo.vim, + src/testdir/test_escaped_glob.vim, src/Makefile, + src/testdir/test_autoload.vim, src/Makefile, + src/testdir/Make_all.mak + +Patch 8.0.1378 +Problem: Autoload script sources itself when defining function. +Solution: Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro + Matsumoto, closes #2423) +Files: src/userfunc.c, src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/sourced.vim + +Patch 8.0.1379 +Problem: Configure check for selinux does not check for header file. +Solution: Add an AC_CHECK_HEADER(). (Benny Siegert) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1380 +Problem: When recovering a file with "vim -r swapfile" the hit-enter prompt + is at the top of the window. +Solution: Invalidate the cursor position. +Files: src/term.c + +Patch 8.0.1381 +Problem: ch_readraw() waits for NL if channel mode is NL. +Solution: Pass a "raw" flag to channel_read_block(). (Yasuhiro Matsumoto) +Files: src/channel.c, src/proto/channel.pro, + src/testdir/test_channel.vim, src/testdir/test_channel_pipe.py + +Patch 8.0.1382 +Problem: Get "no write since last change" message if a terminal is open. + (Fritz mehner) +Solution: Don't consider a buffer changed if it's a terminal window. +Files: src/ex_cmds.c, src/undo.c, src/proto/undo.pro + +Patch 8.0.1383 +Problem: Local additions in help skips some files. (joshklod) +Solution: Check the base file name length equals. +Files: src/ex_cmds.c, src/testdir/test_help.vim + +Patch 8.0.1384 +Problem: Not enough quickfix help; confusing winid. +Solution: Add more examples in the help. When the quickfix window is not + present, return zero for getqflist() with 'winid'. Add more tests + for jumping to quickfix list entries. (Yegappan Lakshmanan, closes + #2427) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1385 +Problem: Python 3.5 is getting old. +Solution: Make Python 3.6 the default. (Ken Takata, closes #2429) +Files: runtime/doc/if_pyth.txt, src/INSTALLpc.txt, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/bigvim.bat + +Patch 8.0.1386 +Problem: Cannot select modified buffers with getbufinfo(). +Solution: Add the "bufmodified" flag. (Yegappan Lakshmanan, closes #2431) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim + +Patch 8.0.1387 +Problem: Wordcount test is old style. +Solution: Change into a new style test. (Yegappan Lakshmanan, closes #2434) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/test_wordcount.in, + src/testdir/test_wordcount.ok, src/testdir/test_wordcount.vim + +Patch 8.0.1388 +Problem: Char not overwritten with ambiguous width char, if the ambiguous + char is single width but we reserve double-width space. +Solution: First clear the screen cells. (Ozaki Kiichi, closes #2436) +Files: src/screen.c + +Patch 8.0.1389 +Problem: getqflist() items are missing if not set, that makes it more + difficult to handle the values. +Solution: When a value is not available return zero or another invalid + value. (Yegappan Lakshmanan, closes #2430) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1390 +Problem: DirectX scrolling can be slow, vertical positioning is off. +Solution: Make scroll slightly faster when using "scrlines:1". Fix y + position of displayed text. Fix DirectX with non-utf8 encoding. + (Ken Takata, closes #2440) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/gui_dwrite.cpp, src/gui_w32.c + +Patch 8.0.1391 +Problem: Encoding empty string to JSON sometimes gives "null". +Solution: Handle NULL string as empty string. (closes #2446) +Files: src/testdir/test_json.vim, src/json.c + +Patch 8.0.1392 +Problem: Build fails with --with-features=huge --disable-channel. +Solution: Don't enable the terminal feature when the channel feature is + missing. (Dominique Pelle, closes #2453) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1393 +Problem: Too much highlighting with 'hlsearch' and 'incsearch' set. +Solution: Do not highlight matches when the pattern matches everything. +Files: src/ex_getln.c + +Patch 8.0.1394 +Problem: Cannot intercept a yank command. +Solution: Add the TextYankPost autocommand event. (Philippe Vaucher et al., + closes #2333) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/dict.c, + src/eval.c, src/fileio.c, src/ops.c, src/proto/dict.pro, + src/proto/eval.pro, src/proto/fileio.pro, + src/testdir/test_autocmd.vim, src/vim.h + +Patch 8.0.1395 +Problem: It is not easy to see if a colorscheme is well written. +Solution: Add a script that checks for common mistakes. (Christian Brabandt) +Files: runtime/colors/check_colors.vim, runtime/colors/README.txt + +Patch 8.0.1396 +Problem: Memory leak when CTRL-G in search command line fails. +Solution: Move restore_last_search_pattern to after "if". +Files: src/ex_getln.c + +Patch 8.0.1397 +Problem: Pattern with \& following nothing gives an error. +Solution: Emit an empty node when needed. +Files: src/regexp_nfa.c, src/testdir/test_search.vim + +Patch 8.0.1398 +Problem: :packadd does not load packages from the "start" directory. + (Alejandro Hernandez) +Solution: Make :packadd look in the "start" directory if those packages were + not loaded on startup. +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 8.0.1399 +Problem: Warnings and errors when building tiny version. (Tony Mechelynck) +Solution: Add #ifdefs. +Files: src/ex_getln.c, src/ops.c + +Patch 8.0.1400 +Problem: Color scheme check script shows up as color scheme. +Solution: Move it to the "tools" subdirectory. (closes #2457) +Files: Filelist, runtime/colors/check_colors.vim, + runtime/colors/tools/check_colors.vim, runtime/colors/README.txt + +Patch 8.0.1401 +Problem: Cannot build with GTK but without XIM. (Guido) +Solution: Adjust #ifdef. (closes #2461) +Files: src/gui.c + +Patch 8.0.1402 +Problem: Crash with nasty autocommand. (gy741, Dominique Pelle) +Solution: Check that the new current buffer isn't wiped out. (closes #2447) +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 8.0.1403 +Problem: Using freed buffer in grep command. (gy741, Dominique Pelle) +Solution: Lock the dummy buffer to avoid autocommands wiping it out. +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.0.1404 +Problem: Invalid memory access on exit when autocommands wipe out a buffer. + (gy741, Dominique Pelle) +Solution: Check if the buffer is still valid. (closes #2449) +Files: src/main.c + +Patch 8.0.1405 +Problem: Duplicated code for getting a typed character. CursorHold is + called too often in the GUI. (lilydjwg) +Solution: Refactor code to move code up from mch_inchar(). Don't fire + CursorHold if feedkeys() was used. (closes #2451) +Files: src/gui.c, src/proto/gui.pro, src/main.c, src/ui.c, + src/proto/ui.pro, src/os_unix.c + +Patch 8.0.1406 +Problem: Difficult to track changes to a quickfix list. +Solution: Add a "changedtick" value. (Yegappan Lakshmanan, closes #2460) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1407 +Problem: GUI: CursorHold may trigger before 'updatetime' when using timers. +Solution: Check that 'updatetime' has passed. +Files: src/gui.c + +Patch 8.0.1408 +Problem: Crash in setqflist(). +Solution: Check for string to be NULL. (Dominique Pelle, closes #2464) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1409 +Problem: Buffer overflow in :tags command. +Solution: Use vim_snprintf(). (Dominique Pelle, closes #2471, closes #2475) + Add a test. +Files: src/testdir/test_taglist.vim, src/tag.c + +Patch 8.0.1410 +Problem: Hang when using count() with an empty string. +Solution: Return zero for an empty string. (Dominique Pelle, closes #2465) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.0.1411 +Problem: Reading invalid memory with CTRL-W :. +Solution: Correct the command characters. (closes #2469) +Files: src/normal.c, src/testdir/test_window_cmd.vim, src/ops.c + +Patch 8.0.1412 +Problem: Using free memory using setloclist(). (Dominique Pelle) +Solution: Mark location list context as still in use when needed. (Yegappan + Lakshmanan, closes #2462) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1413 +Problem: Accessing freed memory in :cbuffer. +Solution: Get quickfix list after executing autocmds. (closes #2470) +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.0.1414 +Problem: Accessing freed memory in :lfile. +Solution: Get the current window after executing autocommands. (Yegappan + Lakshmanan, closes #2473) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1415 +Problem: Warning for unused function without timers feature. +Solution: Add #ifdef. (John Marriott) +Files: src/gui.c + +Patch 8.0.1416 +Problem: Crash when searching for a sentence. +Solution: Return NUL when getting character at MAXCOL. (closes #2468) +Files: src/misc1.c, src/misc2.c, src/testdir/test_search.vim, + src/ex_docmd.c + +Patch 8.0.1417 +Problem: Test doesn't search for a sentence. Still fails when searching for + start of sentence. (Dominique Pelle) +Solution: Add paren. Check for MAXCOL in dec(). +Files: src/testdir/test_search.vim, src/misc2.c + +Patch 8.0.1418 +Problem: No test for expanding backticks. +Solution: Add a test. (Dominique Pelle, closes #2479) +Files: src/testdir/test_normal.vim + +Patch 8.0.1419 +Problem: Cursor column is not updated after ]s. (Gary Johnson) +Solution: Set the curswant flag. +Files: src/testdir/test_spell.vim, src/normal.c, src/evalfunc.c + +Patch 8.0.1420 +Problem: Accessing freed memory in vimgrep. +Solution: Check that the quickfix list is still valid. (Yegappan Lakshmanan, + closes #2474) +Files: src/quickfix.c, src/testdir/test_autocmd.vim, + src/testdir/test_quickfix.vim + +Patch 8.0.1421 +Problem: Accessing invalid memory with overlong byte sequence. +Solution: Check for NUL character. (test by Dominique Pelle, closes #2485) +Files: src/misc2.c, src/testdir/test_functions.vim + +Patch 8.0.1422 +Problem: No fallback to underline when undercurl is not set. (Ben Jackson) +Solution: Check for the value to be empty instead of NULL. (closes #2424) +Files: src/screen.c + +Patch 8.0.1423 +Problem: Error in return not caught by try/catch. +Solution: Call update_force_abort(). (Yasuhiro Matsumoto, closes #2483) +Files: src/testdir/test_eval.in, src/testdir/test_eval_stuff.vim, + src/Makefile, src/testdir/Make_all.mak, src/userfunc.c + +Patch 8.0.1424 +Problem: The timer_pause test is flaky on Travis. +Solution: Accept a longer sleep time on Mac. +Files: src/testdir/test_timers.vim + +Patch 8.0.1425 +Problem: execute() does not work in completion of user command. (thinca) +Solution: Switch off redir_off and restore it. (Ozaki Kiichi, closes #2492) +Files: src/evalfunc.c, src/testdir/test_usercommands.vim + +Patch 8.0.1426 +Problem: "gf" and <cfile> don't accept ? and & in URL. (Dmitrii Tcyganok) +Solution: Check for a URL and allow for extra characters. (closes #2493) +Files: src/window.c, src/testdir/test_gf.vim + +Patch 8.0.1427 +Problem: The :leftabove modifier doesn't work for :copen. +Solution: Respect the split modifier. (Yegappan Lakshmanan, closes #2496) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1428 +Problem: Compiler warning on 64 bit MS-Windows system. +Solution: Change type from "int" to "size_t". (Mike Williams) +Files: src/ex_getln.c + +Patch 8.0.1429 +Problem: Crash when calling term_start() with empty argument. +Solution: Check for invalid argument. (Yasuhiro Matsumoto, closes #2503) + Fix memory leak. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1430 (after 8.0.1429) +Problem: Crash when term_start() fails. +Solution: Initialize winpty_err. +Files: src/terminal.c + +Patch 8.0.1431 +Problem: MS-Windows: vimtutor fails if %TMP% has special chars. +Solution: Add quotes. (Tamce, closes #2561) +Files: vimtutor.bat + +Patch 8.0.1432 +Problem: After ":copen" can't get the window-ID of the quickfix window. + (FalacerSelene) +Solution: Make it work without a quickfix list. Add a test. (Yegappan + Lakshmanan, closes #2541) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1433 +Problem: Illegal memory access after undo. (Dominique Pelle) +Solution: Avoid the column becomes negative. (Christian Brabandt, + closes #2533) +Files: src/mbyte.c, src/testdir/test_undo.vim + +Patch 8.0.1434 +Problem: GTK: :promtfind does not put focus on text input. (Adam Novak) +Solution: When re-opening the dialog put focus on the text input. (Kazunobu + Kuriyama, closes #2563) +Files: src/gui_gtk.c + +Patch 8.0.1435 +Problem: Memory leak in test_arabic. +Solution: Free the from and to parts. (Christian Brabandt, closes #2569) +Files: src/buffer.c, src/digraph.c, src/proto/digraph.pro + +Patch 8.0.1436 +Problem: Not enough information about what Python version may work. +Solution: Add "python_compiled", "python3_compiled", "python_dynamic" and + "python3_dynamic" values for has(). +Files: src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.0.1437 +Problem: Pkg-config doesn't work with cross compiling. +Solution: Use AC_PATH_TOOL() instead of AC_PATH_PROG(). (James McCoy, + closes #2513) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1438 +Problem: Filetype detection test not updated for change. +Solution: Update the test. +Files: src/testdir/test_filetype.vim + +Patch 8.0.1439 +Problem: If cscope fails a search Vim may hang. +Solution: Bail out when a search error is encountered. (Safouane Baroudi, + closes #2598) +Files: src/if_cscope.c + +Patch 8.0.1440 +Problem: Terminal window: some vterm responses are delayed. +Solution: After writing input. check if there is output to read. (Ozaki + Kiichi, closes #2594) +Files: src/terminal.c, src/testdir/test_search.vim, + src/testdir/test_terminal.vim + +Patch 8.0.1441 +Problem: Using ":undo 0" leaves undo in wrong state. +Solution: Instead of searching for state 1 and go above, just use the start. + (Ozaki Kiichi, closes #2595) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.0.1442 (after 8.0.1439) +Problem: Using pointer before it is set. +Solution: Search in whole buffer instead of next token. +Files: src/if_cscope.c + +Patch 8.0.1443 (after 8.0.1441) +Problem: Compiler complains about uninitialized variable. (Tony Mechelynck) +Solution: Assign a value to the variable. +Files: src/undo.c + +Patch 8.0.1444 +Problem: Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is + compiled with it. +Solution: Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy, + closes #2600) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1445 +Problem: Cannot act on edits in the command line. +Solution: Add the CmdlineChanged autocommand event. (xtal8, closes #2603, + closes #2524) +Files: runtime/doc/autocmd.txt, src/ex_getln.c, src/fileio.c, + src/testdir/test_autocmd.vim, src/vim.h + +Patch 8.0.1446 +Problem: Accessing freed memory after window command in auto command. + (gy741) +Solution: Adjust the pointer in the parent frame. (Christian Brabandt, + closes #2467) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.0.1447 +Problem: Still too many old style tests. +Solution: Turn a few tests into new style. (Yegappan Lakshmanan, + closes #2509) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/main.aap, src/testdir/test15.in, + src/testdir/test15.ok, src/testdir/test36.in, + src/testdir/test36.ok, src/testdir/test50.in, + src/testdir/test50.ok, src/testdir/test_regex_char_classes.vim, + src/testdir/test_shortpathname.vim, + src/testdir/test_textformat.vim + +Patch 8.0.1448 +Problem: Segmentation fault when Ruby throws an exception inside :rubyfile + command. +Solution: Use rb_protect() instead of rb_load_protect(). (ujihisa, + closes #2147, greywolf, closes #2512, #2511) +Files: src/if_ruby.c, src/testdir/test_ruby.vim + +Patch 8.0.1449 +Problem: Slow redrawing with DirectX. +Solution: Avoid calling gui_mch_flush() unnecessarily, especially when + updating the cursor. (Ken Takata, closes #2560) +Files: runtime/doc/options.txt, src/channel.c, src/edit.c, src/getchar.c, + src/gui.c, src/gui_dwrite.cpp, src/gui_dwrite.h, src/gui_w32.c, + src/macros.h, src/main.c, src/message.c, src/netbeans.c, + src/proto/gui.pro, src/proto/term.pro, src/screen.c, src/search.c, + src/term.c, src/ui.c + +Patch 8.0.1450 +Problem: Endless loop when gui_mch_stop_blink() is called while blink_state + is BLINK_OFF. (zdohnal) +Solution: Avoid calling gui_update_cursor() recursively. +Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, + src/gui_mac.c, src/proto/gui_mac.pro, src/gui_photon.c, + src/proto/gui_photon.pro, src/gui_w32.c, src/proto/gui_w32.pro, + src/gui_x11.c, src/proto/gui_x11.pro + +Patch 8.0.1451 +Problem: It is difficult to set the python home directory properly for + Python 2.7 and 3.5 since both use $PYTHONHOME. +Solution: Add the 'pythonhome' and 'pythonthreehome' options. (Kazuki + Sakamoto, closes #1266) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/optwin.vim, src/if_python.c, src/if_python3.c, + src/option.c, src/option.h + +Patch 8.0.1452 +Problem: Terminal test fails on some systems. (jonathonf) +Solution: Use "cat" instead of Python to produce the input. Add a delay. + (closes #2607) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1453 +Problem: Terminal test fails on some slow terminals. +Solution: Increase timeout to 10 seconds. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1454 +Problem: When in silent mode too much output is buffered. +Solution: Use line buffering instead of fully buffered. (Brian M. Carlson, + closes #2537) +Files: src/main.c + +Patch 8.0.1455 +Problem: If $SHELL contains a space then the default value of 'shell' is + incorrect. (Matthew Horan) +Solution: Escape spaces in $SHELL. (Christian Brabandt, closes #459) +Files: src/option.c, runtime/doc/options.txt, + src/testdir/test_startup.vim + +Patch 8.0.1456 +Problem: Timer test on travis Mac is still flaky. +Solution: Increase time range a bit more. +Files: src/testdir/test_timers.vim + +Patch 8.0.1457 +Problem: Clojure now supports a shebang line. +Solution: Detect clojure script from the shebang line. (David Burgin, + closes #2570) +Files: runtime/scripts.vim + +Patch 8.0.1458 +Problem: Filetype detection test does not check all scripts. +Solution: Add most scripts to the test +Files: src/testdir/test_filetype.vim + +Patch 8.0.1459 +Problem: Cannot handle change of directory. +Solution: Add the DirChanged autocommand event. (Andy Massimino, + closes #888) Avoid changing directory for 'autochdir' too often. +Files: runtime/doc/autocmd.txt, src/buffer.c, src/ex_docmd.c, + src/fileio.c, src/main.c, src/vim.h, src/proto/misc2.pro, + src/gui_mac.c, src/netbeans.c, src/os_win32.c, + src/testdir/test_autocmd.vim + +Patch 8.0.1460 (after 8.0.1459) +Problem: Missing file in patch. +Solution: Add changes to missing file. +Files: src/misc2.c + +Patch 8.0.1461 (after 8.0.1459) +Problem: Missing another file in patch. +Solution: Add changes to missing file. +Files: src/ex_cmds.c + +Patch 8.0.1462 (after 8.0.1459) +Problem: Missing yet another file in patch. +Solution: Add changes to missing file. +Files: src/gui.c + +Patch 8.0.1463 +Problem: Test fails without 'autochdir' option. +Solution: Skip test if 'autochdir' is not supported. +Files: src/testdir/test_autocmd.vim + +Patch 8.0.1464 +Problem: Completing directory after :find does not add slash. +Solution: Adjust the flags for globpath(). (Genki Sky) +Files: src/misc1.c, src/testdir/test_find_complete.vim + +Patch 8.0.1465 +Problem: Python2 and python3 detection not tested. (Matej Cepl) +Solution: Add test for detecting python2 and python3. Also detect a script + using "js" as javascript. +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.0.1466 +Problem: Older GTK versions don't have gtk_entry_get_text_length(). +Solution: Add a function with #ifdefs to take care of GTK version + differences. (Kazunobu Kuriyama, closes #2605) +Files: src/gui_gtk.c + +Patch 8.0.1467 +Problem: Libvterm doesn't handle illegal byte sequence correctly. +Solution: After the invalid code check if there is space to store another + character. Allocate one more character. (zhykzhykzhyk, closes + #2614, closes #2613) +Files: src/libvterm/src/encoding.c, src/libvterm/src/state.c + +Patch 8.0.1468 +Problem: Illegal memory access in del_bytes(). +Solution: Check for negative byte count. (Christian Brabandt, closes #2466) +Files: src/message.c, src/misc1.c + +Patch 8.0.1469 +Problem: When package path is a symlink adding it to 'runtimepath' happens + at the end. +Solution: Do not resolve symlinks before locating the position in + 'runtimepath'. (Ozaki Kiichi, closes #2604) +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 8.0.1470 +Problem: Integer overflow when using regexp pattern. (geeknik) +Solution: Use a long instead of int. (Christian Brabandt, closes #2251) +Files: src/regexp_nfa.c + +Patch 8.0.1471 (after 8.0.1401) +Problem: On MS-Windows CursorIM highlighting no longer works. +Solution: Adjust #if statements. (Ken Takata) +Files: src/gui.c + +Patch 8.0.1472 +Problem: MS-Windows: nsis installer is a bit slow. +Solution: Use ReserveFile for vimrc.ini. (Ken Takata, closes #2522) +Files: nsis/gvim.nsi + +Patch 8.0.1473 +Problem: MS-Windows: D&D fails between 32 and 64 bit apps. +Solution: Add the /HIGHENTROPYVA:NO linker option. (Ken Takata, closes #2504) +Files: src/Make_mvc.mak + +Patch 8.0.1474 +Problem: Visual C 2017 has multiple MSVCVER numbers. +Solution: Assume the 2017 version if MSVCVER >= 1910. (Leonardo Valeri + Manera, closes #2619) +Files: src/Make_mvc.mak + +Patch 8.0.1475 +Problem: Invalid memory access in read_redo(). (gy741) +Solution: Convert the replacement character back from a negative number to + CR or NL. (hint by Dominique Pelle, closes #2616) +Files: src/testdir/test_undo.vim, src/normal.c, src/vim.h, src/ops.c + +Patch 8.0.1476 +Problem: Screen isn't always updated right away. +Solution: Adjust #ifdef: Call out_flush() when not running the GUI. +Files: src/screen.c + +Patch 8.0.1477 +Problem: Redraw flicker when moving the mouse outside of terminal window. +Solution: Instead of updating the cursor color and shape every time leaving + and entering a terminal window, only update when different from + the previously used cursor. +Files: src/terminal.c + +Patch 8.0.1478 +Problem: Unnecessary condition for "len" being zero. +Solution: Remove the condition. (Dominique Pelle) +Files: src/regexp_nfa.c + +Patch 8.0.1479 +Problem: Insert mode completion state is confusing. +Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero. +Files: src/edit.c, src/globals.h, src/proto/edit.pro, src/search.c, + src/getchar.c + +Patch 8.0.1480 (after 8.0.1479) +Problem: Patch missing change. +Solution: Add missing change. +Files: src/evalfunc.c + +Patch 8.0.1481 +Problem: Clearing a pointer takes two lines. +Solution: Add vim_clear() to free and clear the pointer. +Files: src/misc2.c, src/proto/misc2.pro, src/edit.c + +Patch 8.0.1482 +Problem: Using feedkeys() does not work to test Insert mode completion. + (Lifepillar) +Solution: Do not check for typed keys when executing :normal or feedkeys(). + Fix thesaurus completion not working when 'complete' is empty. +Files: src/edit.c, src/testdir/test_ins_complete.vim, + src/testdir/test_popup.vim, src/testdir/test_edit.vim + +Patch 8.0.1483 +Problem: Searchpair() might return an invalid value on timeout. +Solution: When the second search times out, do not accept a match from the + first search. (Daniel Hahler, closes #2552) +Files: src/search.c + +Patch 8.0.1484 +Problem: Redundant conditions. +Solution: Remove them. (Dominique Pelle) +Files: src/terminal.c + +Patch 8.0.1485 +Problem: Weird autocmd may cause arglist to be changed recursively. +Solution: Prevent recursively changing the argument list. (Christian + Brabandt, closes #2472) +Files: src/ex_docmd.c, src/globals.h + +Patch 8.0.1486 +Problem: Accessing invalid memory with "it". (Dominique Pelle) +Solution: Avoid going over the end of the line. (Christian Brabandt, + closes #2532) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.0.1487 (after 8.0.1486) +Problem: Test 14 fails. +Solution: Fix of-by-one error. +Files: src/search.c + +Patch 8.0.1488 (after 8.0.1218) +Problem: Emacs tags no longer work. (zdohnal) +Solution: Do not skip over end of line. +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.0.1489 +Problem: There is no easy way to get the global directory, esp. if some + windows have a local directory. +Solution: Make getcwd(-1) return the global directory. (Andy Massimino, + closes #2606) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_getcwd.vim + +Patch 8.0.1490 +Problem: Number of spell regions is spread out through the code. +Solution: Define MAXREGIONS. +Files: src/spell.h, src/spellfile.c + +Patch 8.0.1491 +Problem: The minimum width of the popup menu is hard coded. +Solution: Add the 'pumwidth' option. (Christian Brabandt, James McCoy, + closes #2314) +Files: runtime/doc/options.txt, src/option.c, src/option.h, + src/popupmnu.c + +Patch 8.0.1492 +Problem: Memory leak in balloon_split(). +Solution: Free the balloon lines. Free the balloon when exiting. +Files: src/misc2.c, src/evalfunc.c + +Patch 8.0.1493 +Problem: Completion items cannot be annotated. +Solution: Add a "user_data" entry to the completion item. (Ben Jackson, + closes #2608, closes #2508) +Files: runtime/doc/insert.txt, src/edit.c, src/structs.h, + src/testdir/test_ins_complete.vim + +Patch 8.0.1494 +Problem: No autocmd triggered in Insert mode with visible popup menu. +Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt, + closes #2372, closes #1691) + Fix that the TextChanged autocommands are not always triggered + when sourcing a script. +Files: runtime/doc/autocmd.txt, src/edit.c, src/globals.h, src/structs.h, + src/fileio.c, src/proto/fileio.pro, src/vim.h, src/main.c, + src/testdir/test_autocmd.vim + +Patch 8.0.1495 +Problem: Having 'pumwidth' default to zero has no merit. +Solution: Make the default 15, as the actual default value. +Files: src/popupmnu.c, src/option.c + +Patch 8.0.1496 +Problem: Clearing a pointer takes two lines. +Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, + closes #2629) +Files: src/buffer.c, src/channel.c, src/crypt.c, src/edit.c, src/eval.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/gui_gtk_x11.c, src/gui_photon.c, + src/gui_w32.c, src/gui_x11.c, src/hardcopy.c, src/if_cscope.c, + src/macros.h, src/main.c, src/mark.c, src/mbyte.c, src/memfile.c, + src/memline.c, src/menu.c, src/message.c, src/misc1.c, + src/misc2.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/os_amiga.c, src/os_mac_conv.c, src/os_mswin.c, + src/os_unix.c, src/os_win32.c, src/popupmnu.c, + src/proto/misc2.pro, src/quickfix.c, src/regexp.c, + src/regexp_nfa.c, src/screen.c, src/search.c, src/spell.c, + src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, + src/terminal.c, src/ui.c, src/undo.c, src/userfunc.c, src/window.c + +Patch 8.0.1497 +Problem: Getting the jump list requires parsing the output of :jumps. +Solution: Add getjumplist(). (Yegappan Lakshmanan, closes #2609) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/Makefile, + src/evalfunc.c, src/list.c, src/proto/list.pro, + src/testdir/Make_all.mak, src/testdir/test_jumplist.vim + +Patch 8.0.1498 (after 8.0.1497) +Problem: Getjumplist() returns duplicate entries. (lacygoill) +Solution: Call cleanup_jumplist(). (Yegappan Lakshmanan) +Files: src/evalfunc.c, src/mark.c, src/proto/mark.pro, + src/testdir/test_jumplist.vim + +Patch 8.0.1499 +Problem: Out-of-memory situation not correctly handled. (Coverity) +Solution: Check for NULL value. +Files: src/terminal.c + +Patch 8.0.1500 +Problem: Possible NULL pointer dereference. (Coverity) +Solution: Check for the pointer not being NULL. +Files: src/quickfix.c + +Patch 8.0.1501 +Problem: Out-of-memory situation not correctly handled. (Coverity) +Solution: Check for NULL value. +Files: src/ops.c + +Patch 8.0.1502 +Problem: In out-of-memory situation character is not restored. (Coverity) +Solution: Restore the character in all situations. +Files: src/ex_getln.c + +Patch 8.0.1503 +Problem: Access memory beyond end of string. (Coverity) +Solution: Keep allocated memory in separate pointer. Avoid outputting the + NUL character. +Files: src/hardcopy.c + +Patch 8.0.1504 +Problem: Win32: the screen may be cleared on startup. +Solution: Only call shell_resized() when the size actually changed. (Ken + Takata, closes #2527) +Files: src/os_win32.c + +Patch 8.0.1505 +Problem: Debugger can't break on a condition. (Charles Campbell) +Solution: Add ":breakadd expr". (Christian Brabandt, closes #859) +Files: runtime/doc/repeat.txt, src/eval.c, src/evalfunc.c, + src/userfunc.c, src/ex_cmds2.c, src/ex_docmd.c, + src/proto/eval.pro, src/proto/ex_cmds2.pro, src/structs.h + +Patch 8.0.1506 +Problem: New version of HP NonStop (Tandem) doesn't like the default header + for setenv(). +Solution: Put a #ifdef around the setenv() entry. (Joachim Schmitz) +Files: src/osdef2.h.in + +Patch 8.0.1507 +Problem: Timer test is a bit flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1508 +Problem: The :drop command is not always available. +Solution: Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639) +Files: runtime/doc/windows.txt, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/testdir/test_normal.vim, + src/testdir/test_tabpage.vim + +Patch 8.0.1509 (after 8.0.1508) +Problem: Test for failing drag-n-drop command no longer fails. +Solution: Check for the "dnd" feature. +Files: src/testdir/test_normal.vim + +Patch 8.0.1510 +Problem: Cannot test if a command causes a beep. +Solution: Add assert_beeps(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/eval.c, + src/proto/eval.pro, src/misc1.c, src/globals.h, + src/testdir/test_normal.vim, src/testdir/test_assert.vim + +Patch 8.0.1511 (after 8.0.1505) +Problem: Some code for the debugger watch expression is clumsy. +Solution: Clean up the code. +Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro + +Patch 8.0.1512 +Problem: Warning for possibly using NULL pointer. (Coverity) +Solution: Skip using the pointer if it's NULL. +Files: src/ex_cmds.c + +Patch 8.0.1513 +Problem: The jumplist is not always properly cleaned up. +Solution: Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan) +Files: src/evalfunc.c, src/mark.c, src/proto/mark.pro + +Patch 8.0.1514 +Problem: Getting the list of changes is not easy. +Solution: Add the getchangelist() function. (Yegappan Lakshmanan, + closes #2634) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/Make_all.mak, src/testdir/test_changelist.vim, + src/Makefile + +Patch 8.0.1515 +Problem: BufWinEnter event fired when opening hidden terminal. +Solution: Do not fire BufWinEnter when the terminal is hidden and does not + open a window. (Kenta Sato, closes #2636) +Files: src/terminal.c + +Patch 8.0.1516 +Problem: Errors for job options are not very specific. +Solution: Add more specific error messages. +Files: src/channel.c, src/globals.h + +Patch 8.0.1517 +Problem: Invalid memory access with pattern using look-behind match. + (Dominique Pelle) +Solution: Get a pointer to the right line. +Files: src/regexp.c + +Patch 8.0.1518 +Problem: Error messages suppressed after ":silent! try". (Ben Reilly) +Solution: Restore emsg_silent before executing :try. (closes #2531) +Files: src/ex_docmd.c, src/testdir/test_eval_stuff.vim + +Patch 8.0.1519 +Problem: Getchangelist() does not use argument as bufname(). +Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641) +Files: src/evalfunc.c, src/testdir/test_changelist.vim + +Patch 8.0.1520 +Problem: Cursor is in the wrong line when using a WinBar in a Terminal + window. +Solution: Adjust the row number. (Christian Brabandt, closes #2362) +Files: src/screen.c, src/terminal.c + +Patch 8.0.1521 +Problem: Shift-Tab does not work in a terminal window. +Solution: Recognize Shift-Tab key press. (Jsees Luehrs, closes #2644) +Files: src/terminal.c + +Patch 8.0.1522 (after 8.0.1491) +Problem: Popup menu is positioned in the wrong place. (Davit Samvelyan, + Boris Staletic) +Solution: Correct computation of the column and the conditions for that. + (Hirohito Higashi, closes #2640) +Files: src/popupmnu.c + +Patch 8.0.1523 +Problem: Cannot write and read terminal screendumps. +Solution: Add term_dumpwrite(), term_dumpread() and term_dumpdiff(). + Also add assert_equalfile(). +Files: src/terminal.c, src/proto/terminal.pro, src/evalfunc.c, + src/normal.c, src/eval.c, src/proto/eval.pro, + runtime/doc/eval.txt, src/testdir/test_assert.vim + +Patch 8.0.1524 (after 8.0.1523) +Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck) +Solution: Initialize variables. +Files: src/terminal.c + +Patch 8.0.1525 +Problem: Using :wqa exits even if a job runs in a terminal window. (Jason + Felice) +Solution: Check if a terminal has a running job. (closes #2654) +Files: src/ex_cmds2.c, src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, + src/testdir/test_terminal.vim + +Patch 8.0.1526 +Problem: No test using a screen dump yet. +Solution: Add a test for C syntax highlighting. Add helper functions. +Files: src/terminal.c, src/testdir/test_syntax.vim, + src/testdir/shared.vim, src/testdir/screendump.vim, + src/testdir/dumps/Test_syntax_c_01.dump, runtime/doc/terminal.txt, + src/testdir/README.txt + +Patch 8.0.1527 (after 8.0.1526) +Problem: Screen dump test fails on MS-Windows. +Solution: Skip dump test on MS-Windows for now. +Files: src/testdir/test_syntax.vim + +Patch 8.0.1528 +Problem: Dead code found. +Solution: Remove the useless lines. (CodeAi, closes #2656) +Files: src/screen.c, src/spell.c, src/syntax.c, src/window.c + +Patch 8.0.1529 +Problem: Assert_equalfile() does not close file descriptors. (Coverity) +Solution: Close the file descriptors. +Files: src/eval.c + +Patch 8.0.1530 +Problem: Dump test fails when using a shadow directory. +Solution: Add the directory to the list of symlinks to make (Elimar + Riesebieter) +Files: src/Makefile + +Patch 8.0.1531 +Problem: Cannot use 24 bit colors in MS-Windows console. +Solution: Add support for vcon. (Nobuhiro Takasaki, Ken Takata, + fixes #1270, fixes #2060) +Files: runtime/doc/options.txt, src/misc1.c, src/option.c, + src/evalfunc.c, src/os_win32.c, src/proto/os_win32.pro, + src/feature.h, src/proto/term.pro, src/screen.c, src/syntax.c, + src/term.c, src/testdir/gen_opt_test.vim, src/version.c + +Patch 8.0.1532 +Problem: Compiler warnings without termguicolors feature. +Solution: Add #ifdef. (John Marriott) Cleanup the code a bit. +Files: src/term.c + +Patch 8.0.1533 +Problem: Libterm doesn't support requesting fg and bg color. +Solution: Implement t_RF and t_RB. +Files: src/libvterm/src/vterm_internal.h, src/libvterm/src/state.c, + src/libvterm/src/vterm.c + +Patch 8.0.1534 +Problem: C syntax test fails when using gvim +Solution: Force running in a terminal. Check that 'background' is correct + even when $COLORFGBG is set. +Files: src/testdir/test_syntax.vim, src/testdir/screendump.vim + +Patch 8.0.1535 (after 8.0.1534) +Problem: C syntax test still fails when using gvim. +Solution: Clear Normal cterm highlighting instead of setting it. +Files: src/testdir/test_syntax.vim, src/testdir/screendump.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.0.1536 +Problem: Quotestar test is flaky when using the GUI. +Solution: Add check that the star register arrived at the server. Increase + timeouts. +Files: src/testdir/test_quotestar.vim + +Patch 8.0.1537 +Problem: Xxd does not skip NUL lines when using ebcdic. +Solution: Check for a NUL before converting a character for ebcdic. (Tim + Sell, closes #2668) +Files: src/xxd/xxd.c + +Patch 8.0.1538 +Problem: Popupmenu is too far left when completion is long. (Linwei) +Solution: Adjust column computations. (Hirohito Higashi, closes #2661) +Files: src/popupmnu.c + +Patch 8.0.1539 +Problem: No test for the popup menu positioning. +Solution: Add a screendump test for the popup menu. +Files: src/terminal.c, src/testdir/test_syntax.vim, + src/testdir/screendump.vim, + src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_position_01.dump, + src/testdir/dumps/Test_popup_position_02.dump, + src/testdir/dumps/Test_popup_position_03.dump, + runtime/doc/eval.txt + +Patch 8.0.1540 +Problem: Popup menu positioning fails with longer string. +Solution: Only align with right side of window when width is less than + 'pumwidth' (closes #2661) +Files: src/popupmnu.c, src/testdir/screendump.vim, + src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_position_04.dump + +Patch 8.0.1541 +Problem: synpat_T is taking too much memory. +Solution: Reorder members to reduce padding. (Dominique Pelle, closes #2671) +Files: src/syntax.c + +Patch 8.0.1542 +Problem: Terminal screen dump does not include cursor position. +Solution: Mark the cursor position in the dump. +Files: src/terminal.c, + src/testdir/dumps/Test_popup_position_01.dump, + src/testdir/dumps/Test_popup_position_02.dump, + src/testdir/dumps/Test_popup_position_03.dump, + src/testdir/dumps/Test_popup_position_04.dump, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.0.1543 +Problem: With 'termguicolors' Normal color doesn't work correctly. +Solution: Set cterm_normal_bg_gui_color and cterm_normal_fg_color always. + (Kazunobu Kuriyama, closes #981, closes #2332) +Files: src/syntax.c + +Patch 8.0.1544 +Problem: When using 'termguicolors' SpellBad doesn't show. +Solution: When the GUI colors are not set fall back to the cterm colors. +Files: src/syntax.c, src/screen.c, src/gui.h, src/structs.h + +Patch 8.0.1545 +Problem: Screen dumps not included in distribution. +Solution: Add dumps to the list of distributed files. +Files: Filelist + +Patch 8.0.1546 +Problem: Using feedkeys() in a terminal window may trigger mappings. + (Charles Sheridan) +Solution: Avoid triggering a mapping when peeking for a key. +Files: src/getchar.c, src/terminal.c + +Patch 8.0.1547 +Problem: Undo in the options window makes it empty. +Solution: Set 'undolevels' while filling the buffer. (Yasuhiro Matsumoto, + closes #2645) +Files: runtime/optwin.vim + +Patch 8.0.1548 +Problem: Screen dump test script not included in distribution. +Solution: Add the script to the list of distributed files. +Files: Filelist + +Patch 8.0.1549 +Problem: Various small problems in test files. +Solution: Include small changes. +Files: src/testdir/test_channel.py, src/testdir/shared.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim + +Patch 8.0.1550 +Problem: Various small problems in source files. +Solution: Fix the problems. +Files: src/README.txt, src/beval.c, src/json_test.c, src/mbyte.c, + src/libvterm/include/vterm_keycodes.h, src/Makefile, + src/gui_gtk.c, src/if_xcmdsrv.c, src/pty.c, src/if_python.c, + src/if_py_both.h, uninstal.txt, src/dosinst.c, src/iscygpty.c, + src/vimrun.c, src/os_vms.c + +Patch 8.0.1551 +Problem: On Mac 'maxmemtot' is set to a weird value. +Solution: For Mac use total memory and subtract system memory. For other + systems accept both a 32 bit and 64 bit result. (Ozaki Kiichi, + closes #2646) +Files: src/os_unix.c + +Patch 8.0.1552 +Problem: May leak file descriptors when executing job. +Solution: Close more file descriptors. (Ozaki Kiichi, closes #2651) +Files: src/os_unix.c, src/testdir/test_channel.vim + +Patch 8.0.1553 +Problem: Cannot see what digraph is used to insert a character. +Solution: Show the digraph with the "ga" command. (Christian Brabandt) +Files: runtime/doc/various.txt, src/digraph.c, src/ex_cmds.c, + src/proto/digraph.pro, src/testdir/shared.vim, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_digraph.vim, src/testdir/test_ga.vim, + src/testdir/test_arabic.vim + +Patch 8.0.1554 +Problem: Custom plugins loaded with --clean. +Solution: Do not include the home directory in 'runtimepath'. +Files: src/option.c, src/main.c, src/proto/option.pro, src/structs.h, + src/os_unix.h, src/os_amiga.h, src/os_dos.h, src/os_mac.h, + runtime/doc/starting.txt + +Patch 8.0.1555 +Problem: Build error for some combination of features. +Solution: Declare variable in more situations. +Files: src/main.c + +Patch 8.0.1556 +Problem: May not parse the t_RS response correctly, resulting in wrong + characters in the input stream. +Solution: When the t_RS response is partly received wait for more + characters. +Files: src/term.c + +Patch 8.0.1557 +Problem: printf() does not work with only one argument. (Daniel Hahler) +Solution: Allow using just the format. (Ken Takata, closes #2687) +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 8.0.1558 +Problem: No right-click menu in a terminal. +Solution: Implement the right click menu for the terminal. +Files: src/popupmnu.c, src/proto/popupmnu.pro, src/normal.c, src/menu.c, + src/proto/menu.pro, src/feature.h + +Patch 8.0.1559 +Problem: Build failure without GUI. +Solution: Adjust #ifdef for get_fpos_of_mouse(). +Files: src/ui.c + +Patch 8.0.1560 +Problem: Build failure without GUI on MS-Windows. +Solution: Adjust #ifdef for vcol2col(). +Files: src/ui.c + +Patch 8.0.1561 +Problem: Crash with rust syntax highlighting. (Edd Barrett) +Solution: Avoid going past the end of an empty line. +Files: src/syntax.c + +Patch 8.0.1562 +Problem: The terminal debugger can't set a breakpoint with the mouse. +Solution: Add popup menu entries. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1563 +Problem: Timeout of getwinposx() can be too short. (lilydjwg) +Solution: Add getwinpos(). (closes #2689) +Files: src/evalfunc.c, src/term.c, src/proto/term.pro, runtime/doc/eval.txt + +Patch 8.0.1564 +Problem: Too many #ifdefs. +Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and + increases code size of tiny Vim by only 40 Kbyte. +Files: src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, + src/fileio.c, src/getchar.c, src/globals.h, src/gui.c, + src/if_cscope.c, src/if_xcmdsrv.c, src/main.c, src/mbyte.c, + src/memline.c, src/menu.c, src/misc1.c, src/gui_mac.c, + src/misc2.c, src/move.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/option.h, src/feature.h, src/vim.h, + src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c, + src/quickfix.c, src/screen.c, src/search.c, src/spell.c, + src/structs.h, src/syntax.c, src/tag.c, src/term.c, + src/terminal.c, src/ui.c, src/undo.c, src/userfunc.c, + src/version.c, src/window.c + +Patch 8.0.1565 +Problem: Can't build Mac version without GUI. +Solution: Adjust when IME_WITHOUT_XIM is defined. +Files: src/vim.h + +Patch 8.0.1566 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND. +Files: src/buffer.c, src/diff.c, src/edit.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/gui.c, + src/main.c, src/move.c, src/normal.c, src/option.c, src/term.c, + src/version.c, src/window.c, src/globals.h, src/macros.h, + src/option.h, src/structs.h + +Patch 8.0.1567 +Problem: Cannot build Win32 GUI without IME. (John Marriott) +Solution: Adjust when IME_WITHOUT_XIM and HAVE_INPUT_METHOD are defined and + use it in a few more places. +Files: src/vim.h, src/gui.c + +Patch 8.0.1568 +Problem: Can't build on older Mac, header file is missing. +Solution: Remove the header file. (Ozaki Kiichi, closes #2691) +Files: src/os_unix.c + +Patch 8.0.1569 +Problem: Warning for uninitialized variable from gcc. +Solution: Initialize the variable. +Files: src/quickfix.c + +Patch 8.0.1570 +Problem: Can't use :popup for a menu in the terminal. (Wei Zhang) +Solution: Make :popup work in the terminal. Also fix that entries were + included that don't work in the current state. +Files: src/ex_docmd.c, src/popupmnu.c, src/proto/popupmnu.pro, + src/menu.c, src/proto/menu.pro + +Patch 8.0.1571 (after 8.0.1571) +Problem: Can't build without GUI. +Solution: Adjust #ifdef for gui_find_menu(). +Files: src/menu.c + +Patch 8.0.1572 +Problem: Mac: getting memory size doesn't work everywhere. +Solution: Use MACOS_X instead of MACOS_X_DARWIN. (Kazunobu Kuriyama) +Files: src/os_unix.c + +Patch 8.0.1573 +Problem: getwinpos(1) may cause response to be handled as command. +Solution: Handle any cursor position report once one was requested. (partly + by Hirohito Higashi) +Files: src/term.c + +Patch 8.0.1574 +Problem: Show cursor in wrong place when using popup menu. (Wei Zhang) +Solution: Force updating the cursor position. Fix skipping over unused + entries. +Files: src/screen.c, src/proto/screen.pro, src/popupmnu.c + +Patch 8.0.1575 +Problem: Crash when using virtual replace. +Solution: Adjust orig_line_count. Add more tests. (Christian Brabandt) +Files: src/edit.c, src/testdir/test_visual.vim + +Patch 8.0.1576 +Problem: Perl VIM::Buffers() does not find every buffer. +Solution: Also find unlisted buffer by number or name. (Chris Weyl, + closes #2692) +Files: src/if_perl.xs + +Patch 8.0.1577 +Problem: Virtual replace test fails on MS-Windows. +Solution: Make adding a termcap entry work for a builtin terminal. + Restore terminal keys in a better way. +Files: src/term.c, src/testdir/test_visual.vim + +Patch 8.0.1578 +Problem: No test for :popup in terminal. +Solution: Add a screen dump test. +Files: src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_command_01.dump, + src/testdir/dumps/Test_popup_command_02.dump, + src/testdir/dumps/Test_popup_command_03.dump + +Patch 8.0.1579 +Problem: Virtual replace test fails in GUI. +Solution: Don't save key options if they were not set. +Files: src/testdir/test_visual.vim + +Patch 8.0.1580 +Problem: FEAT_CURSORBIND and FEAT_SCROLLBIND are unused. +Solution: Delete them. +Files: src/feature.h + +Patch 8.0.1581 +Problem: Cannot build Win32 GUI without +eval. +Solution: Define HAVE_INPUT_METHOD without +eval. (Ken Takata) +Files: src/vim.h + +Patch 8.0.1582 +Problem: In the MS-Windows console mouse movement is not used. +Solution: Pass mouse movement events when useful. +Files: src/os_win32.c, src/proto/os_win32.pro, src/feature.h + +Patch 8.0.1583 +Problem: Using C99 comment. +Solution: Use old style comment. (Kazunobu Kuriyama) +Files: src/quickfix.c + +Patch 8.0.1584 +Problem: Using C99 in Mac file gives compiler warning messages. +Solution: Add #pragmas to avoid the warnings. (Kazunobu Kuriyama) +Files: src/os_macosx.m + +Patch 8.0.1585 +Problem: Enabling beval_term feature in Win32 GUI. +Solution: Only enable beval_term in Win32 console. +Files: src/feature.h + +Patch 8.0.1586 +Problem: Imactivatefunc does not work on non-GUI Mac. +Solution: Fix logic in #ifdef. +Files: src/vim.h + +Patch 8.0.1587 +Problem: inserting from the clipboard doesn't work literally +Solution: When pasting from the * or + register always assume literally. +Files: src/ops.c, src/proto/ops.pro, src/testdir/test_paste.vim + +Patch 8.0.1588 +Problem: Popup menu hangs after typing CTRL-C. +Solution: Make CTRL-C exit the loop. (Ozaki Kiichi, closes #2697) +Files: src/popupmnu.c + +Patch 8.0.1589 +Problem: Error for setting 'modifiable' when resetting it. +Solution: Check if 'modifiable' was actually set. +Files: src/option.c + +Patch 8.0.1590 +Problem: Padding in list type wastes memory. +Solution: Reorder struct members to optimize padding. (Dominique Pelle, + closes #2704) +Files: src/structs.h + +Patch 8.0.1591 +Problem: MS-Windows: when reparsing the arguments 'wildignore' matters. +Solution: Save and reset 'wildignore'. (Yasuhiro Matsumoto, closes #2702) +Files: src/os_win32.c + +Patch 8.0.1592 +Problem: Terminal windows in a session are not properly restored. +Solution: Add "terminal" in 'sessionoptions'. When possible restore the + command running in a terminal. +Files: src/option.c, src/option.h, src/ex_docmd.c, src/terminal.c, + src/proto/terminal.pro, src/evalfunc.c, src/structs.h, + src/channel.c, src/testdir/test_terminal.vim, + src/testdir/shared.vim, src/testdir/test_mksession.vim + +Patch 8.0.1593 +Problem: :qall never exits with an active terminal window. +Solution: Add a way to kill a job in a terminal window. +Files: src/ex_cmds2.c, src/terminal.c, src/proto/terminal.pro, + src/structs.h, src/channel.c, src/evalfunc.c, + src/testdir/test_terminal.vim, runtime/doc/terminal.txt, + runtime/doc/eval.txt + +Patch 8.0.1594 +Problem: :confirm qall not tested with active terminal window. +Solution: Add a test. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1595 +Problem: No autocommand triggered before exiting. +Solution: Add the ExitPre autocommand event. +Files: src/ex_docmd.c, src/fileio.c, src/vim.h, + src/testdir/test_exit.vim, src/Makefile, src/testdir/Make_all.mak, + runtime/doc/autocmd.txt + +Patch 8.0.1596 +Problem: No autocommand specifically for opening a terminal window. +Solution: Add TerminalOpen. (Yasuhiro Matsumoto, closes #2484) +Files: runtime/doc/autocmd.txt, src/fileio.c, src/terminal.c, + src/testdir/test_terminal.vim, src/vim.h + +Patch 8.0.1597 +Problem: Autocommand events are not sorted. +Solution: Sort the autocommand events. +Files: src/vim.h + +Patch 8.0.1598 +Problem: Cannot select text in a terminal with the mouse. +Solution: When a job in a terminal is not consuming mouse events, use them + for modeless selection. Also stop Insert mode when clicking in a + terminal window. +Files: src/libvterm/include/vterm.h, src/libvterm/src/state.c, + src/libvterm/src/vterm_internal.h, src/terminal.c, + src/proto/terminal.pro, src/ui.c + +Patch 8.0.1599 +Problem: No error message when gdb does not support the terminal debugger. +Solution: Check for the response to open the Machine Interface. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1600 +Problem: Crash when setting t_Co to zero when 'termguicolors' is set. +Solution: Use IS_CTERM instead of checking the number of colors. + (closes #2710) +Files: src/screen.c, src/testdir/test_highlight.vim + +Patch 8.0.1601 +Problem: Highlight test fails on Win32. +Solution: Check for vtp and vcon support. +Files: src/evalfunc.c, src/testdir/test_highlight.vim + +Patch 8.0.1602 +Problem: Crash in parsing JSON. +Solution: Fail when using array or dict as dict key. (Damien) +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.0.1603 +Problem: Cannot build with +terminal but without +menu. +Solution: Add #ifdef. (Damien) +Files: src/terminal.c + +Patch 8.0.1604 +Problem: Paste test may fail if $DISPLAY is not set. +Solution: Add WorkingClipboard() and use it in the paste test. +Files: src/testdir/shared.vim, src/testdir/test_paste.vim + +Patch 8.0.1605 +Problem: Terminal test is a bit flaky. +Solution: Check for the shell prompt. Use more lambda functions. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1606 +Problem: Singular/plural variants not translated. +Solution: Add NGETTEXT argument to xgettext. (Sergey Alyoshin) +Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak, + src/po/Makefile + +Patch 8.0.1607 +Problem: --clean loads user settings from .gvimrc. +Solution: Behave like "-U NONE" was used. (Ken Takata) +Files: src/main.c, runtime/doc/starting.txt + +Patch 8.0.1608 +Problem: Win32: directx not enabled by default. +Solution: Change Makefile to enable directx by default. (Ken Takata) +Files: runtime/doc/various.txt, src/Make_cyg_ming.mak, + src/Make_mvc.mak + +Patch 8.0.1609 +Problem: Shell commands in the GUI use a dumb terminal. +Solution: Add the "!" flag to 'guioptions' to execute system commands in a + special terminal window. Only for Unix now. +Files: src/os_unix.c, src/option.h, src/evalfunc.c, src/terminal.c, + src/proto/terminal.pro, src/channel.c, src/proto/channel.pro, + src/vim.h, runtime/doc/options.txt + +Patch 8.0.1610 (after 8.0.1609) +Problem: Cannot build without GUI. +Solution: Add #ifdef. +Files: src/terminal.c + +Patch 8.0.1611 +Problem: CTRL-W in system terminal does not go to job. +Solution: Do not use CTRL-W as a terminal command in a system terminal. +Files: src/terminal.c + +Patch 8.0.1612 +Problem: Need to close terminal after shell stopped. +Solution: Make :terminal without argument close the window by default. +Files: src/terminal.c, src/testdir/test_terminal.vim, + runtime/doc/terminal.txt + +Patch 8.0.1613 +Problem: Warning for unused variable in tiny build. (Tony Mechelynck) +Solution: Move declaration to inner block. +Files: src/os_unix.c + +Patch 8.0.1614 +Problem: "make tags" doesn't include libvterm. +Solution: Add the libvterm sources to the tags command. +Files: src/Makefile + +Patch 8.0.1615 +Problem: term_dumpload() does not use the right colors. +Solution: Initialize colors when not using create_vterm(). +Files: src/terminal.c + +Patch 8.0.1616 +Problem: Win32: shell commands in the GUI open a new console. +Solution: Use a terminal window for interactive use when 'guioptions' + contains "!". +Files: src/os_win32.c + +Patch 8.0.1617 (after 8.0.1616) +Problem: Win32: :shell command in the GUI crashes. +Solution: Handle the situation that "cmd" is NULL. (Yasuhiro Matsumoto, + closes #2721) +Files: src/os_win32.c + +Patch 8.0.1618 +Problem: Color Grey50, used for ToolbarLine, is missing in the compiled-in + table. +Solution: Add the color to the list. (Kazunobu Kuriyama) +Files: src/term.c + +Patch 8.0.1619 +Problem: Win32 GUI: crash when winpty is not installed and trying to use + :shell in a terminal window. +Solution: Check for NULL return form term_start(). (Yasuhiro Matsumoto, + closes #2727) +Files: src/os_win32.c + +Patch 8.0.1620 +Problem: Reading spell file has no good EOF detection. +Solution: Check for EOF at every character read for a length field. +Files: src/misc2.c + +Patch 8.0.1621 +Problem: Using invalid default value for highlight attribute. +Solution: Use zero instead of -1. +Files: src/syntax.c + +Patch 8.0.1622 +Problem: Possible NULL pointer dereferencey. (Coverity) +Solution: Reverse the check for a NULL pointer. +Files: src/quickfix.c + +Patch 8.0.1623 +Problem: Terminal kill tests are flaky. +Solution: Instead of running Vim in a terminal, run it as a normal command. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1624 +Problem: Options for term_dumpdiff() and term_dumpload() not implemented + yet. +Solution: Implement the relevant options. +Files: src/terminal.c, runtime/doc/eval.txt + +Patch 8.0.1625 +Problem: Test_quotestar is flaky when run in GTK GUI. +Solution: Do not call lose_selection when invoked from + selection_clear_event(). +Files: src/gui_gtk_x11.c + +Patch 8.0.1626 +Problem: Compiler warning for possible loss of data. +Solution: Use size_t instead of int. (Christian Brabandt) +Files: src/terminal.c + +Patch 8.0.1627 +Problem: Compiler warning for visibility attribute not supported on MinGW + builds. +Solution: Don't add the attribute when we don't expect it to work. + (Christian Brabandt) +Files: src/libvterm/src/vterm_internal.h + +Patch 8.0.1628 +Problem: Channel log doesn't mention exiting. +Solution: Add a ch_log() call in getout(). +Files: src/main.c + +Patch 8.0.1629 +Problem: Mac: getpagesize() is deprecated. +Solution: Use sysconf() instead. (Ozaki Kiichi, closes #2741) +Files: src/os_unix.c + +Patch 8.0.1630 +Problem: Trimming white space is not that easy. +Solution: Add the trim() function. (Bukn, Yasuhiro Matsumoto, closes #1280) +Files: src/evalfunc.c, runtime/doc/eval.txt, + src/testdir/test_functions.vim + +Patch 8.0.1631 +Problem: Testing with Vim running in terminal is a bit flaky. +Solution: Delete any .swp file so that later tests don't fail. +Files: src/testdir/screendump.vim + +Patch 8.0.1632 +Problem: In a terminal dump NUL and space considered are different, + although they are displayed the same. +Solution: When encountering NUL handle it like space. +Files: src/terminal.c + +Patch 8.0.1633 +Problem: A TextChanged autocmd triggers when it is defined after creating a + buffer. +Solution: Set b_last_changedtick when opening a buffer. (Hirohito Higashi, + closes #2742) +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 8.0.1634 +Problem: The ex_vimgrep() function is too long. +Solution: Split it in smaller functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1635 +Problem: Undefining _POSIX_THREADS causes problems with Python 3. (Micah + Bucy, closes #2748) +Solution: Remove the lines. +Files: src/if_python3.c + +Patch 8.0.1636 +Problem: No test for term_dumpload() and term_dumpdiff(). +Solution: Add tests. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1637 +Problem: No test for term_dumpdiff() options argument. +Solution: Add a test. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1638 +Problem: Popup test fails depending on environment variable. +Solution: Reset $COLORFGBG when running Vim in a terminal. (closes #2693) +Files: src/testdir/screendump.vim + +Patch 8.0.1639 +Problem: Libvterm code lags behind master. +Solution: Sync to head, solve merge problems. +Files: src/libvterm/README, src/libvterm/bin/unterm.c, + src/libvterm/bin/vterm-ctrl.c, src/libvterm/bin/vterm-dump.c, + src/libvterm/doc/URLs, src/libvterm/doc/seqs.txt, + src/libvterm/include/vterm.h, + src/libvterm/include/vterm_keycodes.h, src/libvterm/src/mouse.c, + src/libvterm/src/parser.c, src/libvterm/src/pen.c, + src/libvterm/src/screen.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/10state_putglyph.test, + src/libvterm/t/25state_input.test, src/libvterm/t/harness.c, + src/libvterm/t/26state_query.test + +Patch 8.0.1640 +Problem: Test_cwd() is flaky. +Solution: Add to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.0.1641 +Problem: Job in terminal can't communicate with Vim. +Solution: Add the terminal API. +Files: src/terminal.c, src/buffer.c, src/testdir/test_terminal.vim, + src/testdir/screendump.vim, runtime/doc/terminal.txt + +Patch 8.0.1642 +Problem: Running Vim in terminal fails with two windows. +Solution: Pass the number of rows to RunVimInTerminal(). +Files: src/testdir/screendump.vim, src/testdir/test_terminal.vim + +Patch 8.0.1643 +Problem: Terminal API tests fail. +Solution: Explicitly set 'title'. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1644 +Problem: Terminal API tests still fail. +Solution: Explicitly set 'title' in the terminal job. (Ozaki Kiichi, + closes #2750) +Files: src/testdir/test_terminal.vim, src/testdir/screendump.vim + +Patch 8.0.1645 +Problem: Test for terminal response to escape sequence fails for some + people. (toothpik) +Solution: Run "cat" and let it echo the characters. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1646 +Problem: MS-Windows: executable contains unreferenced functions and data. +Solution: Add /opt:ref to the compiler command. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 8.0.1647 +Problem: Terminal API may call a function not meant to be called by this + API. +Solution: Require the function to start with Tapi_. +Files: runtime/doc/terminal.txt, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.0.1648 +Problem: Resource fork tool doesn't work on Python 3. +Solution: Use "print()" instead of "print". (Marius Gedminas) +Files: src/dehqx.py + +Patch 8.0.1649 +Problem: No completion for argument list commands. +Solution: Add arglist completion. (Yegappan Lakshmanan, closes #2706) +Files: runtime/doc/eval.txt, runtime/doc/map.txt, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/proto/ex_cmds2.pro, + src/testdir/test_cmdline.vim, src/vim.h + +Patch 8.0.1650 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_LISTCMDS, no reason to leave out buffer commands. +Files: runtime/doc/various.txt, src/buffer.c, src/charset.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, + src/version.c, src/feature.h + +Patch 8.0.1651 +Problem: Cannot filter :ls output for terminal buffers. +Solution: Add flags for terminal buffers. (Marcin Szamotulski, closes #2751) +Files: runtime/doc/windows.txt, src/buffer.c, + src/testdir/test_terminal.vim + +Patch 8.0.1652 +Problem: term_dumpwrite() does not output composing characters. +Solution: Use the cell index. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1653 +Problem: Screen dump is made too soon. +Solution: Wait until the ruler is displayed. (Ozaki Kiichi, closes #2755) +Files: src/testdir/dumps/Test_popup_command_01.dump, + src/testdir/dumps/Test_popup_command_02.dump, + src/testdir/screendump.vim, src/testdir/test_autocmd.vim, + src/testdir/test_terminal.vim + +Patch 8.0.1654 +Problem: Warnings for conversion of void to function pointer. +Solution: Use a temp variable that is a function pointer. +Files: src/if_python.c, src/if_python3.c + +Patch 8.0.1655 +Problem: Outdated gdb message in terminal debugger unclear. +Solution: Specifically mention the required gdb version. Avoid getting + stuck on pagination. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.0.1656 +Problem: No option to have xxd produce upper case variable names. +Solution: Add the -C argument. (Matt Panaro, closes #2772) +Files: src/xxd/xxd.c + +Patch 8.0.1657 +Problem: Crash when reading a channel. +Solution: Clear the write flag before writing. (idea by Shinya Ohyanagi, + closes #2769). +Files: src/channel.c + +Patch 8.0.1658 +Problem: Capitalize argument not available in long form. +Solution: Recognize -capitalize. Update man page. +Files: src/xxd/xxd.c, runtime/doc/xxd.1, runtime/doc/xxd.man + +Patch 8.0.1659 +Problem: Scroll events not recognized for some xterm emulators. +Solution: Recognize mouse codes 0x40 and 0x41 as scroll events. +Files: src/term.c + +Patch 8.0.1660 +Problem: The terminal API "drop" command doesn't support options. +Solution: Implement the options. +Files: src/terminal.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_cmds.h, src/eval.c, src/misc2.c, src/fileio.c, + src/testdir/test_terminal.vim, runtime/doc/terminal.txt + +Patch 8.0.1661 +Problem: Warnings from 64 bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/terminal.c + +Patch 8.0.1662 +Problem: Showing dump diff doesn't mention both file names. +Solution: Add the file name in the separator line. +Files: src/terminal.c + +Patch 8.0.1663 (after 8.0.1660) +Problem: Cannot build without multi-byte feature. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.0.1664 +Problem: Test failure because of not allocating enough space. +Solution: Allocate more bytes. +Files: src/terminal.c + +Patch 8.0.1665 +Problem: When running a terminal from the GUI 'term' is not useful. +Solution: Use $TERM in the GUI if it starts with "xterm". (closes #2776) +Files: src/os_unix.c, runtime/doc/terminal.txt + +Patch 8.0.1666 +Problem: % argument in ch_log() causes trouble. +Solution: Use string as third argument in internal ch_log(). (Dominique + Pelle, closes #2784) +Files: src/evalfunc.c, src/testdir/test_channel.vim + +Patch 8.0.1667 +Problem: Terminal window tests are flaky. +Solution: Increase the waiting time for Vim to start. +Files: src/testdir/screendump.vim + +Patch 8.0.1668 +Problem: Terminal debugger: can't re-open source code window. +Solution: Add the :Source command. Also create the window if needed when + gdb stops at a source line. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1669 +Problem: :vimgrep may add entries to the wrong quickfix list. +Solution: Use the list identifier. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1670 +Problem: Terminal window tests are still a bit flaky. +Solution: Increase the waiting time for the buffer to be created. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1671 +Problem: Crash when passing non-dict argument as env to job_start(). +Solution: Check for valid argument. (Ozaki Kiichi, closes #2765) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.0.1672 +Problem: Error during completion causes command to be cancelled. +Solution: Reset did_emsg before waiting for another character. (Tom M.) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.0.1673 +Problem: Terminal window tests are still a bit flaky. +Solution: Increase the waiting time even more. (Elimar Riesebieter) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1674 +Problem: Libvterm can't handle a long OSC string that is split. +Solution: When an incomplete OSC string is received copy it to the parser + buffer. Increase the size of the parser buffer to be able to + handle longer strings. +Files: src/libvterm/src/parser.c, src/libvterm/src/vterm.c + +Patch 8.0.1675 +Problem: Unused macro argument in libvterm. (Randall W. Morris) +Solution: Remove the argument. +Files: src/libvterm/src/parser.c + +Patch 8.0.1676 +Problem: No compiler warning for wrong printf format. +Solution: Add a printf attribute for gcc. Fix reported problems. (Dominique + Pelle, closes #2789) +Files: src/channel.c, src/vim.h, src/proto/channel.pro + +Patch 8.0.1677 +Problem: No compiler warning for wrong format in vim_snprintf(). +Solution: Add printf attribute for gcc. Fix reported problems. +Files: src/vim.h, src/proto.h, src/eval.c, src/fileio.c, src/mbyte.c, + src/ops.c, src/spellfile.c, src/undo.c, src/json.c + +Patch 8.0.1678 +Problem: Errorformat "%r" implies "%>". (Jan Gosmann) +Solution: Jump to before setting fmt_ptr. (Yegappan Lakshmanan, + closes #2785) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1679 +Problem: Compiler warning for printf format. (Chdiza) +Solution: Change type to "long long". (closes #2791) +Files: src/ops.c + +Patch 8.0.1680 +Problem: Memory allocated by libvterm does not show up in profile. +Solution: Pass allocator functions to vterm_new(). +Files: src/terminal.c + +Patch 8.0.1681 +Problem: The format attribute fails with MinGW. (John Marriott) +Solution: Don't use the format attribute with MinGW. +Files: src/vim.h, src/proto.h, src/channel.c + +Patch 8.0.1682 +Problem: Auto indenting breaks inserting a block. +Solution: Do not check for cursor movement if indent was changed. (Christian + Brabandt, closes #2778) +Files: src/testdir/test_blockedit.vim, src/testdir/Make_all.mak, + src/Makefile, src/ops.c + +Patch 8.0.1683 +Problem: Python upgrade breaks Vim when defining PYTHON_HOME. +Solution: Do not define PYTHON_HOME and PYTHON3_HOME in configure. (Naoki + Inada, closes #2787) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1684 +Problem: ml_get errors when using terminal window for shell command. + (Blay263) +Solution: Do not change the size of the current window. +Files: src/terminal.c + +Patch 8.0.1685 +Problem: Can't set ANSI colors of a terminal window. +Solution: Add term_setansicolors(), term_getansicolors() and + g:term_ansi_colors. (Andy Massimino, closes #2747) +Files: runtime/doc/eval.txt, runtime/doc/terminal.txt, src/channel.c, + src/evalfunc.c, src/proto/terminal.pro, src/structs.h, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1686 (after 8.0.1683) +Problem: Python does not work when configuring with specific dir. (Rajdeep) +Solution: Do define PYTHON_HOME and PYTHON3_HOME in configure if the Python + config dir was specified. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1687 +Problem: 64 bit compiler warnings. +Solution: change type, add type cast. (Mike Williams) +Files: src/terminal.c + +Patch 8.0.1688 +Problem: Some macros are used without a semicolon, causing auto-indent to be + wrong. +Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes #2729) +Files: src/buffer.c, src/dosinst.c, src/ex_cmds.c, src/gui_at_sb.c, + src/macros.h, src/main.c, src/memline.c, src/option.c, + src/os_vms.c, src/screen.c, src/window.c + +Patch 8.0.1689 +Problem: No tests for xxd. +Solution: Add a test. (Christian Brabandt) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Makefile, + src/testdir/test_xxd.vim, src/testdir/runtest.vim + +Patch 8.0.1690 +Problem: Not easy to run one test with gvim instead of vim. +Solution: Add VIMTESTTARGET in Makefile. +Files: src/Makefile + +Patch 8.0.1691 +Problem: Xxd test sometimes fails. +Solution: Wipe out the XXDfile buffer. +Files: src/testdir/test_xxd.vim + +Patch 8.0.1692 (after 8.0.1686) +Problem: Python may not work when using statically linked library. +Solution: Do not define PYTHON_HOME and PYTHON3_HOME in configure if the + Python library is linked statically. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1693 +Problem: Xxd is excluded from coverage statistics. +Solution: Don't skip the xxd directory. (Christian Brabandt) +Files: .travis.yml + +Patch 8.0.1694 +Problem: Terminal API test is a bit flaky. +Solution: Wait longer for Vim to stop. +Files: src/testdir/screendump.vim + +Patch 8.0.1695 +Problem: Xxd test not run on MS-Windows. +Solution: Use xxd.exe if it exists. +Files: src/testdir/test_xxd.vim + +Patch 8.0.1696 +Problem: Coverage statistics don't work. +Solution: Include the xxd directory. (Christian Brabandt) +Files: .travis.yml + +Patch 8.0.1697 +Problem: Various tests are still a bit flaky. +Solution: Increase the default wait time to five seconds. +Files: src/testdir/shared.vim, src/testdir/screendump.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_quotestar.vim, src/testdir/test_terminal.vim + +Patch 8.0.1698 +Problem: Coverage statistics don't work on coveralls. +Solution: Use curly braces for $SRCDIR. +Files: .travis.yml + +Patch 8.0.1699 +Problem: Leftover stuff for Python 1.4. +Solution: Remove outdated Python 1.4 stuff. (Naoki Inada, closes #2794) +Files: src/Makefile, src/config.aap.in, src/config.mk.in, + src/configure.ac, src/auto/configure + +Patch 8.0.1700 +Problem: Coverage statistics still don't work on coveralls. +Solution: Exclude the xxd directory again. +Files: .travis.yml + +Patch 8.0.1701 +Problem: Can disable COLOR_EMOJI with MSVC but not MinGW. +Solution: Add COLOR_EMOJI flag. Also add some empty lines for readability. +Files: src/Make_cyg_ming.mak + +Patch 8.0.1702 +Problem: Leaking memory when autocommands make a quickfix list invalid. +Solution: Call FreeWild(). (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1703 +Problem: In the tutor 'showcmd' is not set. +Solution: Set 'showcmd' in the vimtutor script. (Ken Takata, closes #2792) +Files: src/vimtutor + +Patch 8.0.1704 +Problem: 'backupskip' default doesn't work for Mac. +Solution: Use "/private/tmp". (Rainer Müller, closes #2793) +Files: src/option.c, src/testdir/test_options.vim, + runtime/doc/options.txt + +Patch 8.0.1705 +Problem: When making a vertical split the mode message isn't always + updated, "VISUAL" remains. (Alexei Averchenko) +Solution: Only reset clear_cmdline when filling all columns of the last + screen line. (Tom M. closes #2611) +Files: src/screen.c, src/testdir/test_window_cmd.vim + +Patch 8.0.1706 +Problem: Cannot send CTRL-\ to a terminal window. +Solution: Make CTRL-W CTRL-\ send CTRL-\ to a terminal window. +Files: src/terminal.c, runtime/doc/terminal.txt + +Patch 8.0.1707 +Problem: When 'wfh' is set ":bel 10new" scrolls window. (Andrew Pyatkov) +Solution: Set the fraction before changing the window height. (closes #2798) +Files: src/window.c + +Patch 8.0.1708 +Problem: Mkdir with 'p' flag fails on existing directory, which is + different from the mkdir shell command. +Solution: Don't fail if the directory already exists. (James McCoy, + closes #2775) +Files: src/evalfunc.c, src/testdir/test_eval_stuff.vim, + runtime/doc/eval.txt + +Patch 8.0.1709 +Problem: Some non-C89 code may slip through. +Solution: Enforce C89 in configure. Fix detected problems. (James McCoy, + closes #2735) +Files: src/channel.c, src/configure.ac, src/auto/configure, + src/gui_gtk_x11.c, src/if_python3.c + +Patch 8.0.1710 +Problem: Building with Ruby fails. +Solution: Don't add -ansi when building with Ruby. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1711 +Problem: Term_setsize() is not implemented yet. +Solution: Implement it. +Files: src/evalfunc.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim, runtime/doc/eval.txt + +Patch 8.0.1712 +Problem: Terminal scrollback is not limited. +Solution: Add the 'terminalscroll' option. +Files: src/terminal.c, src/option.h, src/option.c, + runtime/doc/options.txt, runtime/doc/terminal.txt + +Patch 8.0.1713 +Problem: Terminal debugger doesn't handle arguments. +Solution: Use <f-args> and pass all the arguments to gdb, e.g. the core file + or process number. (suggested by Christian Brabandt) Disallow + starting the debugger twice. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1714 +Problem: Term_setsize() does not give an error in a normal buffer. +Solution: Add an error message. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1715 +Problem: Terminal buffer can be 1 more than 'terminalscroll' lines. +Solution: Change > to >=. +Files: src/terminal.c + +Patch 8.0.1716 +Problem: Test for term_setsize() does not give a good error message. +Solution: use assert_inrange(). +Files: src/testdir/test_terminal.vim + +Patch 8.0.1717 +Problem: C89 check causes too much trouble. +Solution: Remove enforcing C89 for now. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1718 +Problem: Terminal scrollback test fails on MS-Windows. +Solution: Check for the last line of output anticipating there might be an + empty line below it. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1719 +Problem: Cannot specify which Python executable configure should use. +Solution: Add --with-python-command and --with-python3-command. +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1720 +Problem: When a timer is running a terminal window may not close after a + shell has exited. +Solution: Call job_status() more often. +Files: src/terminal.c + +Patch 8.0.1721 +Problem: No test for using the 'termsize' option. +Solution: Add a test. +Files: src/testdir/screendump.vim, src/testdir/test_terminal.vim + +Patch 8.0.1722 +Problem: Cannot specify a minimal size for a terminal window. +Solution: Support the "rows*cols" format for 'winsize'. +Files: src/terminal.c, src/testdir/test_terminal.vim, src/option.c, + runtime/doc/options.txt + +Patch 8.0.1723 +Problem: Using one item array size declaration is misleading. +Solution: Instead of using "[1]" and actually using a larger array, use + "[]". This is to verify that this C99 feature works for all + compilers. +Files: src/structs.h, src/getchar.c + +Patch 8.0.1724 +Problem: Declarations cannot be halfway a block. +Solution: Move one declaration to check if this works for all compilers. +Files: src/main.c + +Patch 8.0.1725 +Problem: Terminal debugger doesn't handle command arguments. +Solution: Add the :TermdebugCommand command. Use a ! to execute right away. + (Christian Brabandt) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + runtime/doc/terminal.txt + +Patch 8.0.1726 (after 8.0.1724) +Problem: Older MSVC doesn't support declarations halfway a block. +Solution: Move the declaration back to the start of the block. +Files: src/main.c + +Patch 8.0.1727 +Problem: qf_get_properties() function is too long. +Solution: Refactor the code. (Yegappan Lakshmanan, closes #2807) +Files: src/quickfix.c + +Patch 8.0.1728 +Problem: Condition always false, useless code. +Solution: Remove the code. (Nikolai Pavlov, closes #2808) +Files: src/message.c + +Patch 8.0.1729 +Problem: No comma after last enum item. +Solution: Add a few commas to check if this works for all compilers. Also + add a few // comments. +Files: src/structs.h + +Patch 8.0.1730 +Problem: No configure check for the used C99 features. +Solution: Add a compilation check. Tentatively document C99 features. +Files: src/configure.ac, src/auto/configure, runtime/doc/develop.txt + +Patch 8.0.1731 +Problem: Characters deleted on completion. (Adrià Farrés) +Solution: Also check the last item for the ORIGINAL_TEXT flag. (Christian + Brabandt, closes #1645) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.1732 +Problem: Crash when terminal API call deletes the buffer. +Solution: Lock the buffer while calling a function. (closes #2813) +Files: src/buffer.c, src/terminal.c, src/testdir/test_terminal.vim, + src/testdir/test_autocmd.vim + +Patch 8.0.1733 +Problem: Incomplete testing for completion fix. (Lifepillar) +Solution: Add a test with CTRL-P. +Files: src/testdir/test_popup.vim + +Patch 8.0.1734 +Problem: Package directory not added to 'rtp' if prefix matches. +Solution: Check the match is a full match. (Ozaki Kiichi, closes #2817) + Also handle different ways of spelling a path. +Files: src/testdir/test_packadd.vim, src/ex_cmds2.c + +Patch 8.0.1735 (after 8.0.1723 and 8.0.1730) +Problem: Flexible array member feature not supported by HP-UX. (John + Marriott) +Solution: Do not use the flexible array member feature of C99. +Files: src/configure.ac, src/auto/configure, src/structs.h, + src/getchar.c, runtime/doc/develop.txt + +Patch 8.0.1736 +Problem: Check for C99 features is incomplete. +Solution: Use AC_PROG_CC_C99 and when C99 isn't fully supported check the + features we need. (James McCoy, closes #2820) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1737 +Problem: fchown() used when it is not supported. +Solution: Add #ifdef. +Files: src/fileio.c + +Patch 8.0.1738 +Problem: ":args" output is hard to read. +Solution: Make columns with the names if the output is more than one line. +Files: src/ex_cmds2.c, src/version.c, src/proto/version.pro, + src/testdir/test_arglist.vim + +Patch 8.0.1739 +Problem: MS-Windows with msys2 cannot build Ruby statically. +Solution: Define RUBY_VERSION. (Gray Wolf, closes #2826) +Files: src/Make_cyg_ming.mak + +Patch 8.0.1740 +Problem: Warning for signed-unsigned incompatibility. +Solution: Change type from "char *" to "char_u *". (John Marriott) +Files: src/ex_cmds2.c + +Patch 8.0.1741 +Problem: MS-Windows with msys2 cannot build Ruby statically. +Solution: Add RUBY_VERSION to CFLAGS later. (Gray Wolf, closes #2833) +Files: src/Make_cyg_ming.mak + +Patch 8.0.1742 +Problem: Cannot get a list of all the jobs. Cannot get the command of + the job. +Solution: When job_info() is called without an argument return a list of + jobs. Otherwise, include the command that the job is running. + (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/channel.c, src/evalfunc.c, + src/proto/channel.pro, src/structs.h, src/testdir/test_channel.vim + +Patch 8.0.1743 +Problem: Terminal window options are named inconsistently. +Solution: prefix terminal window options with "termwin". Keep the old names + for now as an alias. +Files: src/option.c, src/option.h, src/structs.h, src/terminal.c, + src/testdir/test_terminal.vim, src/testdir/gen_opt_test.vim, + runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/doc/terminal.txt, runtime/optwin.vim + +Patch 8.0.1744 +Problem: On some systems /dev/stdout isn't writable. +Solution: Skip test if writing is not possible. (James McCoy, closes #2830) +Files: src/testdir/test_writefile.vim + +Patch 8.0.1745 +Problem: Build failure on MS-Windows. +Solution: Build job arguments for MS-Windows. Fix allocating job twice. +Files: src/structs.h, src/channel.c, src/os_unix.c, src/misc2.c, + src/terminal.c, src/proto/misc2.pro + +Patch 8.0.1746 +Problem: MS-Windows: channel tests fail. +Solution: Make a copy of the command before splitting it. +Files: src/channel.c + +Patch 8.0.1747 +Problem: MS-Windows: term_start() does not set job_info() cmd. +Solution: Share the code from job_start() to set jv_argv. +Files: src/testdir/test_terminal.vim, src/channel.c, src/misc2.c, + src/proto/misc2.pro, src/terminal.c + +Patch 8.0.1748 +Problem: CmdlineEnter command uses backslash instead of slash. +Solution: Don't treat the character as a file name. (closes #2837) +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 8.0.1749 +Problem: VMS: 100% CPU use, redefining mch_open() and mch_fopen() fails. +Solution: Do not wait indefinitely in RealWaitForChar(). (Neil Rieck) + Do not redefine mch_open() and mch_fopen() on VMS. (Zoltan + Arpadffy) +Files: src/os_vms.c, src/vim.h + +Patch 8.0.1750 +Problem: Crash when clearing location list in autocommand. +Solution: Check if "qi" equals "ql_info". (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1751 +Problem: #ifdef causes bad highlighting. +Solution: Move code around. (Ozaki Kiichi, closes #2731) +Files: src/ui.c + +Patch 8.0.1752 +Problem: qf_set_properties() is to long. +Solution: Refactor the function. Define INVALID_QFIDX. (Yegappan + Lakshmanan, closes #2812) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1753 +Problem: Various warnings from a static analyser +Solution: Add type casts, remove unneeded conditions. (Christian Brabandt, + closes #2770) +Files: src/evalfunc.c, src/ex_cmds2.c, src/fileio.c, src/getchar.c, + src/normal.c, src/os_unix.c, src/search.c, src/term.c + +Patch 8.0.1754 +Problem: ex_helpgrep() is too long. +Solution: Refactor the function. (Yegappan Lakshmanan, closes #2766) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1755 +Problem: MS-Windows GUI: high unicode char received as two utf-16 words. +Solution: Keep the first word until the second word is received. (Chris + Morgan, closes #2800) +Files: src/gui_w32.c + +Patch 8.0.1756 +Problem: GUI: after prompting for a number the mouse shape is sometimes + wrong. +Solution: Call setmouse() after setting "State". (Hirohito Higashi, + closes #2709) +Files: src/misc1.c + +Patch 8.0.1757 +Problem: Unnecessary changes in libvterm. +Solution: Bring back // comments and trailing comma in enums. +Files: src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-ctrl.c, + src/libvterm/bin/vterm-dump.c, src/libvterm/include/vterm.h, + src/libvterm/include/vterm_keycodes.h, + src/libvterm/src/encoding.c, src/libvterm/src/keyboard.c, + src/libvterm/src/parser.c, src/libvterm/src/pen.c, + src/libvterm/src/screen.c, src/libvterm/src/state.c, + src/libvterm/src/unicode.c, src/libvterm/src/utf8.h, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h + +Patch 8.0.1758 +Problem: open_line() returns TRUE/FALSE for success/failure. +Solution: Return OK or FAIL. +Files: src/misc1.c, src/normal.c, src/edit.c + +Patch 8.0.1759 +Problem: Memory leak from duplicate options. (Yegappan Lakshmanan) +Solution: Don't set the default value twice. +Files: src/option.c + +Patch 8.0.1760 +Problem: Wrong number of arguments to vms_read(). +Solution: Drop the first argument. (Ozaki Kiichi) +Files: src/ui.c + +Patch 8.0.1761 +Problem: Job in terminal window with no output channel is killed. +Solution: Keep the job running when the input is a tty. (Ozaki Kiichi, + closes #2734) +Files: src/channel.c, src/os_unix.c, src/testdir/test_channel.vim + +Patch 8.0.1762 +Problem: Terminal debug logging is a bit complicated. +Solution: Make log_tr() use variable arguments (Ozaki Kiichi, closes #2730) +Files: src/term.c + +Patch 8.0.1763 +Problem: :argedit does not reuse an empty unnamed buffer. +Solution: Add the BLN_CURBUF flag and fix all the side effects. (Christian + Brabandt, closes #2713) +Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, + src/testdir/test_arglist.vim, src/testdir/test_command_count.vim + +Patch 8.0.1764 +Problem: Lgtm considers tutor.es to be EcmaScript. +Solution: Add a config file for lgtm. (Bas van Schaik, closes #2844) +Files: .lgtm.yml, Filelist + +Patch 8.0.1765 +Problem: CTRL-G j in Insert mode is incorrect when 'virtualedit' is set. +Solution: Take coladd into account. (Christian Brabandt, closes #2743) +Files: src/charset.c, src/testdir/test_virtualedit.vim + +Patch 8.0.1766 (after 8.0.1758) +Problem: Expanding abbreviation doesn't work. (Tooth Pik) +Solution: Return OK instead of FALSE and FAIL instead of TRUE. (Christian + Brabandt) +Files: src/edit.c, src/testdir/test_mapping.vim + +Patch 8.0.1767 +Problem: With 'incsearch' text may jump up and down. () +Solution: Besides w_botline also save and restore w_empty_rows. + (closes #2530) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_scrolling_01.dump + +Patch 8.0.1768 +Problem: SET_NO_HLSEARCH() used in a wrong way. +Solution: Make it a function. (suggested by Dominique Pelle, + closes #2850) +Files: src/vim.h, src/ex_docmd.c, src/proto/ex_docmd.pro, src/search.c, + src/ex_getln.c, src/option.c, src/screen.c, src/tag.c + +Patch 8.0.1769 +Problem: Repeated saving and restoring viewstate for 'incsearch'. +Solution: Use a structure. +Files: src/ex_getln.c + +Patch 8.0.1770 +Problem: Assert functions don't return anything. +Solution: Return non-zero when the assertion fails. +Files: src/evalfunc.c, src/eval.c, src/proto/eval.pro, + src/testdir/test_assert.vim, runtime/doc/eval.txt + +Patch 8.0.1771 +Problem: In tests, when WaitFor() fails it doesn't say why. (James McCoy) +Solution: Add WaitForAssert(), which produces an assert error when it fails. +Files: src/testdir/shared.vim, src/testdir/test_terminal.vim, + src/testdir/screendump.vim, src/testdir/test_autocmd.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_job_fails.vim + +Patch 8.0.1772 +Problem: Quickfix: mixup of FALSE and FAIL, returning -1. +Solution: Use FAIL and INVALID_QFIDX. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.0.1773 +Problem: Dialog messages are not translated. +Solution: Add N_() and _() where needed. (Sergey Alyoshin) +Files: src/diff.c, src/ex_cmds2.c, src/ex_docmd.c, src/message.c, + src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak, + src/po/Makefile, src/quickfix.c, src/vim.h + +Patch 8.0.1774 +Problem: Reading very long lines can be slow. +Solution: Read up to 1 Mbyte at a time to avoid a lot of copying. Add a + check for going over the column limit. +Files: src/fileio.c + +Patch 8.0.1775 +Problem: MS-Windows: warning for unused variable. +Solution: Move declaration inside #ifdef. (Mike Williams) +Files: src/channel.c + +Patch 8.0.1776 +Problem: In tests, when WaitFor() fails it doesn't say why. +Solution: Turn a few more WaitFor() into WaitForAssert(). +Files: src/testdir/test_popup.vim, src/testdir/test_quotestar.vim, + src/testdir/test_search.vim, src/testdir/test_terminal.vim, + src/testdir/test_timers.vim + +Patch 8.0.1777 +Problem: Cannot cleanup before loading another colorscheme. +Solution: Add the ColorSchemePre autocommand event. +Files: src/fileio.c, src/syntax.c, src/vim.h, src/testdir/test_gui.vim, + runtime/colors/README.txt + +Patch 8.0.1778 +Problem: Script to check translations does not always work. +Solution: Go to first line before searching for MIME. +Files: src/po/check.vim + +Patch 8.0.1779 +Problem: Deleting in a block selection causes problems. +Solution: Check the length of the line before adding bd.textcol and + bd.textlen. (Christian Brabandt, closes #2825) +Files: src/ops.c, src/testdir/test_blockedit.vim + +Patch 8.0.1780 +Problem: Test fails because Vim in a terminal uses wrong 'encoding'. +Solution: Set encoding in the test where it matters. (James McCoy, + closes #2847) +Files: src/testdir/test_terminal.vim + +Patch 8.0.1781 +Problem: File names in quickfix window are not always shortened. +Solution: Shorten the file name when opening the quickfix window. (Yegappan + Lakshmanan, closes #2851, closes #2846) +Files: src/testdir/test_quickfix.vim, src/fileio.c, src/proto/fileio.pro, + src/quickfix.c + +Patch 8.0.1782 +Problem: No simple way to label quickfix entries. +Solution: Add the "module" item, to be used instead of the file name for + display purposes. (Marcin Szamotulski, closes #1757) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/alloc.h, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1783 +Problem: Cannot use 256 colors in a MS-Windows console. +Solution: Add 256 color support. (Nobuhiro Takasaki, closes #2821) +Files: src/misc1.c, src/option.c, src/os_win32.c, src/proto/os_win32.pro, + src/term.c, src/proto/term.pro, src/terminal.c + +Patch 8.0.1784 (after 8.0.1782) +Problem: Gvim test gets stuck in dialog. +Solution: Rename the file used. +Files: src/testdir/test_quickfix.vim + +Patch 8.0.1785 (after 8.0.1783) +Problem: Missing symbol in Win32 small build. +Solution: Define VTERM_ANSI_INDEX_NONE without the terminal feature. Also + fix unused function with #ifdef. +Files: src/term.c, src/os_win32.c + +Patch 8.0.1786 +Problem: No test for 'termwinkey'. +Solution: Add a test. Make feedkeys() handle terminal_loop() returning + before characters are consumed. +Files: src/testdir/test_terminal.vim, src/terminal.c, src/evalfunc.c, + src/ex_docmd.c, src/getchar.c, src/keymap.h + +Patch 8.0.1787 +Problem: Cannot insert the whole cursor line. +Solution: Make CTRL-R CTRL-L work. (Andy Massimino, closes #2857) +Files: runtime/doc/cmdline.txt, src/ex_getln.c, src/ops.c, + src/testdir/test_cmdline.vim + +Patch 8.0.1788 +Problem: Tool to check a color scheme is not installed. +Solution: Update the install rule. (Christian Brabandt) +Files: src/Makefile + +Patch 8.0.1789 +Problem: BufWinEnter does not work well for a terminal window. +Solution: Do not trigger BufWinEnter when opening a terminal window. +Files: src/terminal.c, runtime/doc/autocmd.txt, + src/testdir/test_terminal.vim + +Patch 8.0.1790 +Problem: 'winfixwidth' is not always respected by :close. +Solution: Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason + Franklin) +Files: src/window.c, src/testdir/test_winbuf_close.vim + +Patch 8.0.1791 +Problem: Using uint8_t does not work everywhere. +Solution: Use char_u instead. +Files: src/term.c, src/proto/term.pro, src/os_win32.c + +Patch 8.0.1792 +Problem: MS-Windows users expect -? to work like --help. +Solution: Add -?. (Christian Brabandt, closes #2867) +Files: src/main.c + +Patch 8.0.1793 +Problem: No test for "vim -g". +Solution: Add a test for "-g" and "-y". +Files: src/testdir/shared.vim, src/testdir/test_gui.vim + +Patch 8.0.1794 +Problem: Duplicate term options after renaming. +Solution: Remove the old names 'termkey', 'termsize' and 'terminalscroll'. +Files: src/option.c, src/terminal.c, src/option.h, + src/testdir/gen_opt_test.vim, src/testdir/screendump.vim + +Patch 8.0.1795 +Problem: Lose contact with jobs when :gui forks. +Solution: Don't fork when there is a running job. Make log message for a + died job clearer. Also close the terminal when stderr and stdout + are the same FD. +Files: src/gui.h, src/gui.c, src/channel.c, src/proto/channel.pro, + src/os_unix.c, src/terminal.c + +Patch 8.0.1796 +Problem: GUI: click on tab fails when the focus is in a terminal window. +Solution: Handle K_TABLINE. +Files: src/terminal.c + +Patch 8.0.1797 +Problem: Terminal window is redrawn too often and scrolling is repeated. +Solution: Don't scroll immediately but only when redrawing. Avoid redrawing + the whole terminal window on every change. +Files: src/terminal.c, src/screen.c, src/proto/terminal.pro + +Patch 8.0.1798 +Problem: MS-Windows: file considered read-only when another program has + opened it. +Solution: Pass file sharing flag to CreateFile(). (Linwei, closes #2860) +Files: src/os_win32.c + +Patch 8.0.1799 +Problem: No test for :registers command. +Solution: Add a test. (Dominique Pelle, closes #2880) +Files: src/testdir/test_registers.vim + +Patch 8.0.1800 +Problem: X11: getting color is slow. +Solution: Avoid using sprintf() and XParseColor(), put the RGB values in + XColor directly. +Files: src/gui_x11.c + +Patch 8.0.1801 +Problem: MS-Windows: redirecting terminal output does not work. +Solution: Intercept the text written to the terminal and write it to the + file. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1802 (after 8.0.1802) +Problem: MS-Windows: terminal test fails. +Solution: Close redirected output file earlier. +Files: src/terminal.c + +Patch 8.0.1803 +Problem: Warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize it. +Files: src/terminal.c + +Patch 8.0.1804 +Problem: Using :normal in terminal window causes problems. (Dominique + Pelle) +Solution: Don't call terminal_loop() for :normal. (closes #2886) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/evalfunc.c + +Patch 8.0.1805 +Problem: qf_parse_line() is too long. +Solution: Split it in parts. Properly handle vim_realloc() failing. + (Yegappan Lakshmanan, closes #2881) +Files: src/quickfix.c + +Patch 8.0.1806 +Problem: InsertCharPre causes problems for autocomplete. (Lifepillar) +Solution: Check for InsertCharPre before calling vpeekc(). (Christian + Brabandt, closes #2876) +Files: src/edit.c, src/testdir/test_popup.vim + +Patch 8.0.1807 +Problem: Function to set terminal name is too long. +Solution: Refactor the function. Fix typo in test. +Files: src/term.c, src/testdir/test_options.vim + +Patch 8.0.1808 (after 8.0.1807) +Problem: Can't build without TGETENT. +Solution: Add #ifdef +Files: src/term.c + +Patch 8.0.1809 +Problem: Various typos. +Solution: Correct the mistakes, change "cursur" to "cursor". (closes #2887) +Files: src/edit.c, src/normal.c, src/screen.c, src/proto/screen.pro, + src/ui.c + +Patch 8.0.1810 +Problem: Buffer of a terminal only updated in Terminal-Normal mode. +Solution: Copy the terminal window content to the buffer when in + Terminal-Job mode. +Files: src/terminal.c, src/proto/terminal.pro, src/ex_cmds2.c, + src/proto/ex_cmds2.pro + +Patch 8.0.1811 +Problem: No test for winrestcmd(). +Solution: Add a test. (Dominique Pelle, closes #2894) +Files: src/testdir/test_window_cmd.vim + +Patch 8.0.1812 +Problem: The qf_jump_to_usable_window() function is too long. +Solution: Split it in parts. (Yegappan Lakshmanan, closes #2891) +Files: src/quickfix.c + +Patch 8.0.1813 +Problem: Windows installer doesn't install terminal debugger. +Solution: Add the package to the list of files to install. +Files: nsis/gvim.nsi + +Patch 8.0.1814 +Problem: Crash with terminal window and with 'lazyredraw' set. (Antoine) +Solution: Check the terminal still exists after update_screen(). +Files: src/terminal.c + +Patch 8.0.1815 (after 8.0.1814) +Problem: Still a crash with terminal window and with 'lazyredraw' set. + (Antoine) +Solution: Do not wipe out the buffer when updating the screen. +Files: src/terminal.c, src/proto/terminal.pro, src/screen.c, + src/proto/screen.pro, src/ui.c + +Patch 8.0.1816 +Problem: No test for setcmdpos(). +Solution: Add a test. (Dominique Pelle, closes #2901) +Files: src/testdir/test_cmdline.vim + +Patch 8.0.1817 +Problem: A timer may change v:count unexpectedly. +Solution: Save and restore v:count and similar variables when a timer + callback is invoked. (closes #2897) +Files: src/eval.c, src/proto/eval.pro, src/ex_cmds2.c, src/structs.h, + src/testdir/test_timers.vim + +Patch 8.0.1818 (after 8.0.1810) +Problem: Lines remove from wrong buffer when using terminal window. +Solution: Make sure to use tl_buffer. +Files: src/terminal.c + +Patch 8.0.1819 +Problem: Swap file warning for a file in a non-existing directory, if there + is another with the same file name. (Juergen Weigert) +Solution: When expanding the file name fails compare the file names. +Files: src/testdir/test_swap.vim, src/memline.c + +Patch 8.0.1820 +Problem: Terminal window redirecting stdout does not show stderr. (Matéo + Zanibelli) +Solution: When stdout is not connected to pty_master_fd then use it for + stderr. (closes #2903) +Files: src/os_unix.c, src/testdir/test_terminal.vim + +Patch 8.0.1821 +Problem: Cursor in terminal window moves when pressing CTRL-W. (Dominique + Pelle) +Solution: Do not more the cursor or redraw when not in Terminal-Normal mode. + (closes #2904) +Files: src/terminal.c + +Patch 8.0.1822 +Problem: Make uninstall does not remove colors/tools. +Solution: Add a line to delete the tools directory. (Kazunobu Kuriyama) +Files: src/Makefile + +Patch 8.0.1823 +Problem: Test for terminal stdout redirection is flaky. +Solution: Wait for the job to finish. +Files: src/testdir/test_terminal.vim + +Patch 8.0.1824 +Problem: Coverity warns for variable that may be uninitialized. +Solution: Initialize the variable. +Files: src/terminal.c + +Patch 8.0.1825 +Problem: Might use NULL pointer when out of memory. (Coverity) +Solution: Handle NULL pointer better. +Files: src/getchar.c + +Patch 8.0.1826 +Problem: Configure uses old compiler flag. +Solution: Remove _DARWIN_C_SOURCE. (Kazunobu Kuriyama) +Files: src/configure.ac, src/auto/configure + +Patch 8.0.1827 +Problem: Compiler warning for signed/unsigned char pointers. (Cesar Romani) +Solution: Change the type of jv_argv. +Files: src/channel.c, src/structs.h + +Patch 8.0.1828 +Problem: Get no clue why :gui does not fork. +Solution: Add a channel log message. +Files: src/channel.c + +Patch 8.0.1829 +Problem: MS-Windows: script for vimdiff can't handle ! chars. +Solution: Escape the ! chars. (Hans Ginzel, closes #2896) +Files: src/dosinst.c + +Patch 8.0.1830 +Problem: Switching to Terminal-Normal mode does not redraw. (Dominique + Pelle) +Solution: Also redraw when not updating the snapshot. (closes #2904) +Files: src/terminal.c + +Patch 8.0.1831 +Problem: Sometimes the quickfix title is incorrectly prefixed with ':'. +Solution: Prepend the colon in another way. (Yegappan Lakshmanan, closes + #2905) +Files: src/evalfunc.c, src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.0.1832 +Problem: Cannot use :unlet for an environment variable. +Solution: Make it work. Use unsetenv() if available. (Yasuhiro Matsumoto, + closes #2855) +Files: runtime/doc/eval.txt, src/config.h.in, src/configure.ac, + src/auto/configure, src/eval.c, src/misc1.c, src/proto/misc1.pro, + src/testdir/test_unlet.vim + +Patch 8.0.1833 +Problem: X11: ":echo 3.14" gives E806. +Solution: set LC_NUMERIC to "C". (Dominique Pelle, closes #2368) +Files: src/gui_x11.c + +Patch 8.0.1834 +Problem: GUI: find/replace dialog does not handle some chars properly. +Solution: Escape '?' when needed. Always escape backslash. (closes #2418, + closes #2435) +Files: src/gui.c + +Patch 8.0.1835 +Problem: Print document name does not support multi-byte. +Solution: Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478) +Files: src/os_mswin.c + +Patch 8.0.1836 +Problem: Buffer-local window options may not be recent if the buffer is + still open in another window. +Solution: Copy the options from the window instead of the outdated window + options. (Bjorn Linse, closes #2336) +Files: src/buffer.c, src/testdir/test_options.vim + +Patch 8.0.1837 +Problem: One character cmdline abbreviation not triggered after '<,'>. +Solution: Skip over the special range. (Christian Brabandt, closes #2320) +Files: src/ex_getln.c, src/testdir/test_mapping.vim + +Patch 8.0.1838 +Problem: Cursor in wrong position when switching to Terminal-Normal mode. + (Dominique Pelle) +Solution: Move to the end of the line if coladvance() fails. Do not take a + snapshot a second time. +Files: src/terminal.c + +Patch 8.0.1839 +Problem: Script to check .po file doesn't check for plural header. +Solution: Add a check that the plural header is present when needed. +Files: src/po/check.vim + +Patch 8.0.1840 +Problem: getwinpos() is not tested. +Solution: Add a test. (Dominique Pelle, closes #2911) +Files: src/testdir/test_gui.vim + +Patch 8.0.1841 +Problem: HP-UX does not have setenv(). +Solution: Use vim_setenv(). (John Marriott) +Files: src/misc1.c + +Patch 8.0.1842 +Problem: Popup menu inside terminal window isn't cleared. +Solution: Use NOT_VALID in pum_undisplay(). (suggested by Christian + Brabandt, closes #2908) +Files: src/popupmnu.c + +Patch 8.0.1843 +Problem: Entry for 'wrap' in options window is wrong. (John Little) +Solution: Make the change apply locally. +Files: runtime/optwin.vim + +Patch 8.0.1844 +Problem: Superfluous quickfix code, missing examples. +Solution: Remove unneeded code. Add a few examples. Add a bit more + testing. (Yegappan Lakshmanan, closes #2916) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.0.1845 +Problem: Various comment updates needed, missing white space. +Solution: Update comments, add white space. +Files: src/getchar.c, src/testdir/test_cscope.vim, src/gui_mac.c + +Patch 8.0.1846 +Problem: Python interface is incompatible with lldb. +Solution: For OutputType set the base to be PyFile_Type. (Boxu Zhang) + Partly disabled to avoid a crash. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 8.0.1847 +Problem: Some build options don't have an example. +Solution: Add a couple more examples and compiler flags. +Files: src/Makefile + +Patch 8.0.1848 +Problem: 'termwinscroll' does not work properly. (Dominique Pelle) +Solution: Subtract removed scrollback from the scrollback count. Add a test + for 'termwinscroll'. (closes #2909) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.0.1849 +Problem: Compiler warning for unused arguments and missing prototype. +Solution: Add UNUSED. Add static. +Files: src/mbyte.c, src/if_ruby.c + +Patch 8.0.1850 +Problem: Todo items in source code not visible for users. +Solution: Move the todo items to the help file. +Files: src/terminal.c + + + vim:tw=78:ts=8:noet:ft=help:norl: |