From aed8ce9da277f5ecffe968b324f242c41c3b752a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 10:50:31 +0200 Subject: Adding upstream version 2:9.0.1378. Signed-off-by: Daniel Baumann --- runtime/doc/version8.txt | 41150 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41150 insertions(+) create mode 100644 runtime/doc/version8.txt (limited to 'runtime/doc/version8.txt') diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt new file mode 100644 index 0000000..fd30bbc --- /dev/null +++ b/runtime/doc/version8.txt @@ -0,0 +1,41150 @@ +*version8.txt* For Vim version 9.0. Last change: 2022 Feb 26 + + + 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| + +VERSION 8.2 |version-8.2| +Changed |changed-8.2| +Added |added-8.2| +Patches |patches-8.2| + + +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. + + *vim-changelog* +You can find an overview of the most important changes (according to Martin +Tournoij) on this site: https://www.arp242.net/vimlog/ + +============================================================================== +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 milliseconds) +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 +'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 +|| 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_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_oldlocal| old local value of the option, used by |OptionSet| +|v:option_oldglobal| old global value of the option, used by |OptionSet| +|v:option_type| scope of the set command, used by |OptionSet| +|v:option_command| command used to set the option, 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 +|TextChanged| after a change was made to the text in Normal mode +|TextChangedI| after a change was made to the text in Insert 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 + multibyte 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 multibyte + 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 multibyte 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 multibyte 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 multibyte + 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 multibyte 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 multibyte 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 multibyte 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 too 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 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 multibyte character. +Solution: Take multibyte 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 multibyte 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 + multibyte 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 multibyte 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 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 multibyte, 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 'listchars' 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 multibyte character at the end + correctly. +Solution: Advance the cursor over the multibyte 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 "". (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 multibyte 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 multibyte 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 multibyte + 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 multibyte 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 multibyte 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 multibyte 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 multibyte 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 multibyte 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: 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 multibyte + characters. +Solution: When using multibyte 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 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 + 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 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, + src/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_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 multibyte 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 multibyte. +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 multibyte 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 multibyte. +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 multibyte 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 multibyte + 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 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 "\. +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 + flakiness. +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 . (Stephen Riehm) +Solution: Solve the memory access problem in another way. (Dominique Pelle) + Allow for using 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 multibyte 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 multibyte 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 \. +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 and . (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 + multibyte character the result is unpredictable. (Christian + Ludwig) +Solution: Correct the column to the first byte of a multibyte 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 multibyte + 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 Willegen) +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 . (Dominique Pelle) +Solution: Recognize 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 multibyte 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 multibyte 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 multibyte. +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 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: multibyte 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 multibyte 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 multibyte 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 multibyte 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 multibyte 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 multibyte feature. +Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multibyte. +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 multibyte + 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 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 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 . +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 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 multibyte. (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 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 dereference. (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 multibyte 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 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 multibyte. +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 + + +============================================================================== +VERSION 8.2 *version-8.2* *version8.2* *vim-8.2* + +This section is about improvements made between version 8.1 and 8.2. + +This release has hundreds of bug fixes, there are several new features and +there are many minor improvements. + + +Popup windows *new-popup-window* +------------- + +Popup windows can be used to display text on top of other windows. This can +be for a simple message such as "Build finished successfully", showing a +function prototype while editing a function call, a flexible popup menu and +many other purposes. See |popup-window|. + +Popup windows are very flexible: they can be positioned relative to text, an +absolute position or just in the middle of the screen. The size can be fixed +or adjusts to fit the text. A "zindex" value specifies what popup window goes +on top of others. + +The new 'wincolor' option allows for setting the color for the whole popup +window. This also works for normal windows. + + +Text properties *new-text-properties* +--------------- + +Text properties give a plugin author flexibility about what to highlight. +This can be used with an external asynchronous parser to do syntax +highlighting. Or to highlight text in a popup window. The text properties +stick with the text when characters are deleted or inserted, which makes them +also useful as text markers. See |text-properties|. + +The listener functions have been added to report text changes to a server so +that it can dynamically update highlighting, mark syntax errors and the like. +See |listener_add()|. + + +Vim script improvements *new-vimscript-8.2* +----------------------- + +Functions can now be called in a chain, using "->": > + mylist->filter(filterexpr)->map(mapexpr)->sort()->join() +The new `:eval` command can be used if the chain has no result. + +Function arguments can be made optional by giving them a default value +|optional-function-argument|: > + function Something(key, value = 10) + +The `:scriptversion` command was added to allow for changes that are not +backwards compatible. E.g. to only use ".." for string concatenation, so that +"." can be used to access a dictionary member consistently. + +`:const` was added to allow for declaring a variable that cannot change: > + const TIMER_DELAY = 400 + +A heredoc-style assignment was added to easily assign a list of lines to a +variable without quoting or line continuation: > + let lines =<< trim END + line one + line two + END + +The |Blob| type was added. This makes it easy to deal with binary data. + +The /= and %= assignment operators were added. + +A Dictionary can be defined with literal keys using #{}. This avoids having +to use a lot of quotes: > + let options = #{width: 30, height: 24} + + +Other improvements *new-other-8.2* +------------------ + +- When 'incsearch' is set it also applies to `:substitute`. +- |modifyOtherKeys| was added to allow mapping more key combinations. +- ConPTY support was added for Windows 10, supports full color in the terminal. +- The MS-Windows installer supports translations, silent install and looks + much better. + + +Changed *changed-8.2* +------- + +The xdiff library was included to avoid the need for an external diff program +and to make updating diffs much faster. + +The code is using a few more modern C features, such as // comments. + +Support for old compilers has been dropped: Borland C++, MSVC 2008. + +Hangul input support was removed, it actually didn't work anymore. + +Makefiles for old Amiga compilers were removed: Dice, Manx and SAS. + +If a swap file is found without any changes it is automatically deleted. + +The FEAT_TAG_OLDSTATIC code was removed, it slowed down tag searches. +The FEAT_TAG_ANYWHITE code was removed, it was not enabled in any build. +The UNICODE16 code was removed, it was not useful. +Workshop support was removed, nobody was using it. +The Aap build files were removed, they were outdated. +Farsi support was removed, it was outdated and unused. + +VIMDLL was re-implemented, this shares the common parts between vim and gvim +to reduce the total install size. + +The following features are now included in all versions: |+multi_byte|, +|+virtualedit|, |+vreplace|, |+localmap|, |+cmdline_hist|, |+cmdline_compl|, +|+insert_expand|, |+modify_fname|, |+comments| + + +Added *added-8.2* +----- + +Added functions: + All the popup_ functions. + All the prop_ functions. + All the sign_ functions. + All the sound_ functions. + + |appendbufline()| + |balloon_gettext()| + |bufadd()| + |bufload()| + |ch_readblob()| + |chdir()| + |debugbreak()| + |deletebufline()| + |environ()| + |expandcmd()| + |getenv()| + |getimstatus()| + |getmousepos()| + |gettagstack()| + |interrupt()| + |isinf()| + |list2str()| + |listener_add()| + |listener_flush()| + |listener_remove()| + |prompt_setcallback()| + |prompt_setinterrupt()| + |prompt_setprompt()| + |pum_getpos()| + |rand()| + |readdir()| + |reg_executing()| + |reg_recording()| + |rubyeval()| + |screenchars()| + |screenpos()| + |screenstring()| + |setenv()| + |settagstack()| + |srand()| + |state()| + |str2list()| + |strptime()| + |swapinfo()| + |swapname()| + |term_setapi()| + |test_getvalue()| + |test_null_blob()| + |test_refcount()| + test_scrollbar() (later replaced with |test_gui_event()|) + |test_setmouse()| + |win_execute()| + |win_splitmove()| + |winlayout()| + +Added autocommands: + |CompleteChanged| + |DiffUpdated| + |SafeState| + |SafeStateAgain| + |SourcePost| + |TerminalWinOpen| + +Added commands: + Jumping to errors relative to the cursor position: + `:cabove` + `:cafter` + `:cbefore` + `:cbelow` + `:labove` + `:lbefore` + `:lbelow` + `:lafter` + Tab-local directory: + `:tcd` + `:tchdir` + Others: + `:const` + `:eval` + `:redrawtabline` + `:scriptversion` + `:spellrare` + `:tlmenu` + `:tlnoremenu` + `:tlunmenu` + `:xrestore` + +Added options: + 'completepopup' + 'completeslash' + 'cursorlineopt' + 'modelineexpr' + 'previewpopup' + 'scrollfocus' + 'tagfunc' + 'termwintype' + 'varsofttabstop' + 'vartabstop' + 'wincolor' + + +Patches *patches-8.2* +------- + +These patches were applied after the 8.1 release and are included in the 8.2 +release. + +Patch 8.1.0001 +Problem: The netrw plugin does not work. +Solution: Make it accept version 8.x. +Files: runtime/autoload/netrw.vim + +Patch 8.1.0002 +Problem: :stopinsert changes the message position. +Solution: Save and restore msg_col and msg_row in clearmode(). (Jason + Franklin) +Files: src/screen.c, src/testdir/test_messages.vim + +Patch 8.1.0003 +Problem: The :compiler command is not tested. +Solution: Add a test. (Dominique Pelle, closes #2930) +Files: src/Makefile, src/testdir/test_alot.vim, + src/testdir/test_compiler.vim + +Patch 8.1.0004 +Problem: Test for :compiler command sometimes fails. +Solution: Be less strict about the error message. (Dominique Pelle) +Files: src/testdir/test_compiler.vim + +Patch 8.1.0005 +Problem: Test for :compiler command fails on MS-Windows. +Solution: Ignore difference in path. +Files: src/testdir/test_compiler.vim + +Patch 8.1.0006 +Problem: syn_id2cterm_bg() may be undefined. (Axel Bender) +Solution: Adjust #ifdef. +Files: src/syntax.c + +Patch 8.1.0007 +Problem: No test for "o" and "O" in Visual block mode. +Solution: Add a test. (Dominique Pelle, closes #2932) +Files: src/testdir/test_visual.vim + +Patch 8.1.0008 +Problem: No test for strwidth(). +Solution: Add a test. (Dominique Pelle, closes #2931) +Files: src/testdir/test_functions.vim + +Patch 8.1.0009 +Problem: Tabpages insufficiently tested. +Solution: Add more test coverage. (Dominique Pelle, closes #2934) +Files: src/testdir/test_tabpage.vim + +Patch 8.1.0010 +Problem: efm_to_regpat() is too long. +Solution: Split off three functions. (Yegappan Lakshmanan, closes #2924) +Files: src/quickfix.c + +Patch 8.1.0011 +Problem: maparg() and mapcheck() confuse empty and non-existing. +Solution: Return for an existing non-empty mapping. (closes #2940) +Files: src/evalfunc.c, src/testdir/test_maparg.vim + +Patch 8.1.0012 +Problem: Misplaced #endif. +Solution: Move the #endif to after the expression. (David Binderman) +Files: src/fileio.c + +Patch 8.1.0013 +Problem: Using freed memory when changing terminal cursor color. +Solution: Make a copy of the color. (Dominique Pelle, closes #2938, + closes #2941) +Files: src/terminal.c + +Patch 8.1.0014 +Problem: qf_init_ext() is too long. +Solution: Split it into multiple functions. (Yegappan Lakshmanan, + closes #2939) +Files: src/quickfix.c + +Patch 8.1.0015 +Problem: Cursor color wrong when closing a terminal window, ending up in + another terminal window. (Dominique Pelle) +Solution: Bail out of terminal_loop() when the buffer changes. + (closes #2942) +Files: src/terminal.c + +Patch 8.1.0016 +Problem: Possible crash in term_wait(). (Dominique Pelle) +Solution: Check for a valid buffer after ui_delay(). (closes #2944) +Files: src/terminal.c + +Patch 8.1.0017 +Problem: Shell command completion has duplicates. (Yegappan Lakshmanan) +Solution: Use a hash table to avoid duplicates. (Ozaki Kiichi, closes #539, + closes #2733) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.1.0018 +Problem: Using "gn" may select wrong text when wrapping. +Solution: Avoid wrapping when searching forward. (Christian Brabandt) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.0019 +Problem: Error when defining a Lambda with index of a function result. +Solution: When not evaluating an expression and skipping a function call, + set the return value to VAR_UNKNOWN. +Files: src/userfunc.c, src/testdir/test_lambda.vim + +Patch 8.1.0020 +Problem: Cannot tell whether a register is being used for executing or + recording. +Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi, + closes #2745) Rename the global variables for consistency. Store + the register name in reg_executing. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/getchar.c, src/normal.c, + src/ops.c, src/globals.h, src/edit.c, src/fileio.c, src/message.c, + src/screen.c + +Patch 8.1.0021 +Problem: Clang warns for undefined behavior. +Solution: Move #ifdef outside of sprintf() call. (suggestion by Michael + Jarvis, closes #2946) +Files: src/term.c + +Patch 8.1.0022 +Problem: Repeating put from expression register fails. +Solution: Re-evaluate the expression register. (Andy Massimino, + closes #2945) +Files: src/getchar.c, src/testdir/test_put.vim + +Patch 8.1.0023 +Problem: gcc 8.1 warns for use of strncpy(). (John Marriott) +Solution: Use mch_memmove() instead of STRNCPY(). +Files: src/memline.c + +Patch 8.1.0024 +Problem: % command not tested on #ifdef and comment. +Solution: Add tests. (Dominique Pelle, closes #2956) +Files: src/testdir/test_goto.vim + +Patch 8.1.0025 +Problem: No test for the undofile() function. +Solution: Add test. (Dominique Pelle, closes #2958) +Files: src/testdir/test_undo.vim + +Patch 8.1.0026 +Problem: Terminal test fails with very tall terminal. (Tom) +Solution: Fix the terminal window size in the test. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0027 +Problem: Difficult to make a plugin that feeds a line to a job. +Solution: Add the initial code for the "prompt" buftype. +Files: runtime/doc/channel.txt, runtime/doc/eval.txt, + runtime/doc/options.txt, runtime/doc/tags, runtime/doc/todo.txt, + src/Makefile, src/buffer.c, src/channel.c, src/diff.c, src/edit.c, + src/evalfunc.c, src/normal.c, src/ops.c, src/option.c, + src/proto/buffer.pro, src/proto/channel.pro, src/proto/edit.pro, + src/proto/ops.pro, src/structs.h, src/testdir/Make_all.mak, + src/testdir/screendump.vim, src/testdir/test_prompt_buffer.vim + +Patch 8.1.0028 (after 8.1.0027) +Problem: Prompt buffer test fails on MS-Windows. +Solution: Disable the test for now. Remove stray assert. +Files: src/testdir/test_prompt_buffer.vim + +Patch 8.1.0029 +Problem: Terminal test fails on MS-Windows when "wc" exists. +Solution: Skip test with redirection on MS-Windows. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0030 +Problem: Stopping Vim running in a terminal may not work. +Solution: Instead of sending send CTRL-O. +Files: src/testdir/screendump.vim, src/testdir/test_prompt_buffer.vim + +Patch 8.1.0031 +Problem: Terminal test aucmd_on_close is flaky. +Solution: Wait a bit longer. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0032 +Problem: BS in prompt buffer starts new line. +Solution: Do not allow BS over the prompt. Make term_sendkeys() handle + special keys. Add a test. +Files: src/option.c, src/terminal.c, src/testdir/test_prompt_buffer.vim + +Patch 8.1.0033 +Problem: Keys to stop Vim in terminal are wrong. (Marius Gedminas) +Solution: Move ":" to before CTRL-U. +Files: src/testdir/screendump.vim + +Patch 8.1.0034 +Problem: Cursor not restored with ":edit #". +Solution: Don't assume autocommands moved the cursor when it was moved to + the first non-blank. +Files: src/ex_cmds.c, src/testdir/test_edit.vim + +Patch 8.1.0035 +Problem: Not easy to switch between prompt buffer and other windows. +Solution: Accept CTRL-W commands in Insert mode. Start and stop Insert mode + as one would expect. +Files: src/edit.c, src/ex_docmd.c, src/structs.h, src/window.c + +Patch 8.1.0036 +Problem: Not restoring Insert mode if leaving a prompt buffer by using a + mouse click. +Solution: Set b_prompt_insert appropriately. Also correct cursor position + when moving cursor to last line. +Files: src/buffer.c, src/edit.c, src/window.c + +Patch 8.1.0037 +Problem: Cannot easily append lines to another buffer. +Solution: Add appendbufline(). +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufline.vim, src/testdir/test_edit.vim + +Patch 8.1.0038 +Problem: Popup test causes Vim to exit. +Solution: Disable the broken part of the test for now. +Files: src/testdir/test_popup.vim + +Patch 8.1.0039 +Problem: Cannot easily delete lines in another buffer. +Solution: Add deletebufline(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_bufline.vim + +Patch 8.1.0040 +Problem: Warnings from 64-bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/edit.c + +Patch 8.1.0041 +Problem: Attribute "width" missing from python window attribute list. +Solution: Add the item. (Ken Takata) Order the list like the items are used + in the WindowAttr() function. +Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok + +Patch 8.1.0042 +Problem: If omni completion opens a window Insert mode is stopped. + (Hirohito Higashi) +Solution: Only set stop_insert_mode in a prompt buffer window. +Files: src/window.c + +Patch 8.1.0043 +Problem: ++bad argument of :edit does not work properly. +Solution: Return FAIL from get_bad_opt() only when there is no valid + argument. (Dominique Pelle, Christian Brabandt, closes #2966, + closes #2947) +Files: src/ex_docmd.c, src/testdir/test_plus_arg_edit.vim + +Patch 8.1.0044 +Problem: If a test function exits Vim this may go unnoticed. +Solution: Check for a test function quitting Vim. Fix tests that did exit + Vim. +Files: src/testdir/runtest.vim, src/testdir/test_assert.vim + +Patch 8.1.0045 (after 8.1.0038) +Problem: Popup test isn't run completely. +Solution: Remove "finish". Clean up function definitions. +Files: src/testdir/test_popup.vim + +Patch 8.1.0046 +Problem: Loading a session file fails if 'winheight' is a big number. +Solution: Set 'minwinheight' to zero at first. Don't give an error when + setting 'minwinheight' while 'winheight' is a big number. + Fix using vertical splits. Fix setting 'minwinwidth'. + (closes #2970) +Files: src/testdir/test_mksession.vim, src/option.c, src/window.c, + src/proto/window.pro + +Patch 8.1.0047 +Problem: No completion for :unlet $VAR. +Solution: Add completion. (Jason Franklin) +Files: src/ex_docmd.c, src/testdir/test_unlet.vim + +Patch 8.1.0048 +Problem: vim_str2nr() does not handle numbers close to the maximum. +Solution: Check for overflow more precisely. (Ken Takata, closes #2746) +Files: src/charset.c + +Patch 8.1.0049 +Problem: Shell cannot tell running in a terminal window. +Solution: Add the VIM_TERMINAL environment variable. (Christian Brabandt) +Files: runtime/doc/terminal.txt, src/os_unix.c, src/os_win32.c, + src/testdir/test_terminal.vim + +Patch 8.1.0050 (after 8.1.0049) +Problem: $VIM_TERMINAL is also set when not in a terminal window. +Solution: Pass a flag to indicate whether the job runs in a terminal. +Files: src/channel.c, src/proto/channel.pro, src/evalfunc.c, + src/terminal.c, src/os_unix.c, src/proto/os_unix.pro, + src/os_win32.c + +Patch 8.1.0051 (after 8.1.0050) +Problem: MS-Windows: missing #endif. +Solution: Add the #endif. +Files: src/os_win32.c + +Patch 8.1.0052 +Problem: When a mapping to times out the next mapping is skipped. +Solution: Reset "timedout" when waiting for a character. (Christian + Brabandt, closes #2921) +Files: src/getchar.c + +Patch 8.1.0053 +Problem: The first argument given to 'completefunc' can be Number or + String, depending on the value. +Solution: Avoid guessing the type of an argument, use typval_T in the + callers of call_vim_function(). (Ozaki Kiichi, closes #2993) +Files: src/edit.c, src/eval.c, src/ex_getln.c, src/mbyte.c, src/normal.c, + src/proto/eval.pro, src/testdir/test_ins_complete.vim + +Patch 8.1.0054 +Problem: Compiler warning for using %ld for "long long". +Solution: Add a type cast. (closes #3002) +Files: src/os_unix.c + +Patch 8.1.0055 (after 8.1.0053) +Problem: Complete test has wrong order of arguments. Wrong type for + sentinel variable. +Solution: Swap arguments, use VAR_UNKNOWN. (Ozaki Kiichi) +Files: src/mbyte.c, src/testdir/test_ins_complete.vim + +Patch 8.1.0056 +Problem: Crash when using :hardcopy with illegal byte. +Solution: Check for string_convert() returning NULL. (Dominique Pelle) +Files: src/hardcopy.c, src/testdir/test_hardcopy.vim + +Patch 8.1.0057 +Problem: Popup menu displayed wrong when using autocmd. +Solution: Use aucmd_prepbuf(). Force updating status line if the popup menu + is going to be redrawn anyway. (Christian Brabandt, closes #3009) +Files: src/edit.c, src/screen.c, src/proto/screen.pro + +Patch 8.1.0058 +Problem: Display problem with margins and scrolling. +Solution: Place the cursor in the right column. (Kouichi Iwamoto, + closes #3016) +Files: src/screen.c + +Patch 8.1.0059 +Problem: Displayed digraph for "ga" wrong with 'encoding' "cp1251". +Solution: Convert from 'encoding' to "utf-8" if needed. (closes #3015) +Files: src/digraph.c, src/testdir/test_digraph.vim + +Patch 8.1.0060 +Problem: Crash when autocommands delete the current buffer. (Dominique + Pelle) +Solution: Check that autocommands don't change the buffer. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0061 +Problem: Window title is wrong after resetting and setting 'title'. +Solution: Move resetting the title into maketitle(). (Jason Franklin) +Files: src/option.c, src/buffer.c + +Patch 8.1.0062 +Problem: Popup menu broken if a callback changes the window layout. (Qiming + Zhao) +Solution: Recompute the popup menu position if needed. Redraw the ruler + even when the popup menu is displayed. +Files: src/popupmnu.c, src/proto/popupmnu.pro, src/screen.c + +Patch 8.1.0063 +Problem: Mac: NSStringPboardType is deprecated. +Solution: Use NSPasteboardTypeString. (Akshay Hegde, closes #3022) +Files: src/os_macosx.m + +Patch 8.1.0064 +Problem: Typing CTRL-W in a prompt buffer shows mode "-- --". +Solution: Set restart_edit to 'A' and check for it. +Files: src/edit.c, src/window.c, src/screen.c + +Patch 8.1.0065 (after 8.1.0062) +Problem: Balloon displayed at the wrong position. +Solution: Do not reposition the popup menu at the cursor position. +Files: src/popupmnu.c + +Patch 8.1.0066 +Problem: Nasty autocommand causes using freed memory. (Dominique Pelle) +Solution: Do not force executing autocommands if the value of 'syntax' or + 'filetype' did not change. +Files: src/option.c + +Patch 8.1.0067 +Problem: Syntax highlighting not working when re-entering a buffer. +Solution: Do force executing autocommands when not called recursively. +Files: src/option.c + +Patch 8.1.0068 +Problem: Nasty autocommands can still cause using freed memory. +Solution: Disallow using setloclist() and setqflist() recursively. +Files: src/evalfunc.c + +Patch 8.1.0069 +Problem: Cannot handle pressing CTRL-C in a prompt buffer. +Solution: Add prompt_setinterrupt(). +Files: runtime/doc/eval.txt, src/edit.c, src/evalfunc.c, src/channel.c, + src/proto/channel.pro + +Patch 8.1.0070 +Problem: Missing part of the changes for prompt_setinterrupt(). +Solution: Add the missing changes. +Files: src/structs.h + +Patch 8.1.0071 +Problem: Terminal debugger only works with the terminal feature. +Solution: Make it also work with a prompt buffer. Makes it possible to use + on MS-Windows. Various other improvements. (closes #3012) +Files: runtime/doc/terminal.txt, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0072 +Problem: Use of 'termwinkey' is inconsistent. +Solution: Change the documentation and the behavior. (Ken Takata) +Files: src/terminal.c, runtime/doc/terminal.txt + +Patch 8.1.0073 +Problem: Crash when autocommands call setloclist(). (Dominique Pelle) +Solution: If the quickfix list changes then don't jump to the error. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0074 (after 8.1.0073) +Problem: Crash when running quickfix tests. +Solution: Do not alloc a new location list when checking for the reference + to be still valid. +Files: src/quickfix.c + +Patch 8.1.0075 +Problem: No Vim logo in README file. +Solution: Add one. (Árni Dagur, closes #3024) +Files: README.md + +Patch 8.1.0076 +Problem: Command getting cleared with CTRL-W : in a terminal window. (Jason + Franklin) +Solution: Call redraw_after_callback() when editing the command line. +Files: src/terminal.c + +Patch 8.1.0077 +Problem: Header of README file is not nice. +Solution: Move text to the bottom. +Files: README.md + +Patch 8.1.0078 +Problem: "..." used inconsistently in messages. +Solution: Drop the space before " ...". +Files: src/spellfile.c, src/regexp_nfa.c + +Patch 8.1.0079 +Problem: Superfluous space in messages. +Solution: Remove the spaces. (closes #3030) +Files: src/gui_w32.c + +Patch 8.1.0080 +Problem: Can't see the breakpoint number in the terminal debugger. +Solution: Use the breakpoint number for the sign. (Christian Brabandt) +Files: runtime/doc/terminal.txt, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0081 +Problem: The terminal debugger doesn't adjust to changed 'background'. +Solution: Add an OptionSet autocommand. (Christian Brabandt) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0082 +Problem: In terminal window, typing : at more prompt, inserts ':' instead + of starting another Ex command. +Solution: Add skip_term_loop and set it when putting ':' in the typeahead + buffer. +Files: src/globals.h, src/main.c, src/message.c + +Patch 8.1.0083 +Problem: "is" and "as" have trouble with quoted punctuation. +Solution: Check for punctuation before a quote. (Jason Franklin) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.0084 +Problem: User name completion does not work on MS-Windows. +Solution: Use NetUserEnum() to get user names. (Yasuhiro Matsumoto) +Files: src/Make_ivc.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/misc1.c + +Patch 8.1.0085 +Problem: No test for completing user name and language. +Solution: Add tests. (Dominique Pelle, closes #2978) +Files: src/testdir/test_cmdline.vim + +Patch 8.1.0086 +Problem: No tests for libcall() and libcallnr(). +Solution: Add tests. (Dominique Pelle, closes #2982) +Files: src/testdir/test_functions.vim + +Patch 8.1.0087 +Problem: v:shell_error is always zero when using terminal for "!cmd". +Solution: Use "exitval" of terminal-job. (Ozaki Kiichi, closes #2994) +Files: src/os_unix.c, src/os_win32.c, src/proto/terminal.pro, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0088 +Problem: Terminal test for stdout and stderr is a bit flaky. +Solution: Wait for both stdout and stderr to have been processed. (Ozaki + Kiichi, closes #2991) +Files: src/testdir/test_terminal.vim + +Patch 8.1.0089 +Problem: error when ending the terminal debugger +Solution: Fix deleting defined signs for breakpoints. Make the debugger + work better on MS-Windows. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0090 +Problem: "..." used inconsistently in a message. +Solution: Define the message with " ..." once. (hint by Ken Takata) +Files: src/regexp_nfa.c + +Patch 8.1.0091 +Problem: MS-Windows: Cannot interrupt gdb when program is running. +Solution: Add debugbreak() and use it in the terminal debugger. + Respect 'modified' in a prompt buffer. +Files: src/evalfunc.c, runtime/doc/eval.txt, src/undo.c, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0092 (after 8.1.0091) +Problem: Prompt buffer test fails. +Solution: Set 'nomodified' before closing the window. (Ozaki Kiichi, + closes #3051) +Files: src/testdir/test_prompt_buffer.vim + +Patch 8.1.0093 +Problem: non-MS-Windows: Cannot interrupt gdb when program is running. +Solution: Only use debugbreak() on MS-Windows. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0094 +Problem: Help text "usage:" is not capitalized. +Solution: Make it "Usage:". (closes #3044) +Files: src/main.c + +Patch 8.1.0095 +Problem: Dialog for ":browse tabnew" says "new window". +Solution: Use "new tab page". (closes #3053) +Files: src/ex_docmd.c + +Patch 8.1.0096 +Problem: Inconsistent use of the word autocommands. +Solution: Don't use auto-commands or "auto commands". +Files: src/fileio.c + +Patch 8.1.0097 +Problem: Superfluous space before exclamation mark. +Solution: Remove the space. Don't translate debug message. +Files: src/regexp_nfa.c + +Patch 8.1.0098 +Problem: Segfault when pattern with \z() is very slow. +Solution: Check for NULL regprog. Add "nfa_fail" to test_override() to be + able to test this. Fix that 'searchhl' resets called_emsg. +Files: src/syntax.c, runtime/doc/eval.txt, src/evalfunc.c, src/vim.h, + src/testdir/test_syntax.vim, src/globals.h, src/screen.c, + src/regexp.c, src/regexp_nfa.c + +Patch 8.1.0099 +Problem: Exclamation mark in error message not needed. +Solution: Remove the exclamation mark. +Files: src/regexp_nfa.c + +Patch 8.1.0100 +Problem: Terminal debugger: error when setting a watch point. +Solution: Don't try defining a sign for a watch point. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0101 +Problem: No test for getcmdwintype(). +Solution: Add a test. (Dominique Pelle, closes #3068) +Files: src/testdir/test_cmdline.vim + +Patch 8.1.0102 +Problem: Cannot build without syntax highlighting. +Solution: Add #ifdef around using reg_do_extmatch. +Files: src/regexp.c + +Patch 8.1.0103 +Problem: Long version string cannot be translated. +Solution: Build the string in init_longVersion(). +Files: src/globals.h, src/version.h, src/version.c, + src/proto/version.pro, src/main.c + +Patch 8.1.0104 +Problem: Can't build without the +eval feature. +Solution: Add #ifdef. +Files: src/regexp_nfa.c + +Patch 8.1.0105 +Problem: All tab stops are the same. +Solution: Add the variable tabstop feature. (Christian Brabandt, + closes #2711) +Files: runtime/doc/change.txt, runtime/doc/options.txt, + runtime/doc/various.txt, runtime/optwin.vim, src/beval.c, + src/beval.h, src/buffer.c, src/charset.c, src/edit.c, + src/evalfunc.c, src/ex_cmds.c, src/feature.h, src/gui_beval.c, + src/gui_w32.c, src/hardcopy.c, src/message.c, src/misc1.c, + src/ops.c, src/option.c, src/option.h, src/proto/misc1.pro, + src/proto/option.pro, src/screen.c, src/structs.h, + src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, + src/testdir/test_breakindent.vim, src/testdir/test_vartabs.vim, + src/version.c, src/workshop.c, src/Makefile + +Patch 8.1.0106 (after 8.1.0103) +Problem: Build fails when HAVE_DATE_TIME is undefined. +Solution: Always define init_longVersion(). (Christian Brabandt, + closes #3075) +Files: src/version.c + +Patch 8.1.0107 +Problem: Python: getting buffer option clears message. (Jacob Niehus) +Solution: Don't use aucmd_prepbuf(). (closes #3079) +Files: src/option.c + +Patch 8.1.0108 +Problem: No Danish translations. +Solution: Add Danish message translations. (closes #3073) Move list of + languages to a common makefile. +Files: src/po/Makefile, src/po/Make_cyg.mak, src/po/Make_mvc.mak, + src/po/Make_ming.mak, src/po/Make_all.mak, src/po/da.po + +Patch 8.1.0109 +Problem: New po makefile missing from distribution. +Solution: Add it to the file list. +Files: Filelist + +Patch 8.1.0110 +Problem: File name not displayed with ":file" when 'F' is in 'shortmess'. +Solution: Always display the file name when there is no argument (Christian + Brabandt, closes #3070) +Files: src/ex_cmds.c, src/testdir/test_options.vim + +Patch 8.1.0111 +Problem: .po files do not use recommended names. +Solution: Give a warning if the recommended name is not used. Accept the + recommended name for conversion. (Christian Brabandt, Ken Takata) +Files: src/po/Makefile, src/po/sjiscorr.c, src/po/check.vim + +Patch 8.1.0112 +Problem: No error when using bad arguments with searchpair(). +Solution: Add error messages. +Files: src/evalfunc.c, src/testdir/test_search.vim + +Patch 8.1.0113 +Problem: Compiler warning for unused variable. (Yegappan Lakshmanan) +Solution: Add UNUSED. (Christian Brabandt) +Files: src/screen.c + +Patch 8.1.0114 +Problem: Confusing variable name. +Solution: Rename new_ts to new_vts_array. Change zero to NULL. +Files: src/ex_cmds.c, src/option.c + +Patch 8.1.0115 +Problem: The matchparen plugin may throw an error. +Solution: Change the skip argument from zero to "0". +Files: runtime/plugin/matchparen.vim + +Patch 8.1.0116 +Problem: Display problem with 'vartabstop' and 'linebreak'. (Chauca + Fuentes) +Solution: Call tabstop_padding(). (Christian Brabandt, closes #3076) +Files: src/screen.c, src/testdir/test_vartabs.vim + +Patch 8.1.0117 +Problem: URL in install program still points to SourceForge. +Solution: Change it to www.vim.org. (closes #3100) +Files: src/dosinst.c + +Patch 8.1.0118 +Problem: Duplicate error message for put command. +Solution: Check return value of u_save(). (Jason Franklin) +Files: src/ops.c, src/testdir/test_messages.vim src/testdir/test_put.vim + +Patch 8.1.0119 +Problem: Failing test goes unnoticed because testdir/messages is not + written. +Solution: Set 'nomodifiable' only local to the buffer. +Files: src/testdir/test_put.vim + +Patch 8.1.0120 +Problem: Buffer 'modified' set even when :sort has no changes. +Solution: Only set 'modified' when lines are moved. (Jason Franklin) +Files: src/ex_cmds.c, src/testdir/test_sort.vim + +Patch 8.1.0121 +Problem: Crash when using ballooneval related to 'vartabstop'. +Solution: Initialize balloonEval->vts to NULL. (Markus Braun) +Files: src/ex_cmds2.c, src/gui_beval.c, src/gui_w32.c, src/gui.c + +Patch 8.1.0122 +Problem: Translators don't always understand the maintainer message. +Solution: Add a comment that ends up in the generated po file. (Christian + Brabandt, closes #3037) +Files: src/message.c + +Patch 8.1.0123 +Problem: MS-Windows: colors are wrong after setting 'notgc'. +Solution: Only call control_console_color_rgb() for the win32 terminal. + (Nobuhiro Takasaki, closes #3107) +Files: src/option.c + +Patch 8.1.0124 +Problem: has('vcon') returns true even for non-win32 terminal. +Solution: Check the terminal type. (Nobuhiro Takasaki, closes #3106) +Files: src/evalfunc.c + +Patch 8.1.0125 +Problem: Virtual edit replace with multibyte fails at end of line. (Lukas + Werling) +Solution: use ins_char() to add the character. (Christian Brabandt, + closes #3114) Rename PCHAR() to PBYTE() to avoid mistakes like + this. +Files: src/ops.c, src/testdir/test_virtualedit.vim, src/macros.h + +Patch 8.1.0126 +Problem: Various problems with 'vartabstop'. +Solution: Fix memory leak. Fix crash. Add a few more tests. (Christian + Brabandt, closes #3076) +Files: src/ex_cmds.c, src/option.c, src/screen.c, + src/testdir/test_vartabs.vim + +Patch 8.1.0127 +Problem: Build failure when disabling the session feature. (Pawel Slowik) +Solution: Adjust #ifdef for vim_chdirfile(). +Files: src/misc2.c + +Patch 8.1.0128 +Problem: Building with MinGW does not work out-of-the-box. +Solution: Add instructions for MSYS2. Set default WINVER. Add batch files + to set $PATH for MSYS2. +Files: src/Make_cyg_ming.mak, src/INSTALLpc.txt, src/msys32.bat, + src/msys64.bat, Filelist + +Patch 8.1.0129 +Problem: Still some xterm-like terminals get a stray "p" on startup. +Solution: Consider all terminals that reply with a version smaller than 95 + as not an xterm. (James McCoy) +Files: src/term.c + +Patch 8.1.0130 +Problem: ":profdel func" does not work if func was called already. + (Dominique Pelle) +Solution: Reset uf_profiling and add a flag to indicate initialization was + done. +Files: src/structs.h, src/userfunc.c + +Patch 8.1.0131 +Problem: :profdel is not tested. +Solution: Add a test. (Dominique Pelle, closes #3123) +Files: src/testdir/test_profile.vim + +Patch 8.1.0132 +Problem: Lua tests are old style. +Solution: Convert to new style tests. Improve coverage. (Dominique Pelle, + closes #3091) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms, + src/testdir/test85.in, src/testdir/test_lua.vim + +Patch 8.1.0133 +Problem: tagfiles() can have duplicate entries. +Solution: Simplify the filename to make checking for duplicates work better. + Add a test. (Dominique Pelle, closes #2979) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.1.0134 +Problem: Lua interface does not support funcref. +Solution: Add funcref support. (Luis Carvalho) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.1.0135 +Problem: Undo message delays screen update for CTRL-O u. +Solution: Add smsg_attr_keep(). (closes #3125) +Files: src/message.c, src/proto.h, src/undo.c + +Patch 8.1.0136 +Problem: Lua tests don't cover new features. +Solution: Add more tests. (Dominique Pelle, closes #3130) +Files: runtime/doc/if_lua.txt, src/testdir/test_lua.vim + +Patch 8.1.0137 +Problem: CI does not run with TCL. +Solution: Add TCL to the travis config. (Dominique Pelle, closes #3133) +Files: .travis.yml + +Patch 8.1.0138 +Problem: Negative value of 'softtabstop' not used correctly. +Solution: Use get_sts_value(). (Tom Ryder) +Files: src/edit.c, src/option.c, src/Makefile, src/testdir/test_tab.vim + +Patch 8.1.0139 +Problem: Lua tests fail on some platforms. +Solution: Accept a hex number with and without "0x". (Ken Takata, + closes #3137) +Files: src/testdir/test_lua.vim + +Patch 8.1.0140 +Problem: Recording into a register has focus events. (Michael Naumann) +Solution: Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes #3143) +Files: src/getchar.c + +Patch 8.1.0141 +Problem: :cexpr no longer jumps to the first error. +Solution: Use the quickfix list identifier. (Yegappan Lakshmanan, + closes #3092) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0142 +Problem: Xterm and vt320 builtin termcap missing keypad keys. +Solution: Add the escape sequences. (Kouichi Iwamoto, closes #2973) +Files: src/term.c + +Patch 8.1.0143 +Problem: Matchit and matchparen don't handle E363. +Solution: Catch the E363 error. (Christian Brabandt) +Files: runtime/pack/dist/opt/matchit/plugin/matchit.vim, + runtime/plugin/matchparen.vim + +Patch 8.1.0144 +Problem: The :cd command does not have good test coverage. +Solution: Add more tests. (Dominique Pelle, closes #2972) +Files: src/testdir/test_cd.vim + +Patch 8.1.0145 +Problem: Test with grep is failing on MS-Windows. +Solution: Skip the test. +Files: src/testdir/test_quickfix.vim + +Patch 8.1.0146 +Problem: When $LANG is set the compiler test may fail. +Solution: Unset $LANG. +Files: src/testdir/test_compiler.vim + +Patch 8.1.0147 +Problem: Compiler warning when building with Python 3.7. +Solution: #undef PySlice_GetIndicesEx before redefining it. (Ozaki Kiichi, + closes #3153) +Files: src/if_python3.c + +Patch 8.1.0148 +Problem: Memory leak when using :tcl expr command. +Solution: Free the result of expression evaluation. (Dominique Pelle, + closes #3150) +Files: src/if_tcl.c + +Patch 8.1.0149 +Problem: The generated sessions file does not restore tabs properly if :lcd + was used in one of them. +Solution: Create the tab pages before setting the directory. (Yee Cheng + Chin, closes #3152) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0150 +Problem: Insufficient test coverage for Tcl. +Solution: Add more tests. (Dominique Pelle, closes #3140) +Files: src/testdir/test_tcl.vim + +Patch 8.1.0151 +Problem: Mksession test fails on MS-Windows. +Solution: Always use an argument for :lcd. +Files: src/testdir/test_mksession.vim + +Patch 8.1.0152 +Problem: Cannot easily run individual tests on MS-Windows. +Solution: Move the list of tests to a separate file. Add a build rule in + the MSVC makefile. +Files: Filelist, src/Makefile, src/Make_all.mak, src/Make_mvc.mak + +Patch 8.1.0153 (after 8.1.0152) +Problem: Build with SHADOWDIR fails. (Elimar Riesebieter) +Solution: Create a link for Make_all.mak. (Tony Mechelynck) +Files: src/Makefile + +Patch 8.1.0154 +Problem: Crash with "set smarttab shiftwidth=0 softtabstop=-1". +Solution: Fall back to using 'tabstop'. (closes #3155) +Files: src/edit.c, src/testdir/test_tab.vim + +Patch 8.1.0155 +Problem: Evim.man missing from the distribution. +Solution: Add it to the list. +Files: Filelist + +Patch 8.1.0156 +Problem: MS-Windows compiler warning. +Solution: Add a type cast. (Mike Williams) +Files: src/version.c + +Patch 8.1.0157 +Problem: Old iTerm2 is not recognized, resulting in stray output. +Solution: Recognize the termresponse. +Files: src/term.c + +Patch 8.1.0158 +Problem: GUI: input() fails if CTRL-C was pressed before. (Michael Naumann) +Solution: call vpeekc() to drop the CTRL-C from the input stream. +Files: src/ex_docmd.c + +Patch 8.1.0159 +Problem: Completion for user names does not work if a prefix is also a full + matching name. (Nazri Ramliy) +Solution: Accept both full and partial matches. (Dominique Pelle) +Files: src/misc1.c, src/ex_docmd.c + +Patch 8.1.0160 +Problem: No Danish manual translations. +Solution: Add the Danish manual translations to the file list. +Files: Filelist + +Patch 8.1.0161 +Problem: Buffer not updated with 'autoread' set if file was deleted. + (Michael Naumann) +Solution: Don't set the timestamp to zero. (closes #3165) +Files: src/fileio.c, src/testdir/test_stat.vim + +Patch 8.1.0162 +Problem: Danish and German man pages are not installed. (Tony Mechelynck) +Solution: Adjust the makefile +Files: src/Makefile + +Patch 8.1.0163 +Problem: Insufficient testing for Tcl. +Solution: Add a few more tests. (Dominique Pelle, closes #3166) +Files: src/testdir/test_tcl.vim + +Patch 8.1.0164 +Problem: luaeval('vim.buffer().name') returns an error. +Solution: Return an empty string. (Dominique Pelle, closes #3167) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.1.0165 +Problem: :clist output can be very long. +Solution: Support filtering :clist entries. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0166 +Problem: Using dict_add_nr_str() is clumsy. +Solution: Split into two functions. (Ozaki Kiichi, closes #3154) +Files: src/channel.c, src/dict.c, src/edit.c, src/evalfunc.c, + src/ex_cmds2.c, src/ops.c, src/option.c, src/proto/dict.pro, + src/quickfix.c, src/tag.c, src/terminal.c, src/undo.c + +Patch 8.1.0167 +Problem: Lock flag in new dictitem is reset in many places. +Solution: Always reset the lock flag. +Files: src/dict.c, src/channel.c, src/ex_cmds2.c, src/userfunc.c, + src/if_perl.xs, src/if_py_both.h + +Patch 8.1.0168 +Problem: Output of :marks is too short with multibyte chars. (Tony + Mechelynck) +Solution: Get more bytes from the text line. +Files: src/mark.c, src/testdir/test_marks.vim + +Patch 8.1.0169 (after 8.1.0165) +Problem: Calling message_filtered() a bit too often. +Solution: Only call message_filtered() when filtering is already false. +Files: src/quickfix.c, runtime/doc/quickfix.txt + +Patch 8.1.0170 +Problem: Invalid memory use with complicated pattern. (Andy Massimino) +Solution: Reallocate the list of listids when needed. (closes #3175) + Remove unnecessary function prototypes. +Files: src/regexp_nfa.c + +Patch 8.1.0171 +Problem: Typing CTRL-W n in a terminal window causes ml_get error. +Solution: When resizing the terminal outside of terminal_loop() make sure + the snapshot is complete. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0172 +Problem: 'viminfofile' option does not behave like a file name. +Solution: Add the P_EXPAND flag. (closes #3178) +Files: src/option.c + +Patch 8.1.0173 +Problem: Compiler warning on MS-Windows. +Solution: Add type cast. (Mike Williams) +Files: src/libvterm/src/state.c + +Patch 8.1.0174 +Problem: After paging up and down fold line is wrong. +Solution: Correct the computation of w_topline and w_botline. (Hirohito + Higashi) +Files: src/move.c, src/testdir/test_fold.vim + +Patch 8.1.0175 +Problem: Marks test fails in very wide window. (Vladimir Lomov) +Solution: Extend the text to match 'columns'. (closes #3180, closes #3181) +Files: src/testdir/test_marks.vim + +Patch 8.1.0176 +Problem: Overlapping string argument for strcpy(). (Coverity) +Solution: Use STRMOVE() instead of STRCPY(). (Dominique Pelle, closes #3187) +Files: src/term.c + +Patch 8.1.0177 +Problem: Defining function in sandbox is inconsistent, cannot use :function + but can define a lambda. +Solution: Allow defining a function in the sandbox, but also use the sandbox + when executing it. (closes #3182) +Files: src/userfunc.c, src/ex_cmds.h + +Patch 8.1.0178 +Problem: Warning for passing pointer to non-pointer argument. +Solution: Use zero instead of NULL. +Files: src/if_ole.cpp + +Patch 8.1.0179 +Problem: Redundant condition for boundary check. +Solution: Remove the condition. (Dominique Pelle). Change FALSE to FAIL. +Files: src/undo.c + +Patch 8.1.0180 +Problem: Static analysis errors in Lua interface. (Coverity) +Solution: Check for NULL pointers. +Files: src/if_lua.c + +Patch 8.1.0181 +Problem: Memory leak with trailing characters in skip expression. +Solution: Free the return value. +Files: src/eval.c, src/testdir/test_search.vim + +Patch 8.1.0182 +Problem: Unicode standard was updated. +Solution: Include the changes. (Christian Brabandt) +Files: src/mbyte.c + +Patch 8.1.0183 +Problem: Lua API changed, breaking the build. +Solution: Adjust prototype of lua_rawgeti(). (Ken Takata, + closes #3157, closes #3144) +Files: src/if_lua.c + +Patch 8.1.0184 +Problem: Not easy to figure out the window layout. +Solution: Add "wincol" and "winrow" to what getwininfo() returns. +Files: src/evalfunc.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + +Patch 8.1.0185 +Problem: Running tests writes lua.vim even though it is not used. +Solution: Stop writing lua.vim. +Files: src/testdir/test1.in, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile + +Patch 8.1.0186 +Problem: Test for getwininfo() fails in GUI. +Solution: Account for missing tabline. +Files: src/testdir/test_bufwintabinfo.vim + +Patch 8.1.0187 (after 8.1.0184) +Problem: getwininfo() and win_screenpos() return different numbers. +Solution: Add one to "wincol" and "winrow" from getwininfo(). +Files: src/evalfunc.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + +Patch 8.1.0188 +Problem: No test for ":cscope add". +Solution: Add a test. (Dominique Pelle, closes #3212) +Files: src/testdir/test_cscope.vim + +Patch 8.1.0189 +Problem: Function defined in sandbox not tested. +Solution: Add a text. +Files: src/testdir/test_functions.vim + +Patch 8.1.0190 +Problem: Perl refcounts are wrong. +Solution: Improve refcounting. Add a test. (Damien) +Files: src/if_perl.xs, src/testdir/test_perl.vim + +Patch 8.1.0191 (after 8.1.0190) +Problem: Perl test fails in 24 line terminal. +Solution: Create fewer windows. +Files: src/testdir/test_perl.vim + +Patch 8.1.0192 +Problem: Executing regexp recursively fails with a crash. +Solution: Move global variables into "rex". +Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c + +Patch 8.1.0193 +Problem: Terminal debugger buttons don't always work. (Dominique Pelle) +Solution: Set 'cpo' to its default value. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0194 +Problem: Possibly use of NULL pointer. (Coverity) +Solution: Reset the re_in_use flag earlier. +Files: src/regexp.c + +Patch 8.1.0195 +Problem: Terminal debugger commands don't always work. (Dominique Pelle) +Solution: Set 'cpo' to its default value when defining commands. (Christian + Brabandt) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0196 +Problem: Terminal debugger error with .gdbinit file. +Solution: Check two lines for the "new ui" response. (hint from Hirohito + Higashi) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0197 +Problem: Windows GUI: title for search/replace is wrong. +Solution: Remove remark about doubling backslash. (closes #3230) +Files: src/gui_win32.c + +Patch 8.1.0198 +Problem: There is no hint that syntax is disabled for 'redrawtime'. +Solution: Add a message. +Files: src/syntax.c + +Patch 8.1.0199 +Problem: spellbadword() does not check for caps error. (Dominique Pelle) +Solution: Adjust capcol when advancing. +Files: src/userfunc.c + +Patch 8.1.0200 +Problem: spellbadword() not tested. +Solution: Add a test. (Dominique Pelle, closes #3235) +Files: src/testdir/test_spell.vim + +Patch 8.1.0201 +Problem: Newer Python uses "importlib" instead of "imp". +Solution: Use "importlib" for newer Python versions. (Ozaki Kiichi, + closes #3163) +Files: src/if_py_both.h, src/testdir/test87.in + +Patch 8.1.0202 +Problem: :version always shows +packages. (Takuya Fujiwara) +Solution: Add #ifdef (closes #3198) Also for has(). +Files: src/version.c, src/evalfunc.c + +Patch 8.1.0203 +Problem: Building with Perl 5.28 fails on Windows. +Solution: Define Perl_mg_get. (closes #3196) +Files: src/if_perl.xs + +Patch 8.1.0204 +Problem: inputlist() is not tested. +Solution: Add a test. (Dominique Pelle, closes #3240) +Files: src/testdir/test_functions.vim + +Patch 8.1.0205 +Problem: Invalid memory access with invalid modeline. +Solution: Pass pointer limit. Add a test. (closes #3241) +Files: src/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_modeline.vim, src/option.c + +Patch 8.1.0206 (after 8.1.0205) +Problem: Duplicate test function name. +Solution: Rename both functions. +Files: src/testdir/test_modeline.vim, src/testdir/test_glob2regpat.vim + +Patch 8.1.0207 +Problem: Need many menu translation files to cover regions. +Solution: When there is no region match, try without. (Christian Brabandt) +Files: runtime/menu.vim + +Patch 8.1.0208 (after 8.1.0205) +Problem: File left behind after running individual test. +Solution: Delete the file. +Files: src/testdir/test_modeline.vim + +Patch 8.1.0209 +Problem: Stderr output from Ruby messes up display. +Solution: Turn the stderr output into a Vim message. (Masataka Pocke + Kuwabara, closes #3238) +Files: src/if_ruby.c + +Patch 8.1.0210 +Problem: Still a few K&R function declarations. +Solution: Use ANSI function declarations (Hirohito Higashi) +Files: src/eval.c, src/evalfunc.c, src/list.c + +Patch 8.1.0211 +Problem: Expanding a file name "~" results in $HOME. (Aidan Shafran) +Solution: Change "~" to "./~" before expanding. (closes #3072) +Files: src/testdir/test_expand.vim, src/ex_docmd.c, src/eval.c, + src/proto/eval.pro, src/evalfunc.c, src/if_cscope.c, src/misc1.c + +Patch 8.1.0212 +Problem: Preferred cursor column not set in interfaces. +Solution: Set w_set_curswant when setting the cursor. (David Hotham, + closes #3060) +Files: src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, src/if_py_both.h, + src/if_ruby.c, src/if_tcl.c, src/testdir/test_lua.vim, + src/testdir/test_perl.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_ruby.vim, + src/testdir/test_tcl.vim + +Patch 8.1.0213 +Problem: CTRL-W CR does not work properly in a quickfix window. +Solution: Split the window if needed. (Jason Franklin) +Files: src/normal.c, src/proto/quickfix.pro, src/quickfix.c, + src/testdir/test_quickfix.vim, src/window.c + +Patch 8.1.0214 +Problem: +autochdir feature not reported by has() or :version. +Solution: Add the feature in the list. +Files: src/evalfunc.c, src/version.c + +Patch 8.1.0215 +Problem: No error if configure --with-x cannot configure X. +Solution: Check that when --with-x is used X can be configured. +Files: src/configure.ac, src/auto/configure + +Patch 8.1.0216 +Problem: Part of file not indented properly. +Solution: Adjust the indent. (Ken Takata) +Files: src/getchar.c + +Patch 8.1.0217 +Problem: Compiler warning for variable set but not used. +Solution: Move tilde_file inside #ifdef. (Hirohito Higashi, closes #3255) +Files: src/ex_docmd.c + +Patch 8.1.0218 +Problem: Cannot add matches to another window. (Qiming Zhao) +Solution: Add the "window" argument to matchadd() and matchaddpos(). + (closes #3260) +Files: src/evalfunc.c, runtime/doc/eval.txt, src/testdir/test_match.vim + +Patch 8.1.0219 +Problem: Expanding ## fails to escape backtick. +Solution: Escape a backtick in a file name. (closes #3257) +Files: src/ex_docmd.c, src/testdir/test_edit.vim + +Patch 8.1.0220 +Problem: Ruby converts v:true and v:false to a number. +Solution: Use Qtrue and Qfalse instead. (Masataka Pocke Kuwabara, + closes #3259) +Files: src/if_ruby.c, src/testdir/test_ruby.vim + +Patch 8.1.0221 +Problem: Not enough testing for the Ruby interface. +Solution: Add more tests. (Dominique Pelle, closes #3252) +Files: runtime/doc/if_ruby.txt, src/testdir/test_ruby.vim + +Patch 8.1.0222 +Problem: Errors are reported for "make install". +Solution: Skip missing language files. (Christian Brabandt, closes #3254) +Files: src/installman.sh + +Patch 8.1.0223 +Problem: Completing shell command finds sub-directories in $PATH. +Solution: Remove EW_DIR when completing an item in $PATH. (Jason Franklin) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.1.0224 +Problem: Hang in bracketed paste mode when t_PE not encountered. +Solution: Break out of the loop when got_int is set. (suggested by Christian + Brabandt, closes #3146) +Files: src/edit.c + +Patch 8.1.0225 +Problem: Mode() does not indicate using CTRL-O from Insert mode. +Solution: Add "niI", "niR" and "niV" to mode() result. (closes #3000) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.1.0226 +Problem: Too many #ifdefs. +Solution: Graduate the +vreplace feature, it's not much code and quite a few + #ifdefs. +Files: runtime/doc/change.txt, runtime/doc/various.txt, src/edit.c, + src/evalfunc.c, src/gui.c, src/misc1.c, src/misc2.c, src/normal.c, + src/ops.c, src/screen.c, src/version.c, src/feature.h, + src/globals.h, src/macros.h, src/vim.h + +Patch 8.1.0227 +Problem: Spaces instead of tabs in makefile. +Solution: Use tabs and fix sorting. (Ken Takata) +Files: src/po/Make_all.mak + +Patch 8.1.0228 +Problem: Dropping files is ignored while Vim is busy. +Solution: Postpone the effect of dropping files until it's safe. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/gui.c, src/gui.h, + src/screen.c, src/main.c, src/gui_mac.c + +Patch 8.1.0229 +Problem: Crash when dumping profiling data. +Solution: Reset flag indicating that initialization was done. +Files: src/userfunc.c + +Patch 8.1.0230 +Problem: Directly checking 'buftype' value. +Solution: Add the bt_normal() function. (Yegappan Lakshmanan) +Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/proto/buffer.pro, + src/quickfix.c + +Patch 8.1.0231 +Problem: :help -? goes to help for -+. +Solution: Add -? to list of special cases. (Hirohito Higashi) +Files: src/ex_cmds.c, src/testdir/test_help_tagjump.vim + +Patch 8.1.0232 +Problem: Ruby error does not include backtrace. +Solution: Add an error backtrace. (Masataka Pocke Kuwabara, closes #3267) +Files: src/if_ruby.c + +Patch 8.1.0233 +Problem: "safe" argument of call_vim_function() is always FALSE. +Solution: Remove the argument. +Files: src/eval.c, src/proto/eval.pro, src/edit.c, src/mbyte.c, + src/normal.c, src/ex_getln.c + +Patch 8.1.0234 +Problem: Incorrect reference counting in Perl interface. +Solution: Call SvREFCNT_inc more often, add a test. (Damien) +Files: src/if_perl.xs, src/testdir/test_perl.vim + +Patch 8.1.0235 (after 8.1.0231) +Problem: More help tags that jump to the wrong location. +Solution: Add more exceptions and a table for "expr-" tags. (Hirohito + Higashi) +Files: src/ex_cmds.c, src/testdir/test_help_tagjump.vim + +Patch 8.1.0236 (after 8.1.0232) +Problem: Ruby build fails when ruby_intern is missing. +Solution: Do not use ruby_intern2. (Ken Takata) +Files: src/if_ruby.c + +Patch 8.1.0237 +Problem: Ruby on Cygwin doesn't always work. +Solution: Use LIBRUBY_SO if LIBRUBY_ALIASES isn't set. (Ken Takata) +Files: src/configure.ac, src/auto/configure + +Patch 8.1.0238 +Problem: 'buftype' is cleared when using ":term ++hidden cat". (Marcin + Szamotulski) +Solution: Set the "options initialized" flag earlier. (closes #3278) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0239 (after 8.1.0236) +Problem: Now Ruby build fails on other systems. +Solution: Always define rb_intern. (Ken Takata, closes #3275) +Files: src/if_ruby.c + +Patch 8.1.0240 +Problem: g:actual_curbuf set in wrong scope. (Daniel Hahler) +Solution: Prepend the "g:" name space. (closes #3279) +Files: src/buffer.c + +Patch 8.1.0241 +Problem: Effect of ":tabmove N" is not clear. +Solution: Add a test that shows the behavior. (Christian Brabandt, + closes #3288) +Files: src/testdir/test_tabpage.vim + +Patch 8.1.0242 +Problem: Insert mode completion may use an invalid buffer pointer. (Akib + Nizam) +Solution: Check for ins_buf to be valid. (closes #3290) +Files: src/edit.c + +Patch 8.1.0243 +Problem: Using :term ++close ++hidden closes a window. (Marcin Szamotulski) +Solution: Don't close the window if only using it temporarily for unloading + the terminal buffer. (closes #3287) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0244 +Problem: No redraw when using a STOP signal on Vim and then a CONT signal. +Solution: Catch the CONT signal and force a redraw. (closes #3285) +Files: src/os_unix.c, src/term.c, src/proto/term.pro + +Patch 8.1.0245 +Problem: Calling setline() in TextChangedI autocmd breaks undo. (Jason + Felice) +Solution: Don't save lines for undo when already saved. (closes #3291) +Files: src/edit.c, src/testdir/test_autocmd.vim + +Patch 8.1.0246 (after 8.1.0245) +Problem: Build failure without the +eval feature. +Solution: Add #ifdef +Files: src/edit.c + +Patch 8.1.0247 +Problem: Python: error message for failing import is incorrect. +Solution: Adjust how modules are loaded. (Ozaki Kiichi, closes #3162) +Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok + +Patch 8.1.0248 +Problem: duplicated quickfix code. +Solution: Move the code to a function. +Files: src/quickfix.c + +Patch 8.1.0249 +Problem: GTK: when screen DPI changes Vim does not handle it. +Solution: Handle the gtk-xft-dpi signal. (Roel van de Kraats, + closes #2357) +Files: src/gui_gtk_x11.c + +Patch 8.1.0250 +Problem: MS-Windows using VTP: windows size change incorrect. +Solution: Call SetConsoleScreenBufferSize() first. (Nobuhiro Takasaki, + closes #3164) +Files: src/os_win32.c + +Patch 8.1.0251 +Problem: Using a full path is supported for 'directory' but not for + 'backupdir'. (Mikolaj Machowski) +Solution: Support 'backupdir' as well. (Christian Brabandt, closes #179) +Files: runtime/doc/options.txt, src/fileio.c, src/memline.c, + src/proto/memline.pro, src/testdir/test_alot.vim, + src/testdir/test_backup.vim, src/Make_all.mak + +Patch 8.1.0252 +Problem: Quickfix functions are too long. +Solution: Refactor. (Yegappan Lakshmanan, closes #2950) +Files: src/quickfix.c + +Patch 8.1.0253 +Problem: Saving and restoring window title does not always work. +Solution: Use the stack push and pop commands. (Kouichi Iwamoto, + closes #3059) +Files: runtime/doc/term.txt, src/main.c, src/option.c, src/os_unix.c, + src/proto/term.pro, src/term.c, src/term.h, src/vim.h, + src/buffer.c, src/ex_docmd.c, src/option.c, src/os_amiga.c, + src/os_mswin.c, src/os_win32.c + +Patch 8.1.0254 (after 8.1.0253) +Problem: Cannot build on MS-Windows; Unused macro HAVE_HANDLE_DROP. +Solution: Adjust #ifdef. Delete the macro. +Files: src/main.c, src/vim.h + +Patch 8.1.0255 (after 8.1.0251) +Problem: Backup test fails when using shadow directory. +Solution: Remove check for "src". +Files: src/testdir/test_backup.vim + +Patch 8.1.0256 (after 8.1.0245) +Problem: Using setline() in TextChangedI splits undo. +Solution: Use another solution for undo not working properly. +Files: src/edit.c, src/testdir/test_autocmd.vim + +Patch 8.1.0257 +Problem: No test for pathshorten(). +Solution: Add a test. (Dominique Pelle, closes #3295) +Files: src/testdir/test_functions.vim + +Patch 8.1.0258 +Problem: Not enough testing for the CompleteDone event. +Solution: Add a test. (closes #3297) +Files: src/testdir/test_ins_complete.vim + +Patch 8.1.0259 +Problem: No test for fixed quickfix issue. +Solution: Add a test. Clean up the code a bit. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0260 +Problem: No LGTM logo in README file. +Solution: Add one. (Bas van Schaik, closes #3305) +Files: README.md + +Patch 8.1.0261 +Problem: Coverity complains about a negative array index. +Solution: When qf_id2nr() cannot find the list then don't set qf_curlist. +Files: src/quickfix.c + +Patch 8.1.0262 +Problem: Not enough testing for getftype(). +Solution: Add a test. (Dominique Pelle, closes #3300) +Files: src/evalfunc.c, src/testdir/test_stat.vim + +Patch 8.1.0263 +Problem: Channel log doesn't show part of channel. +Solution: Add "sock", "out", "err" or "in". (Ozaki Kiichi, closes #3303) +Files: src/channel.c + +Patch 8.1.0264 +Problem: Backup tests fail when CWD is in /tmp. +Solution: Make 'backupskip' empty. (Christian Brabandt, closes #3301) +Files: src/testdir/test_backup.vim + +Patch 8.1.0265 +Problem: The getcmdline() function is way too big. +Solution: Factor out the incremental search highlighting. +Files: src/ex_getln.c + +Patch 8.1.0266 +Problem: Parsing Ex address range is not a separate function. +Solution: Refactor do_one_cmd() to separate address parsing. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.1.0267 +Problem: No good check if restoring quickfix list worked. +Solution: Let qf_restore_list() return OK/FAIL. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0268 +Problem: File type checking has too many #ifdef. +Solution: Always define the S_IF macros. (Ken Takata, closes #3306) +Files: src/buffer.c, src/evalfunc.c, src/fileio.c, src/if_cscope.c, + src/os_unix.c, src/os_unix.h, src/vim.h + +Patch 8.1.0269 +Problem: Ruby Kernel.#p method always returns nil. +Solution: Copy p method implementation from Ruby code. (Masataka Pocke + Kuwabara, closes #3315) +Files: src/if_ruby.c, src/testdir/test_ruby.vim + +Patch 8.1.0270 +Problem: Checking for a Tab in a line could be faster. +Solution: Use strchr() instead of strrchr(). (closes #3312) +Files: src/ex_cmds.c + +Patch 8.1.0271 +Problem: 'incsearch' doesn't work for :s, :g or :v. +Solution: Also use 'incsearch' for other commands that use a pattern. +Files: src/ex_getln.c, src/globals.h, src/screen.c, + src/testdir/test_search.vim + +Patch 8.1.0272 +Problem: Options test fails if temp var ends in slash. (Tom Briden) +Solution: Check for optional slash. (closes #3308) +Files: src/testdir/test_options.vim + +Patch 8.1.0273 +Problem: Invalid memory access when using 'incsearch'. +Solution: Reset "patlen" when using previous search pattern. +Files: src/ex_getln.c + +Patch 8.1.0274 +Problem: 'incsearch' triggers on ":source". +Solution: Check for the whole command name. +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0275 +Problem: 'incsearch' with :s doesn't start at cursor line. +Solution: Set cursor before parsing address. (closes #3318) + Also accept a match at the start of the first line. +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0276 +Problem: No test for 'incsearch' highlighting with :s. +Solution: Add a screendump test. +Files: src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_01.dump + +Patch 8.1.0277 +Problem: 'incsearch' highlighting wrong in a few cases. +Solution: Fix using last search pattern. Restore highlighting when changing + command. (issue #3321) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_02.dump, + src/testdir/dumps/Test_incsearch_substitute_03.dump + +Patch 8.1.0278 +Problem: 'incsearch' highlighting does not accept reverse range. +Solution: Swap the range when needed. (issue #3321) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_04.dump + +Patch 8.1.0279 +Problem: 'incsearch' highlighting does not skip white space. +Solution: Skip white space after the command. (issue #3321) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_05.dump + +Patch 8.1.0280 +Problem: 'incsearch' highlighting does not work for ":g!/". +Solution: Skip the exclamation mark. (Hirohito Higashi) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0281 +Problem: Parsing command modifiers is not separated. +Solution: Move command modifier parsing to a separate function. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_cmds.h, + src/globals.h, src/feature.h + +Patch 8.1.0282 +Problem: 'incsearch' does not work with command modifiers. +Solution: Skip command modifiers. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_getln.c, + src/testdir/test_search.vim + +Patch 8.1.0283 (after 8.1.0282) +Problem: Missing test dump. +Solution: Add the dump file +Files: src/testdir/dumps/Test_incsearch_substitute_06.dump + +Patch 8.1.0284 +Problem: 'cursorline' highlighting wrong with 'incsearch'. +Solution: Move the cursor back if the match is outside the range. +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_07.dump + src/testdir/dumps/Test_incsearch_substitute_08.dump + +Patch 8.1.0285 +Problem: Compiler warning for conversion. +Solution: Add a type cast. (Mike Williams) +Files: src/ex_getln.c + +Patch 8.1.0286 +Problem: 'incsearch' does not apply to :smagic and :snomagic. +Solution: Add support. (Hirohito Higashi) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0287 +Problem: MAX is not defined everywhere. +Solution: Define MAX where needed. +Files: src/ex_getln.c + +Patch 8.1.0288 +Problem: Quickfix code uses cmdidx too often. +Solution: Add is_loclist_cmd(). (Yegappan Lakshmanan) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/quickfix.c + +Patch 8.1.0289 +Problem: Cursor moves to wrong column after quickfix jump. +Solution: Set the curswant flag. (Andy Massimino, closes #3331) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0290 +Problem: "cit" on an empty HTML tag changes the whole tag. +Solution: Only adjust the area in Visual mode. (Andy Massimino, + closes #3332) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.0291 +Problem: 'incsearch' highlighting not used for :sort. +Solution: Handle pattern in :sort command. +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_sort_01.dump + +Patch 8.1.0292 +Problem: MS-Windows: the text "self-installing" confuses some users. +Solution: Remove the text from the uninstall entry. (closes #3337) +Files: src/dosinst.c + +Patch 8.1.0293 +Problem: Checks for type of stack is cryptic. +Solution: Define IS_QF_STACK() and IS_LL_STACK(). (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0294 +Problem: MS-Windows: sometimes uses short directory name. +Solution: Expand to long file name with correct caps. (Nobuhiro Takasaki, + closes #3334) +Files: src/os_win32.c + +Patch 8.1.0295 +Problem: No 'incsearch' highlighting for :vimgrep and similar commands. +Solution: Parse the :vimgrep command and similar ones to locate the search + pattern. (Hirohito Higashi, closes #3344) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_vimgrep_01.dump, + src/testdir/dumps/Test_incsearch_vimgrep_02.dump, + src/testdir/dumps/Test_incsearch_vimgrep_03.dump, + src/testdir/dumps/Test_incsearch_vimgrep_04.dump, + src/testdir/dumps/Test_incsearch_vimgrep_05.dump + +Patch 8.1.0296 +Problem: Command parsing for 'incsearch' is a bit ugly. +Solution: Return when there is no pattern. Put common checks together. +Files: src/ex_getln.c + +Patch 8.1.0297 (after 8.1.0294) +Problem: MS-Windows: tests fail, Vim crashes. +Solution: Fix long file name handling. +Files: src/os_win32.c + +Patch 8.1.0298 +Problem: Window resize test sometimes fails on Mac. +Solution: Add Test_popup_and_window_resize() to flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0299 (after 8.1.0298) +Problem: misplaced comment +Solution: Remove comment +Files: src/testdir/runtest.vim + +Patch 8.1.0300 +Problem: The old window title might be freed twice. (Dominique Pelle) +Solution: Do not free "oldtitle" in a signal handler but set a flag to have + it freed later. +Files: src/os_unix.c + +Patch 8.1.0301 +Problem: GTK: Input method popup displayed on wrong screen. +Solution: Add the screen position offset. (Ken Takata, closes #3268) +Files: src/gui_beval.c, src/gui_gtk_x11.c, src/mbyte.c, + src/proto/gui_gtk_x11.pro + +Patch 8.1.0302 +Problem: Crash when using :suspend and "fg". +Solution: Undo patch 8.1.0244. +Files: src/os_unix.c, src/term.c, src/proto/term.pro + +Patch 8.1.0303 +Problem: line2byte() is wrong for last line with 'noeol' and 'nofixeol'. +Solution: Fix off-by-one error. (Shane Harper, closes #3351) +Files: src/memline.c, src/testdir/test_functions.vim + +Patch 8.1.0304 +Problem: No redraw when using a STOP signal on Vim and then a CONT signal. +Solution: Catch the CONT signal and set the terminal to raw mode. This is + like 8.1.0244 but without the screen redraw and a fix for + multi-threading suggested by Dominique Pelle. +Files: src/os_unix.c, src/term.c, src/proto/term.pro + +Patch 8.1.0305 +Problem: Missing support for Lua 5.4 32 bits on Unix. +Solution: Define lua_newuserdatauv. (Kazunobu Kuriyama) +Files: src/if_lua.c + +Patch 8.1.0306 +Problem: Plural messages are not translated properly. +Solution: Add more usage of NGETTEXT(). (Sergey Alyoshin) +Files: src/vim.h, src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, + src/fileio.c, src/misc1.c, src/ops.c + +Patch 8.1.0307 +Problem: There is no good way to get the window layout. +Solution: Add the winlayout() function. (Yegappan Lakshmanan) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/window.pro, + src/window.c, src/testdir/test_window_id.vim + +Patch 8.1.0308 +Problem: A quick undo shows "1 seconds ago". (Tony Mechelynck) +Solution: Add singular/plural message. +Files: src/undo.c + +Patch 8.1.0309 +Problem: Profiling does not show a count for condition lines. (Daniel + Hahler) +Solution: Count lines when not skipping. (Ozaki Kiichi, closes #2499) +Files: src/ex_docmd.c, src/testdir/test_profile.vim + +Patch 8.1.0310 +Problem: File info message not always suppressed with 'F' in 'shortmess'. + (Asheq Imran) +Solution: Save and restore msg_silent. (Christian Brabandt, closes #3221) +Files: src/buffer.c, src/memline.c, src/testdir/test_options.vim + +Patch 8.1.0311 +Problem: Filtering entries in a quickfix list is not easy. +Solution: Add the cfilter plugin. (Yegappan Lakshmanan) +Files: runtime/pack/dist/opt/cfilter/plugin/cfilter.vim, + runtime/doc/quickfix.txt + +Patch 8.1.0312 +Problem: Wrong type for flags used in signal handlers. +Solution: Use sig_atomic_t. (Dominique Pelle, closes #3356) +Files: src/globals.h, src/os_unix.c, src/os_win32.h + +Patch 8.1.0313 +Problem: Information about a swap file is unavailable. +Solution: Add swapinfo(). (Enzo Ferber) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/memline.c, + src/proto/memline.pro, src/testdir/test_swap.vim + +Patch 8.1.0314 (after 8.1.0313) +Problem: Build failure without the +eval feature. (Brenton Horne) +Solution: Add #ifdef. Also add the "dirty" item. +Files: src/memline.c, runtime/doc/eval.txt, src/testdir/test_swap.vim + +Patch 8.1.0315 +Problem: Helpgrep with language doesn't work properly. (Takuya Fujiwara) +Solution: Check for the language earlier. (Hirohito Higashi) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0316 +Problem: swapinfo() test fails on Travis. +Solution: Handle a long host name. (Ozaki Kiichi, closes #3361) + Also make the version check flexible. (James McCoy) +Files: src/testdir/test_swap.vim + +Patch 8.1.0317 +Problem: Cscope test fails when using shadow directory. +Solution: Resolve symlink in Vim. (James McCoy, closes #3364) +Files: src/testdir/test_cscope.vim + +Patch 8.1.0318 +Problem: The getftype() test may fail for char devices if the file + disappeared in between the listing and the getftype() call. +Solution: Ignore empty result. (Ozaki Kiichi, closes #3360) +Files: src/testdir/test_stat.vim + +Patch 8.1.0319 +Problem: bzero() function prototype doesn't work for Android. +Solution: Add an #ifdef. (Elliott Hughes, closes #3365) +Files: src/osdef1.h.in + +Patch 8.1.0320 +Problem: Too much 'incsearch' highlight for pattern matching everything. +Solution: Add the skiplen to the command and remove the line range. + (Christian Brabandt) Check for empty pattern earlier. +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_09.dump + +Patch 8.1.0321 (after 8.1.0320) +Problem: 'incsearch' regression: /\v highlights everything. +Solution: Put back the empty_pattern() check. +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_search_01.dump, + src/testdir/dumps/Test_incsearch_search_02.dump + +Patch 8.1.0322 +Problem: Test_copy_winopt() does not restore 'hidden'. +Solution: Restore the option, fix indent. (Ozaki Kiichi, closes #3367) +Files: src/testdir/test_options.vim + +Patch 8.1.0323 +Problem: Reverse order of VTP calls only needed the first time. +Solution: Add a flag to remember the state. (Nobuhiro Takasaki, closes #3366) +Files: src/os_win32.c + +Patch 8.1.0324 +Problem: Off-by-one error in cmdidx check. (Coverity) +Solution: Use ">=" instead of ">". +Files: src/ex_docmd.c + +Patch 8.1.0325 +Problem: Strings in swap file may not be NUL terminated. (Coverity) +Solution: Limit the length of the used string. +Files: src/memline.c + +Patch 8.1.0326 +Problem: Screen dump does not consider NUL and space equal. +Solution: Use temp variables instead of character from cell. +Files: src/terminal.c, src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.0327 +Problem: The "g CTRL-G" command isn't tested much. +Solution: Add more tests. (Dominique Pelle, closes #3369) +Files: src/testdir/test_normal.vim + +Patch 8.1.0328 +Problem: inputlist() doesn't work with a timer. (Dominique Pelle) +Solution: Don't redraw when cmdline_row is zero. (Hirohito Higashi, + closes #3239) +Files: src/misc1.c, src/screen.c + +Patch 8.1.0329 +Problem: Using inputlist() during startup results in garbage. (Dominique + Pelle) +Solution: Make sure the xterm tracing is stopped when disabling the mouse. +Files: src/os_unix.c + +Patch 8.1.0330 +Problem: The qf_add_entries() function is too long. +Solution: Split in two parts. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0331 +Problem: Insufficient test coverage for :mkview and :loadview. +Solution: Add tests. (Dominique Pelle, closes #3385) +Files: src/testdir/test_mksession.vim + +Patch 8.1.0332 +Problem: Get Gdk-Critical error on first balloon show. +Solution: Get screen geometry using the draw area widget. (Davit Samvelyan, + closes #3386) +Files: src/gui_beval.c + +Patch 8.1.0333 +Problem: :mkview does not restore cursor properly after "$". (Dominique + Pelle) +Solution: Position the cursor with "normal! $". +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0334 +Problem: 'autowrite' takes effect when buffer is not to be written. +Solution: Don't write buffers that are not supposed to be written. (Even Q + Jones, closes #3391) Add tests for 'autowrite'. +Files: src/ex_cmds2.c, src/testdir/test_writefile.vim + +Patch 8.1.0335 +Problem: mkview test fails on CI. +Solution: Attempt to force recomputing curswant after folding. +Files: src/testdir/test_mksession.vim + +Patch 8.1.0336 +Problem: mkview test still fails on CI. +Solution: Ignore curswant, don't see another solution. +Files: src/testdir/test_mksession.vim + +Patch 8.1.0337 +Problem: :file fails in quickfix command. +Solution: Allow :file without argument when curbuf_lock is set. (Jason + Franklin) +Files: src/ex_docmd.c, src/testdir/test_quickfix.vim + +Patch 8.1.0338 +Problem: MS-Windows: VTP doesn't work properly with PowerShell. +Solution: Adjust the color index. (Nobuhiro Takasaki, closes #3347) +Files: src/os_win32.c + +Patch 8.1.0339 +Problem: Wrong highlight when 'incsearch' set and cancelling :s. +Solution: Reset search line range. (Hirohito Higashi, Masamichi Abe) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_10.dump + +Patch 8.1.0340 +Problem: No test for :spellinfo. +Solution: Add a test. (Dominique Pelle, closes #3394) +Files: src/testdir/test_spell.vim + +Patch 8.1.0341 +Problem: :argadd in empty buffer changes the buffer name. (Pavol Juhas) +Solution: Don't re-use the current buffer when not going to edit the file. + (closes #3397) Do re-use the current buffer for :next. +Files: src/ex_cmds2.c, src/testdir/test_arglist.vim, + src/testdir/test_command_count.vim + +Patch 8.1.0342 +Problem: Crash when a callback deletes a window that is being used. (Ozaki + Kiichi) +Solution: Do not unload a buffer that is being displayed while redrawing the + screen. Also avoid invoking callbacks while redrawing. + (closes #2107) +Files: src/buffer.c, src/misc2.c + +Patch 8.1.0343 +Problem: 'shellslash' is not used for getcwd() with local directory. + (Daniel Hahler) +Solution: Call slash_adjust() later. (closes #3399) +Files: src/evalfunc.c + +Patch 8.1.0344 +Problem: 'hlsearch' highlighting has a gap after /$. +Solution: Remove suspicious code. (Ricky Zhou, closes #3400) +Files: src/screen.c, src/testdir/test_hlsearch.vim + +Patch 8.1.0345 +Problem: Cannot get the window id associated with the location list. +Solution: Add the "filewinid" argument to getloclist(). (Yegappan + Lakshmanan, closes #3202) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.1.0346 +Problem: Building with Aap is outdated and unused. +Solution: Remove the Aap build files. +Files: Filelist, src/main.aap, src/testdir/main.aap, src/config.aap.in, + runtime/macros/maze/main.aap + +Patch 8.1.0347 +Problem: Some tests fail on Solaris. +Solution: Skip writefile test. Fix path to libc.so. Improve test for Turkish + case change. (Libor Bukata, Bjorn Linse, closes #3403) +Files: src/testdir/test_functions.vim, src/testdir/test_normal.vim, + src/testdir/test_writefile.vim + +Patch 8.1.0348 +Problem: On Travis the slowest build is run last. (Dominique Pelle) +Solution: Reorder the build entries. +Files: .travis.yml + +Patch 8.1.0349 +Problem: Crash when wiping buffer in a callback. +Solution: Do not handle messages when only peeking for a character. + (closes #2107) Add "redraw_flag" to test_override(). +Files: src/os_unix.c, src/os_win32.c, src/screen.c, src/evalfunc.c, + src/globals.h, runtime/doc/eval.txt + +Patch 8.1.0350 +Problem: Vim may block on ch_sendraw() when the job is sending data back to + Vim, which isn't read yet. (Nate Bosch) +Solution: Add the "noblock" option to job_start(). (closes #2548) +Files: src/channel.c, src/structs.h, src/testdir/test_channel.vim, + runtime/doc/channel.txt + +Patch 8.1.0351 +Problem: 'incsearch' for :/foo/s// changes last search pattern. +Solution: Save the last search pattern earlier. +Files: src/ex_docmd.c, src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0352 +Problem: Browsing compressed tar files does not always work. +Solution: Use the "file" command to get the compression type. +Files: runtime/autoload/tar.vim + +Patch 8.1.0353 +Problem: An "after" directory of a package is appended to 'rtp', which + will be after the user's "after" directory. () +Solution: Insert the package "after" directory before any other "after" + directory in 'rtp'. (closes #3409) +Files: src/ex_cmds2.c, src/testdir/test_packadd.vim + +Patch 8.1.0354 (after 8.1.0353) +Problem: Packadd test fails on MS-Windows. +Solution: Ignore difference between forward and backward slashes. +Files: src/testdir/test_packadd.vim + +Patch 8.1.0355 +Problem: Incorrect adjusting the popup menu for the preview window. +Solution: Compute position and height properly. (Ronan Pigott) Also show at + least ten items. (closes #3414) +Files: src/popupmnu.c + +Patch 8.1.0356 +Problem: Using :s with 'incsearch' prevents CTRL-R CTRL-W. (Boris Staletic) +Solution: When past the pattern put cursor back in the start position. + (closes #3413) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.0357 +Problem: Instructions for tests are outdated. (Jason Franklin) +Solution: Update the text. +Files: src/testdir/README.txt + +Patch 8.1.0358 +Problem: Crash when using term_dumpwrite() after the job finished. +Solution: Check for a finished job and give an error message. +Files: src/terminal.c + +Patch 8.1.0359 +Problem: No clue what test failed when using a screendump twice. +Solution: Add an extra argument to VerifyScreenDump(). +Files: src/testdir/screendump.vim + +Patch 8.1.0360 +Problem: Using an external diff program is slow and inflexible. +Solution: Include the xdiff library. (Christian Brabandt, closes #2732) + Use it by default. +Files: Filelist, runtime/doc/diff.txt, runtime/doc/options.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, src/diff.c, + src/structs.h, src/testdir/dumps/Test_diff_01.dump, + src/testdir/dumps/Test_diff_02.dump, + src/testdir/dumps/Test_diff_03.dump, + src/testdir/dumps/Test_diff_04.dump, + src/testdir/dumps/Test_diff_05.dump, + src/testdir/dumps/Test_diff_06.dump, + src/testdir/dumps/Test_diff_07.dump, + src/testdir/dumps/Test_diff_08.dump, + src/testdir/dumps/Test_diff_09.dump, + src/testdir/dumps/Test_diff_10.dump, + src/testdir/dumps/Test_diff_11.dump, + src/testdir/dumps/Test_diff_12.dump, + src/testdir/dumps/Test_diff_13.dump, + src/testdir/dumps/Test_diff_14.dump, + src/testdir/dumps/Test_diff_15.dump, + src/testdir/dumps/Test_diff_16.dump, + src/testdir/test_diffmode.vim, src/xdiff/COPYING, + src/xdiff/xdiff.h, src/xdiff/xdiffi.c, src/xdiff/xdiffi.h, + src/xdiff/xemit.c, src/xdiff/xemit.h, src/xdiff/xhistogram.c, + src/xdiff/xinclude.h, src/xdiff/xmacros.h, src/xdiff/xpatience.c, + src/xdiff/xprepare.c, src/xdiff/xprepare.h, src/xdiff/xtypes.h, + src/xdiff/xutils.c, src/xdiff/xutils.h, src/xdiff/README.txt + +Patch 8.1.0361 +Problem: Remote user not used for completion. (Stucki) +Solution: Use $USER too. (Dominique Pelle, closes #3407) +Files: src/misc1.c + +Patch 8.1.0362 +Problem: Cannot get the script line number when executing a function. +Solution: Store the line number besides the script ID. (Ozaki Kiichi, + closes #3362) Also display the line number with ":verbose set". +Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/Make_all.mak, + src/buffer.c, src/eval.c, src/evalfunc.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, + src/globals.h, src/main.c, src/menu.c, src/option.c, + src/proto/eval.pro, src/structs.h, src/syntax.c, + src/testdir/test_alot.vim, src/testdir/test_expand_func.vim, + src/testdir/test_maparg.vim, src/term.c src/userfunc.c + +Patch 8.1.0363 +Problem: Internal diff isn't used by default as advertised. +Solution: Add "internal" to the default value of 'diffopt'. + Also add couple of files missing from the distribution. +Files: src/option.c, runtime/doc/options.txt, Filelist + +Patch 8.1.0364 +Problem: Compiler warning in xdiff code. (Yegappan Lakshmanan) +Solution: Initialize directly. +Files: src/xdiff/xemit.c, src/xdiff/README.txt + +Patch 8.1.0365 +Problem: Function profile doesn't specify where it was defined. +Solution: Show the script name and line number. +Files: src/userfunc.c, src/testdir/test_profile.vim + +Patch 8.1.0366 +Problem: Pieces of the xdiff code are not used. +Solution: Add "#if 0" to omit unused code. +Files: src/xdiff/xemit.c + +Patch 8.1.0367 +Problem: getchar(1) no longer processes pending messages. (Yasuhiro + Matsumoto) +Solution: Call parse_queued_messages(). +Files: src/evalfunc.c + +Patch 8.1.0368 +Problem: GTK code has too many #ifdefs and building fails with GTK 2.10. +Solution: Always use gtk_widget_get_window() and define it for older GTK + versions. (Ken Takata, closes #3421) +Files: src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_f.c, + src/gui_gtk_x11.c, src/mbyte.c, src/vim.h + +Patch 8.1.0369 +Problem: Continuation lines cannot contain comments. +Solution: Support using "\ . +Files: src/ex_cmds2.c, src/testdir/test_eval_stuff.vim, + runtime/indent/vim.vim, runtime/doc/repeat.txt + +Patch 8.1.0370 +Problem: Not using internal diff if 'diffopt' is not changed. +Solution: Correct initialization of diff_flags. (Christian Brabandt) +Files: src/diff.c + +Patch 8.1.0371 +Problem: Argument types for select() may be wrong. +Solution: Use a configure macro. (Tobias Ulmer) +Files: src/config.h.in, src/configure.ac, src/auto/configure, + src/os_unix.c + +Patch 8.1.0372 +Problem: Screen updating slow when 'cursorline' is set. +Solution: Only redraw the old and new cursor line, not all lines. +Files: src/edit.c, src/move.c, src/screen.c, src/proto/screen.pro + +Patch 8.1.0373 (after 8.1.0372) +Problem: Screen updating still slow when 'cursorline' is set. +Solution: Fix setting last_cursorline. +Files: src/move.c + +Patch 8.1.0374 +Problem: Moving the cursor is slow when 'relativenumber' is set. +Solution: Only redraw the number column, not all lines. +Files: src/screen.c, src/move.c + +Patch 8.1.0375 +Problem: Cannot use diff mode with Cygwin diff.exe. (Igor Forca) +Solution: Skip over unrecognized lines in the diff output. +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.1.0376 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize the variable. +Files: src/screen.c + +Patch 8.1.0377 +Problem: Xdiff doesn't use the Vim memory allocation functions. +Solution: Change the xdl_ defines. Check for out-of-memory. Rename + "ignored" to "vim_ignored". +Files: src/xdiff/xdiff.h, src/xdiff/xpatience.c, src/xdiff/xdiffi.c, + src/channel.c, src/diff.c, src/evalfunc.c, src/ex_cmds.c, + src/fileio.c, src/main.c, src/mbyte.c, src/netbeans.c, + src/os_unix.c, src/os_win32.c, src/ui.c, src/window.c, + src/globals.h, src/term.c + +Patch 8.1.0378 +Problem: CI build failure. +Solution: Include vim.h as ../vim.h. Fix compiler warning. +Files: src/xdiff/xdiff.h, src/xdiff/xpatience.c + +Patch 8.1.0379 +Problem: Build dependencies are incomplete. +Solution: Update the build dependencies, mainly for xdiff. Adjust object + directory for libvterm and xdiff. +Files: src/Makefile, src/configure.ac, src/auto/configure, + src/libvterm/src/screen.c, src/libvterm/src/termscreen.c, + src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.0380 +Problem: "make proto" doesn't work well. +Solution: Define a few more types for cproto. Update proto files. Fix that + workshop didn't build. +Files: src/vim.h, src/protodef.h, src/if_ruby.c, src/workshop.c, + src/proto/digraph.pro, src/hardcopy.pro, src/proto/option.pro, + src/proto/window.pro + +Patch 8.1.0381 +Problem: Variable declaration not at start of block. +Solution: Fix line ordering. +Files: src/xdiff/xpatience.c + +Patch 8.1.0382 +Problem: Some make programs can't handle dependency on "xdiff/../". +Solution: Strip it out. +Files: src/Makefile + +Patch 8.1.0383 +Problem: Missing source file rename. +Solution: Update the dependency. +Files: src/Make_mvc.mak + +Patch 8.1.0384 +Problem: Sign ordering depends on +netbeans feature. +Solution: Also order signs without +netbeans. (Christian Brabandt, + closes #3224) +Files: src/structs.h, src/buffer.c + +Patch 8.1.0385 +Problem: Coveralls badge doesn't update. +Solution: Update the URL +Files: README.md + +Patch 8.1.0386 +Problem: Cannot test with non-default option value. +Solution: Add test_option_not_set(). +Files: runtime/doc/eval.txt, src/option.c, src/proto/option.pro, + src/evalfunc.c + +Patch 8.1.0387 +Problem: No test for 'ambiwidth' detection. +Solution: Add a test. +Files: src/testdir/test_startup_utf8.vim + +Patch 8.1.0388 +Problem: Coverity complains about possible NULL pointer use. +Solution: Use get_tv_string() instead of get_tv_string_chk(). +Files: src/evalfunc.c + +Patch 8.1.0389 +Problem: :behave command is not tested. +Solution: Add a test. (Dominique Pelle, closes #3429) +Files: src/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_behave.vim + +Patch 8.1.0390 +Problem: Scrollbars are not tested. +Solution: Add test_scrollbar() and a test. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_gui.vim + +Patch 8.1.0391 +Problem: Building in a shadow directory fails. +Solution: Don't link the xdiff directory but what's in it. (closes #3428) +Files: src/Makefile + +Patch 8.1.0392 +Problem: Error while typing :/foo/s// with 'incsearch' enabled. +Solution: Do not give search errors when highlighting matches. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_getln.c, + src/testdir/test_search.vim + +Patch 8.1.0393 +Problem: Not all white space difference options available. +Solution: Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'. +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_17.dump, + src/testdir/dumps/Test_diff_18.dump, + src/testdir/dumps/Test_diff_19.dump, + src/testdir/dumps/Test_diff_20.dump + +Patch 8.1.0394 +Problem: Diffs are not always updated correctly. +Solution: When using internal diff update for any changes properly. +Files: src/structs.h, src/diff.c, src/proto/diff.pro, src/misc1.c, + src/main.c + +Patch 8.1.0395 +Problem: Compiler warning on 64-bit MS-Windows. +Solution: Add type cast. (Mike Williams) +Files: src/diff.c + +Patch 8.1.0396 +Problem: Another compiler warning on 64-bit MS-Windows. +Solution: Add type cast. (Mike Williams) +Files: src/xdiff/xutils.c + +Patch 8.1.0397 +Problem: No event triggered after updating diffs. +Solution: Add the DiffUpdated event. +Files: src/vim.h, src/diff.c, src/fileio.c, + src/testdir/test_diffmode.vim, runtime/doc/autocmd.txt + +Patch 8.1.0398 +Problem: No test for -o and -O command line arguments. +Solution: Add a test. (Dominique Pelle, closes #3438) +Files: src/testdir/test_startup.vim + +Patch 8.1.0399 +Problem: 'hlsearch' highlight remains in other window after cancelling + command. +Solution: Redraw all windows. Also remove unnecessary delays. (closes #3437) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_11.dump, + src/testdir/dumps/Test_incsearch_substitute_12.dump, + src/testdir/dumps/Test_incsearch_substitute_13.dump + +Patch 8.1.0400 +Problem: Using freed memory with :diffget. +Solution: Skip ex_diffupdate() while updating diffs. (closes #3442) +Files: src/diff.c + +Patch 8.1.0401 +Problem: Can't get swap name of another buffer. +Solution: Add swapname(). (Ozaki Kiichi, closes #3441) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_swap.vim + +Patch 8.1.0402 +Problem: The DiffUpdate event isn't triggered for :diffput. +Solution: Also trigger DiffUpdate for :diffget and :diffput. +Files: src/diff.c + +Patch 8.1.0403 +Problem: Header file missing from distribution. +Solution: Add src/protodef.h. +Files: Filelist + +Patch 8.1.0404 +Problem: Accessing invalid memory with long argument name. +Solution: Use item_count instead of checking for a terminating NULL. + (Dominique Pelle, closes #3444) +Files: src/testdir/test_arglist.vim, src/version.c + +Patch 8.1.0405 +Problem: Too many #ifdefs for GTK. +Solution: Define macros instead of using #ifdef. (Ken Takata, closes #3436) +Files: src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_f.c, + src/gui_gtk_x11.c, src/vim.h + +Patch 8.1.0406 +Problem: Several command line arguments are not tested. +Solution: Add tests for -A, -F, -H, -p and -V. (Dominique Pelle, + closes #3446) +Files: src/testdir/test_startup.vim + +Patch 8.1.0407 +Problem: Quickfix code mixes using the stack and a list pointer. +Solution: Use a list pointer in more places. (Yegappan Lakshmanan, + closes #3443) +Files: src/quickfix.c + +Patch 8.1.0408 +Problem: MSVC: cannot use the "x64" native compiler option. +Solution: Ignore case for %Platform%. Improve documentation. (Ken Takata) +Files: src/INSTALLpc.txt, src/msvc2015.bat + +Patch 8.1.0409 (after 8.1.0406) +Problem: Startup test fails on MS-Windows. +Solution: Do the Arabic test in silent Ex mode. Loosen the check for -V2. +Files: src/testdir/test_startup.vim + +Patch 8.1.0410 +Problem: The ex_copen() function is too long. +Solution: Refactor to split off two functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0411 +Problem: Renamed file missing from distribution. +Solution: Rename screen.c to termscreen.c (Zdenek Dohnal, closes #3449) +Files: Filelist + +Patch 8.1.0412 +Problem: Cannot build with GTK 2.4. +Solution: Add back a few #ifdefs. (Ken Takata, closes #3447) + Also support older GTK. (Tom Christensen) +Files: src/gui_gtk_x11.c + +Patch 8.1.0413 +Problem: Test output is duplicated or missing. +Solution: Adjust the MS-Windows and Unix test makefiles. (Ken Takata, + closes #3452) +Files: src/testdir/Make_dos.mak, src/testdir/Makefile + +Patch 8.1.0414 +Problem: v:option_old and v:option_new are cleared when using :set in + OptionSet autocmd. (Gary Johnson) +Solution: Don't trigger OptionSet recursively. +Files: src/option.c + +Patch 8.1.0415 +Problem: Not actually using 16 colors with vtp. +Solution: Always use 256 colors when vtp is used. (Nobuhiro Takasaki, + closes #3432) +Files: src/option.c, src/term.c + +Patch 8.1.0416 +Problem: Sort doesn't report deleted lines. +Solution: Call msgmore(). (Christian Brabandt, closes #3454) +Files: src/ex_cmds.c, src/testdir/test_sort.vim + +Patch 8.1.0417 +Problem: Several command line arguments are not tested. +Solution: Add tests for -m, -M, -R and -Vfile. (Dominique Pelle, + closes #3458) +Files: src/testdir/test_startup.vim + +Patch 8.1.0418 +Problem: MS-Windows: cannot separate Lua include and library directories. +Solution: Add LUA_LIBDIR and LUA_INCDIR. (Ken Takata, closes #3464) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0419 +Problem: Cygwin: running cproto fails with -O2. +Solution: Strip -O2 for cproto. (Ken Takata, closes #3465) +Files: src/Makefile + +Patch 8.1.0420 +Problem: Generating vim.lib when using ActivePerl 5.20.3 or later. +Solution: Redefine XS_EXTERNAL(). (Ken Takata, closes #3462) +Files: src/if_perl.xs + +Patch 8.1.0421 +Problem: MS-Windows: Ruby path is wrong for Ruby 1.9 and later. +Solution: Let -I argument depend on Ruby version. (Ken Takata, closes #3461) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.0422 +Problem: Cannot create map file with MinGW. +Solution: Add support for $MAP. (Ken Takata, closes #3460) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0423 +Problem: MS-Windows: using dup-close for flushing a file. +Solution: Use _commit(). (Ken Takata, closes #3463) +Files: src/memfile.c, src/os_mac.h, src/os_win32.h + +Patch 8.1.0424 +Problem: Test output is very verbose, loading CI log is slow. +Solution: Redirect output to /dev/null. (Ken Takata, closes #3456) +Files: src/testdir/Makefile + +Patch 8.1.0425 +Problem: ml_get error and crash with appendbufline(). (Masashi Iizuka) +Solution: Set per-window buffer info. (Hirohito Higashi, closes #3455) +Files: src/buffer.c, src/testdir/test_bufline.vim + +Patch 8.1.0426 +Problem: Accessing invalid memory in SmcOpenConnection(). +Solution: Reduce size of errorstring by one. (Dominique Pelle, closes #3469) +Files: src/os_unix.c, src/testdir/test_startup.vim + +Patch 8.1.0427 +Problem: MS-Windows GUI: using invalid encoded file name. +Solution: Drop the file name and return NULL. (Ken Takata, closes #3467) +Files: src/gui_w32.c + +Patch 8.1.0428 +Problem: The :suspend command is not tested. +Solution: Add a test. (Dominique Pelle, closes #3472) +Files: src/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_suspend.vim + +Patch 8.1.0429 (after 8.1.0343) +Problem: No test for :lcd with 'shellslash'. +Solution: Add a test. (Daniel Hahler, closes #3475) +Files: src/testdir/test_getcwd.vim + +Patch 8.1.0430 +Problem: Xargadd file left behind after running test. +Solution: Delete the file. (Dominique Pelle) +Files: src/testdir/test_arglist.vim + +Patch 8.1.0431 +Problem: The qf_jump() function is too long. +Solution: Refactor to split it into several functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0432 +Problem: Compiler warning for signed/unsigned. +Solution: Add type cast. (Mike Williams) +Files: src/xdiff/xemit.c + +Patch 8.1.0433 +Problem: Mapping can obtain text from inputsecret(). (Tommy Allen) +Solution: Disallow CTRL-R = and CTRL-\ e when using inputsecret(). +Files: src/ex_getln.c + +Patch 8.1.0434 +Problem: copy_loclist() is too long. +Solution: Split in multiple functions. (Yegappan Lakshmanan) +Files: src/proto/quickfix.pro, src/quickfix.c, src/window.c + +Patch 8.1.0435 +Problem: Cursorline highlight not removed in some situation. (Vitaly + Yashin) +Solution: Reset last_cursorline when resetting 'cursorline'. (Christian + Brabandt, closes #3481) +Files: src/move.c, src/proto/move.pro, src/option.c + +Patch 8.1.0436 +Problem: Can get the text of inputsecret() with getcmdline(). (Tommy Allen) +Solution: Don't return the text. +Files: src/ex_getln.c + +Patch 8.1.0437 +Problem: May access freed memory when syntax HL times out. (Philipp Gesang) +Solution: Clear b_sst_first when clearing b_sst_array. +Files: src/syntax.c + +Patch 8.1.0438 +Problem: The ex_make() function is too long. +Solution: Split it into several functions. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0439 +Problem: Recursive use of getcmdline() still not protected. +Solution: Instead of saving the command buffer when making a call which may + cause recursiveness, save the buffer when actually being called + recursively. +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/getchar.c, src/main.c + +Patch 8.1.0440 +Problem: remove() with a range not sufficiently tested. +Solution: Add a test. (Dominique Pelle, closes #3497) +Files: src/testdir/test_listdict.vim + +Patch 8.1.0441 +Problem: Build failure without command line history. +Solution: Move cmdline_init() outside of #ifdef. +Files: src/ex_getln.c + +Patch 8.1.0442 +Problem: GUI: Cursor not drawn after ":redraw | sleep". +Solution: Flush the output. (closes #3496) +Files: src/ex_docmd.c + +Patch 8.1.0443 +Problem: Unnecessary static function prototypes. +Solution: Remove unnecessary prototypes. +Files: src/arabic.c, src/blowfish.c, src/buffer.c, src/charset.c, + src/crypt_zip.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_eval.c, src/ex_getln.c, src/fileio.c, src/getchar.c, + src/gui.c, src/gui_at_fs.c, src/gui_athena.c, 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/hangulin.c, src/hardcopy.c, src/if_cscope.c, + src/if_mzsch.c, src/if_python3.c, src/if_xcmdsrv.c, + src/integration.c, src/json.c, src/main.c, src/mbyte.c, + src/memline.c, src/message.c, src/misc1.c, src/misc2.c, + src/move.c, src/netbeans.c, src/normal.c, src/ops.c, src/option.c, + src/os_unix.c, src/os_win32.c, src/pty.c, src/regexp.c, + src/screen.c, src/search.c, src/sha256.c, src/spell.c, + src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, src/ui.c, + src/undo.c, src/version.c, src/window.c, src/workshop.c + +Patch 8.1.0444 +Problem: Unnecessary check for NULL pointer. +Solution: Remove check and call vim_free() directly. +Files: src/beval.c + +Patch 8.1.0445 +Problem: Setting 'term' does not store location for termcap options. +Solution: Set the script context for termcap options that are changed when + 'term' is set. +Files: src/option.c, src/proto/option.pro, src/term.c, + src/testdir/test_options.vim + +Patch 8.1.0446 +Problem: Options test fails in the GUI. +Solution: Don't try changing 'term' in the GUI. +Files: src/testdir/test_options.vim + +Patch 8.1.0447 +Problem: GUI scrollbar test fails with Athena and Motif. +Solution: When not using on-the-fly scrolling call normal_cmd(). +Files: src/evalfunc.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.1.0448 +Problem: Cursorline not removed when using 'cursorbind'. (Justin Keyes) +Solution: Store the last cursor line per window. (closes #3488) +Files: src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_with_cursorline_01.dump, + src/testdir/dumps/Test_diff_with_cursorline_02.dump, + src/testdir/dumps/Test_diff_with_cursorline_03.dump, + src/structs.h, src/move.c + +Patch 8.1.0449 +Problem: When 'rnu' is set folded lines are not displayed correctly. + (Vitaly Yashin) +Solution: When only redrawing line numbers do draw folded lines. + (closes #3484) +Files: src/screen.c, src/testdir/test_fold.vim, + src/testdir/dumps/Test_folds_with_rnu_01.dump, + src/testdir/dumps/Test_folds_with_rnu_02.dump + +Patch 8.1.0450 (after patch 8.1.0449) +Problem: Build failure without the +fold feature. +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.0451 +Problem: Win32 console: keypad keys don't work. +Solution: Use numbers instead of characters to avoid the value becoming + negative. (Mike Williams) +Files: src/os_win32.c + +Patch 8.1.0452 +Problem: MS-Windows: not finding intl.dll. +Solution: Also find intl.dll next to libintl.dll. (Ken Takata) +Files: src/os_win32.c, runtime/doc/mlang.txt + +Patch 8.1.0453 +Problem: MS-Windows: executable() is not reliable. +Solution: Use $PATHEXT properly. (Yasuhiro Matsumoto, closes #3512) +Files: src/os_win32.c, src/testdir/test_functions.vim + +Patch 8.1.0454 +Problem: resolve() was not tested with a symlink cycle. +Solution: Add a test. (Dominique Pelle, closes #3513) +Files: src/testdir/test_functions.vim + +Patch 8.1.0455 +Problem: Checking for empty quickfix stack is not consistent. +Solution: Use qf_stack_empty(). (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0456 +Problem: Running test hangs when the input file is being edited. +Solution: Use a SwapExists autocommand to ignore editing the test script. +Files: src/testdir/Makefile, src/testdir/runtest.vim + +Patch 8.1.0457 (after 8.1.0451) +Problem: Win32 console: key mappings don't work. +Solution: Use another solution for the keypad keys that doesn't break + mappings. Some values will be negative. (Mike Williams) +Files: src/os_win32.c + +Patch 8.1.0458 +Problem: Ml_get error and crash when using "do". +Solution: Adjust cursor position also when diffupdate is not needed. + (Hirohito Higashi) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.1.0459 +Problem: Test_executable fails when there is a dog in the system. +Solution: Rename the dog. (Hirohito Higashi) +Files: src/testdir/test_functions.vim + +Patch 8.1.0460 +Problem: assert_fails() does not take a message argument +Solution: Add the argument. +Files: src/evalfunc.c, src/eval.c, src/testdir/test_assert.vim + +Patch 8.1.0461 +Problem: Quickfix code uses too many /* */ comments. +Solution: Change to // comments. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0462 +Problem: When using ConPTY Vim can be a child process. +Solution: To find a Vim window use both EnumWindows() and + EnumChildWindows(). (Nobuhiro Takasaki, closes #3521) +Files: src/os_mswin.c + +Patch 8.1.0463 +Problem: "simalt ~x" in .vimrc blocks swap file prompt. +Solution: Flush buffers before prompting. (Yasuhiro Matsumoto, + closes #3518, closes #2192) +Files: src/memline.c + +Patch 8.1.0464 +Problem: MS-Windows: job_info() has cmd without backslashes. (Daniel + Hahler) +Solution: Use rem_backslash(). (closes #3517, closes #3404) Add a test. + (Yasuhiro Matsumoto) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.1.0465 (after 8.1.0452) +Problem: Client-server test fails. +Solution: Change logic in EnumWindows(). +Files: src/os_mswin.c + +Patch 8.1.0466 (after 8.1.0463) +Problem: Autocmd test fails. +Solution: Do call inchar() when flushing typeahead. +Files: src/vim.h, src/getchar.c, src/proto/getchar.pro, src/memline.c, + src/message.c, src/misc1.c + +Patch 8.1.0467 (after 8.1.0063) +Problem: Cannot build with Mac OS X 10.5. +Solution: Change #ifdef into #if. (Akshay Hegde, closes #3022) +Files: src/os_macosx.m + +Patch 8.1.0468 +Problem: MS-Windows: Filter command with pipe character fails. (Johannes + Riecken) +Solution: Find the pipe character outside of quotes. (Yasuhiro Matsumoto, + closes #1743, closes #3523) +Files: src/ex_cmds.c, src/testdir/test_filter_cmd.vim + +Patch 8.1.0469 +Problem: Too often indexing in qf_lists[]. +Solution: Use a qf_list_T pointer. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0470 +Problem: Pointer ownership around fname_expand() is unclear. +Solution: Allow b_ffname and b_sfname to point to the same allocated memory, + only free one. Update comments. +Files: src/buffer.c, src/structs.h, src/fileio.c, src/ex_cmds.c + +Patch 8.1.0471 +Problem: Some tests are flaky or fail on some systems. +Solution: Increase waiting time for port number. Use "cmd /c" to execute + "echo" on win32. (Ken Takata, closes #3534) +Files: src/testdir/shared.vim, src/testdir/test_channel.vim + +Patch 8.1.0472 +Problem: Dosinst command has a few flaws. +Solution: Register DisplayIcon, DisplayVersion and Publisher for the + uninstaller. (closes #3485) Don't set 'diffexpr' if internal diff + is supported. Allow for using Vi compatible from the command line. + Remove needless sleeps. Add comments in the generated _vimrc. + (Ken Takata, closes #3525) +Files: src/dosinst.c + +Patch 8.1.0473 +Problem: User doesn't notice file does not exist when swap file does. +Solution: Add a note that the file cannot be found. Make the "still + running" notice stand out. +Files: src/memline.c + +Patch 8.1.0474 +Problem: Directory where if_perl.c is written is inconsistent. +Solution: use auto/if_perl.c for MS-Windows. (Ken Takata, closes #3540) +Files: src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.0475 +Problem: Memory not freed on exit when quit in autocmd. +Solution: Remember funccal stack when executing autocmd. +Files: src/structs.h, src/userfunc.c, src/proto/userfunc.pro, + src/fileio.c, src/eval.c, src/ex_cmds2.c, src/main.c + +Patch 8.1.0476 +Problem: Memory leaks in test_escaped_glob. +Solution: Avoid failure when running the shell, use the sandbox. +Files: src/testdir/test_escaped_glob.vim + +Patch 8.1.0477 (after 8.1.0475) +Problem: Tiny build fails. +Solution: Add a dummy declaration for funccal_entry_T. +Files: src/structs.h + +Patch 8.1.0478 +Problem: Cannot build with perl using MinGW. +Solution: Add -I. (Ken Takata, Cesar Romani) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0479 +Problem: Failure when setting 'varsofttabstop' to end in a comma. (Ralf + Schandl) +Solution: Reject value with trailing comma. Add test for invalid values + (closes #3544) +Files: src/testdir/test_vartabs.vim, src/option.c + +Patch 8.1.0480 +Problem: MinGW build file uses different -I flags than MVC. +Solution: Add -I to $CFLAGS. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0481 +Problem: When "Terminal" highlight is reverted cursor doesn't show. +Solution: Get the colors of the "Terminal" group. (closes #3546) +Files: src/terminal.c + +Patch 8.1.0482 +Problem: MinGW "make clean" deletes all .exe files. +Solution: Only delete .exe files that it builds. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0483 +Problem: MinGW does not build tee.exe. +Solution: Add build instructions. (Yasuhiro Matsumoto, closes #3548) +Files: src/Make_cyg_ming.mak, src/tee/Makefile + +Patch 8.1.0484 +Problem: Some file types are not recognized. +Solution: Update the file type detection. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.0485 +Problem: term_start() does not check if directory is accessible. +Solution: Add mch_access() call. (Jason Franklin) +Files: src/channel.c, src/testdir/test_terminal.vim + +Patch 8.1.0486 (after 8.1.0485) +Problem: Can't build in MS-Windows. +Solution: Put mch_access() call inside #ifdef +Files: src/channel.c + +Patch 8.1.0487 +Problem: No menus specifically for the terminal window. +Solution: Add :tlmenu. (Yee Cheng Chin, closes #3439) Add a menu test. +Files: runtime/delmenu.vim, runtime/doc/autocmd.txt, runtime/doc/gui.txt, + runtime/doc/index.txt, runtime/doc/terminal.txt, + runtime/doc/usr_42.txt, runtime/menu.vim, src/ex_cmdidxs.h, + src/ex_cmds.h, src/ex_docmd.c, src/menu.c, src/proto/menu.pro, + src/popupmnu.c, src/structs.h, src/testdir/test_menu.vim + +Patch 8.1.0488 +Problem: Using freed memory in quickfix code. (Dominique Pelle) +Solution: Add the quickfix_busy() flag to postpone deleting quickfix lists + until it is safe. (Yegappan Lakshmanan, closes #3538) +Files: src/quickfix.c, src/proto/quickfix.pro, src/misc2.c, + src/testdir/test_quickfix.vim + +Patch 8.1.0489 +Problem: Crash when autocmd clears vimpgrep location list. +Solution: Return from qf_jump_edit_buffer() early. (Yegappan Lakshmanan) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0490 +Problem: MS-Windows: doesn't handle missing libwinpthread-1.dll. +Solution: Adjust Cygwin/MinGW build file. (Ken Takata, closes #2827) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0491 +Problem: If a terminal dump has CR it is considered corrupt. +Solution: Ignore CR characters. (Nobuhiro Takasaki, closes #3558) +Files: src/terminal.c + +Patch 8.1.0492 +Problem: "Edit with existing Vim" list can get long. +Solution: Move the list to a submenu. (Ken Takata, closes #3561) +Files: src/GvimExt/gvimext.cpp + +Patch 8.1.0493 +Problem: argv() and argc() only work on the current argument list. +Solution: Add a window ID argument. (Yegappan Lakshmanan, closes #832) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_arglist.vim, + src/eval.c, src/proto/eval.pro + +Patch 8.1.0494 +Problem: Functions do not check for a window ID in other tabs. +Solution: Also find the window ID in other than the current tab. +Files: src/evalfunc.c + +Patch 8.1.0495 +Problem: :filter only supports some commands. +Solution: Add :filter support for more commands. (Marcin Szamotulski, + closes #2856) +Files: runtime/doc/various.txt, src/eval.c, src/mark.c, src/option.c, + src/syntax.c, src/testdir/test_filter_cmd.vim, src/userfunc.c + +Patch 8.1.0496 +Problem: No tests for indent files. +Solution: Add a mechanism for running indent file tests. Add a first test + for Vim indenting. +Files: runtime/indent/Makefile, runtime/indent/testdir/runtest.vim, + runtime/indent/testdir/cleantest.vim, runtime/indent/README.txt, + runtime/indent/testdir/README.txt, runtime/indent/testdir/vim.in, + runtime/indent/testdir/vim.ok, Filelist + +Patch 8.1.0497 +Problem: :%diffput changes order of lines. (Markus Braun) +Solution: Do adjust marks when using internal diff. +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.1.0498 +Problem: /etc/gitconfig not recognized at a gitconfig file. +Solution: Add pattern to filetype detection. (closes #3568) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.0499 +Problem: :2vimgrep causes an ml_get error +Solution: Pass tomatch pointer instead of value. (Yegappan Lakshmanan) +Files: src/ex_getln.c, src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0500 +Problem: Cleaning up in src/tee may not always work. +Solution: Use "rm" when appropriate. (Michael Soyka, closes #3571) +Files: src/tee/Makefile + +Patch 8.1.0501 +Problem: Cppcheck warns for using array index before bounds check. +Solution: Swap the conditions. (Dominique Pelle) +Files: src/memline.c + +Patch 8.1.0502 +Problem: Internal diff fails when diffing a context diff. (Hirohito Higashi) +Solution: Only use callback calls with one line. (closes #3581) +Files: src/diff.c, src/testdir/dumps/test_diff_of_diff_01.dump + +Patch 8.1.0503 +Problem: Missing change to diff test. (Hirohito Higashi) +Solution: Add the missing test function. +Files: src/testdir/test_diffmode.vim + +Patch 8.1.0504 +Problem: When CTRL-C is mapped it triggers InsertLeave. +Solution: Make CTRL-C behave the same way when typed or used in a mapping. +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.1.0505 +Problem: Filter command test may fail if helplang is not set. +Solution: Set 'helplang' for the test. (James McCoy, closes #3591) +Files: src/testdir/test_filter_cmd.vim + +Patch 8.1.0506 +Problem: Modeline test fails when run by root. +Solution: Set 'modeline' for the test. (James McCoy, closes #3592) +Files: src/testdir/test_modeline.vim + +Patch 8.1.0507 +Problem: .raml files not properly detected. +Solution: Recognize .raml as raml instead of yaml. (closes #3594) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.0508 +Problem: Suspend test fails when run by root. +Solution: Accept both '$' and '#' for the prompt. (James McCoy, closes #3590) +Files: src/testdir/test_suspend.vim + +Patch 8.1.0509 +Problem: Checking cwd not accessible fails for root. (James McCoy) +Solution: Skip this part of the test for root. (closes #3595) +Files: src/testdir/test_terminal.vim + +Patch 8.1.0510 +Problem: Filter test fails when $LANG is C.UTF-8. +Solution: Set 'helplang' to "en" for any C language. (Christian Brabandt, + closes #3577) +Files: src/option.c + +Patch 8.1.0511 +Problem: ml_get error when calling a function with a range. +Solution: Don't position the cursor after the last line. +Files: src/userfunc.c, src/testdir/test_functions.vim + +Patch 8.1.0512 +Problem: 'helplang' default is inconsistent for C and C.UTF-8. +Solution: Don't accept a value unless it starts with two letters. +Files: src/ex_cmds2.c + +Patch 8.1.0513 +Problem: No error for set diffopt+=algorithm:. +Solution: Check for missing argument. (Hirohito Higashi, closes #3598) +Files: src/diff.c, src/testdir/gen_opt_test.vim + +Patch 8.1.0514 +Problem: CTRL-W ^ does not work when alternate buffer has no name. +Solution: Use another method to split and edit the alternate buffer. (Jason + Franklin) +Files: src/testdir/test_normal.vim, src/testdir/test_window_cmd.vim, + src/normal.c, src/window.c, runtime/doc/windows.txt + +Patch 8.1.0515 +Problem: Reloading a script gives errors for existing functions. +Solution: Allow redefining a function once when reloading a script. +Files: src/testdir/test_functions.vim, src/userfunc.c, src/structs.h, + src/globals.h, src/buffer.c, src/ex_cmds2.c, src/main.c, + src/option.c, runtime/doc/eval.txt + +Patch 8.1.0516 +Problem: :move command marks buffer modified when nothing changed. +Solution: Do not set 'modified'. Add a test. (Jason Franklin) +Files: src/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_move.vim, src/ex_cmds.c + +Patch 8.1.0517 +Problem: Test_window_split_edit_alternate() fails on AppVeyor. +Solution: Disable the failing part for now. +Files: src/testdir/test_window_cmd.vim + +Patch 8.1.0518 +Problem: Test_window_split_edit_bufnr() fails on AppVeyor. +Solution: Disable the failing part for now. +Files: src/testdir/test_window_cmd.vim + +Patch 8.1.0519 +Problem: Cannot save and restore the tag stack. +Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan, + closes #3604) +Files: runtime/doc/eval.txt, runtime/doc/tagsrch.txt, + runtime/doc/usr_41.txt, src/alloc.h, src/dict.c, src/evalfunc.c, + src/list.c, src/misc2.c, src/proto/dict.pro, src/proto/list.pro, + src/proto/misc2.pro, src/proto/tag.pro, src/tag.c, + src/testdir/test_tagjump.vim + +Patch 8.1.0520 +Problem: Screen diff test sometimes fails. +Solution: Add to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0521 +Problem: Cannot build with +eval but without +quickfix. +Solution: Remove #ifdef for e_stringreq. (John Marriott) +Files: src/evalfunc.c + +Patch 8.1.0522 +Problem: :terminal does not show trailing empty lines. +Solution: Add empty lines. (Hirohito Higashi, closes #3605) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0523 +Problem: Opening window from quickfix leaves empty buffer behind. +Solution: Add qf_jump_newwin(). (Yegappan Lakshmanan, closes #2574) +Files: src/proto/quickfix.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.1.0524 (after 8.1.0522) +Problem: Terminal test fails on Windows. +Solution: Skip Test_terminal_does_not_truncate_last_newlines() for now. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0525 (after 8.1.0524) +Problem: Terminal test skips part on Windows. +Solution: Fix Test_terminal_does_not_truncate_last_newlines(). (Hirohito + Higashi, closes #3606) +Files: src/Make_mvc.mak, src/testdir/test_terminal.vim + +Patch 8.1.0526 +Problem: Running out of signal stack in RealWaitForChar. (Vladimir Marek) +Solution: Make the fd_set variables static. +Files: src/os_unix.c + +Patch 8.1.0527 +Problem: Using 'shiftwidth' from wrong buffer for folding. +Solution: Use "buf" instead of "curbuf". (Christian Brabandt) +Files: src/fold.c + +Patch 8.1.0528 +Problem: Various typos in comments. +Solution: Fix the typos. +Files: src/fileio.c, src/gui.c, src/macros.h, src/screen.c, src/search.c, + src/spell.c, src/spellfile.c, src/vim.h, src/testdir/README.txt, + src/INSTALL, src/gui_athena.c, src/gui_gtk.c, src/gui_gtk_x11.c, + src/gui_motif.c, src/gui_xmebw.c, src/if_tcl.c, src/os_amiga.c, + src/gui_w32.c, src/os_win32.c, src/gui_mac.c, src/os_vms_fix.com + +Patch 8.1.0529 +Problem: Flaky test sometimes fails in different ways. +Solution: When the second run gives a different error, try running the test + again, up to five times. +Files: src/testdir/runtest.vim + +Patch 8.1.0530 +Problem: Channel and terminal tests that start a server can be flaky. +Solution: Add all channel and terminal tests that start a server to the list + of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0531 +Problem: Flaky tests often fail with a common error message. +Solution: Add a pattern to match an error message indicating a flaky test. +Files: src/testdir/runtest.vim + +Patch 8.1.0532 +Problem: Cannot distinguish between quickfix and location list. +Solution: Add an explicit type variable. (Yegappan Lakshmanan) +Files: src/quickfix.c + +Patch 8.1.0533 +Problem: Screendump tests can be flaky. +Solution: Add VerifyScreenDump to the pattern of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0534 +Problem: MS-Windows installer uses different $HOME than Vim. +Solution: Use the Vim logic also in the MS-Windows installer. (Ken Takata, + closes #3564) +Files: src/dosinst.c, src/misc1.c + +Patch 8.1.0535 +Problem: Increment/decrement might get interrupted by updating folds. +Solution: Disable fold updating for a moment. (Christian Brabandt, + closes #3599) +Files: src/ops.c + +Patch 8.1.0536 +Problem: File time test fails when using NFS. +Solution: Use three file times instead of localtim(). (James McCoy, + closes #3618) +Files: src/testdir/test_stat.vim + +Patch 8.1.0537 +Problem: ui_breakcheck() may be called recursively, which doesn't work. +Solution: When called recursively, just return. (James McCoy, closes #3617) +Files: src/ui.c + +Patch 8.1.0538 +Problem: Evaluating a modeline might invoke using a shell command. (Paul + Huber) +Solution: Set the sandbox flag when setting options from a modeline. +Files: src/buffer.c + +Patch 8.1.0539 +Problem: Cannot build without the sandbox. +Solution: Set the secure option instead of using the sandbox. Also restrict + the characters from 'spelllang' that are used for LANG.vim. + (suggested by Yasuhiro Matsumoto) +Files: runtime/doc/options.txt, src/buffer.c, src/option.c + +Patch 8.1.0540 +Problem: May evaluate insecure value when appending to option. +Solution: Set the secure flag when changing an option that was previously + set insecurely. Also allow numbers for the characters from + 'spelllang' that are used for LANG.vim. (closes #3623) +Files: src/option.c + +Patch 8.1.0541 +Problem: Help message in dosinst.c is outdated. +Solution: Update the comment. (Ken Takata, closes #3626) +Files: src/dosinst.c + +Patch 8.1.0542 +Problem: shiftwidth() does not take 'vartabstop' into account. +Solution: Use the cursor position or a position explicitly passed. + Also make >> and << work better with 'vartabstop'. (Christian + Brabandt) +Files: runtime/doc/change.txt, runtime/doc/eval.txt, src/edit.c, + src/evalfunc.c, src/normal.c, src/ops.c, src/option.c, + src/proto/edit.pro, src/proto/option.pro, + src/testdir/test_vartabs.vim + +Patch 8.1.0543 +Problem: Coverity warns for leaking memory and using wrong struct. +Solution: Free pointer when allocation fails. Change "boff" to "loff". + (closes #3634) +Files: src/ex_getln.c, src/move.c + +Patch 8.1.0544 (after 8.1.0540) +Problem: Setting 'filetype' in a modeline causes an error (Hirohito + Higashi). +Solution: Don't add the P_INSECURE flag when setting 'filetype' from a + modeline. Also for 'syntax'. +Files: src/option.c, src/testdir/test_modeline.vim + +Patch 8.1.0545 +Problem: When executing indent tests user preferences interfere. +Solution: Add "--clean". +Files: runtime/indent/Makefile, runtime/indent/testdir/runtest.vim + +Patch 8.1.0546 +Problem: Modeline test with keymap fails. +Solution: Check that the keymap feature is available. +Files: src/testdir/test_modeline.vim + +Patch 8.1.0547 +Problem: Modeline test with keymap still fails. +Solution: Check that the keymap feature is available for the failure assert. +Files: src/testdir/test_modeline.vim + +Patch 8.1.0548 +Problem: Crash when job callback unloads a buffer. (James McCoy) +Solution: Don't round up the wait time to 10 msec in ui_inchar(). +Files: src/ui.c + +Patch 8.1.0549 +Problem: Netbeans test depends on README.txt contents. +Solution: Use a generated file instead. +Files: src/testdir/test_netbeans.vim, src/testdir/test_netbeans.py + +Patch 8.1.0550 +Problem: Expression evaluation may repeat an error message. (Jason + Franklin) +Solution: Increment did_emsg and check for the value when giving an error + for the echo command. +Files: src/message.c, src/eval.c, src/testdir/test108.ok + +Patch 8.1.0551 (after 8.1.0550) +Problem: Expression evaluation may repeat an error message. (Jason + Franklin) +Solution: Check for the value of did_emsg when giving an error + for the :execute command. +Files: src/eval.c + +Patch 8.1.0552 +Problem: Saved last search pattern may not be restored. +Solution: Call restore_last_search_pattern(). Add a check for balancing + saving and restoring the last search pattern. +Files: src/ex_getln.c, src/search.c + +Patch 8.1.0553 +Problem: It is not easy to edit a script that was sourced. +Solution: Add a count to ":scriptnames", so that ":script 40" edits the + script with script ID 40. +Files: src/ex_cmds.h, src/ex_cmds2.c, src/testdir/test_scriptnames.vim, + src/Make_all.mak, src/testdir/Make_all.mak, runtime/doc/repeat.txt + +Patch 8.1.0554 +Problem: Popup menu overlaps with preview window. +Solution: Adjust the height computation. (Hirohito Higashi, closes #3414) +Files: src/popupmnu.c, src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_and_previewwindow_01.dump + +Patch 8.1.0555 +Problem: Crash when last search pat is set but not last substitute pat. +Solution: Do not mix up last search pattern and last substitute pattern. + (closes #3647) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.1.0556 +Problem: Saving/restoring search patterns share saved last_idx. +Solution: Use a separate saved last_idx for saving search patterns for + functions and incremental search. +Files: src/search.c + +Patch 8.1.0557 +Problem: Termdebug: gdb may use X.Y for breakpoint number. (Ryou Ezoe) +Solution: Handle X.Y breakpoint numbers. (Yasuhiro Matsumoto, close #3641) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0558 +Problem: Some MS-Windows instructions are outdated. +Solution: Update the uninstall instructions and the NSIS README. (Ken + Takata, closes #3614) Also update remark about diff.exe. +Files: nsis/README.txt, uninstal.txt + +Patch 8.1.0559 +Problem: Command line completion not sufficiently tested. +Solution: Add more tests. (Dominique Pelle, closes #3622) +Files: src/testdir/test_arglist.vim, src/testdir/test_filetype.vim, + src/testdir/test_history.vim, src/testdir/test_messages.vim, + src/testdir/test_syntax.vim + +Patch 8.1.0560 +Problem: Cannot use address type "other" with user command. +Solution: Add "other" to the list. (Daniel Hahler, closes #3655) Also + reject "%" for commands with "other". Add some more tests. +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 8.1.0561 +Problem: MSVC error format has changed. +Solution: Make the space between the line number and colon optional. +Files: src/option.h + +Patch 8.1.0562 +Problem: Parsing of 'diffopt' is slightly wrong. +Solution: Fix the parsing and add a test. (Jason Franklin, Christian + Brabandt) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_09.dump, + src/testdir/dumps/Test_diff_11.dump, src/testdir/screendump.vim + +Patch 8.1.0563 +Problem: Setting v:errors to a string give confusing error. (Christian + Brabandt) +Solution: Change internal error into normal error message. +Files: src/eval.c + +Patch 8.1.0564 +Problem: Setting v:errors to wrong type still possible. +Solution: Return after giving an error message. (Christian Brabandt) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.0565 +Problem: Asan complains about reading before allocated block. +Solution: Workaround: Avoid offset from becoming negative. +Files: src/gui.c + +Patch 8.1.0566 +Problem: SGR not enabled for mintty because $TERM is "xterm". +Solution: Detect mintty by the termresponse. (Ken Takata, closes #3667) +Files: src/term.c + +Patch 8.1.0567 (after 8.1.0565) +Problem: Error for NUL byte in ScreenLines goes unnoticed. +Solution: Add an internal error message. +Files: src/gui.c + +Patch 8.1.0568 (after 8.1.0567) +Problem: Error message for NUL byte in ScreenLines breaks Travis CI. +Solution: Use a normal message fornow. +Files: src/gui.c + +Patch 8.1.0569 +Problem: Execute() always resets display column to zero. (Sha Liu) +Solution: Don't reset it to zero, restore the previous value. (closes #3669) +Files: src/evalfunc.c, src/testdir/test_execute_func.vim + +Patch 8.1.0570 +Problem: 'commentstring' not used when adding fold marker. (Maxim Kim) +Solution: Only use empty 'comments' middle when leader is empty. (Christian + Brabandt, closes #3670) +Files: src/misc1.c, src/testdir/test_fold.vim + +Patch 8.1.0571 (after 8.1.0569) +Problem: Non-silent execute() resets display column to zero. +Solution: Keep the display column as-is. +Files: src/evalfunc.c, src/testdir/test_execute_func.vim + +Patch 8.1.0572 +Problem: Stopping a job does not work properly on OpenBSD. +Solution: Do not use getpgid() to check the process group of the job + process ID, always pass the negative process ID to kill(). + (George Koehler, closes #3656) +Files: src/os_unix.c + +Patch 8.1.0573 +Problem: Cannot redefine user command without ! in same script +Solution: Allow redefining user command without ! in same script, like with + functions. +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim, + runtime/doc/map.txt + +Patch 8.1.0574 +Problem: 'commentstring' not used when adding fold marker in C. +Solution: Require white space before middle comment part. (mostly by + Hirohito Higashi) +Files: src/misc1.c, src/testdir/test_fold.vim + +Patch 8.1.0575 +Problem: Termdebug: clearing multi-breakpoint does not work. +Solution: Delete all X.Y breakpoints. Keep more information about placed + breakpoints. (Ozaki Kiichi, closes #3641) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0576 +Problem: Indent script tests pick up installed scripts. +Solution: Use current runtime indent scripts. +Files: runtime/indent/Makefile + +Patch 8.1.0577 +Problem: Tabpage right-click menu never shows "Close tab". +Solution: Always create the "Close tab" item but ignore the event if there + is only one tab. +Files: src/gui_gtk_x11.c, src/gui_mac.c, src/gui_motif.c, src/gui.c + +Patch 8.1.0578 +Problem: Cannot disable arabic, rightleft and farsi in configure. +Solution: Add configure flags. (Diego Fernando Carrión, closes #1867) +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/feature.h, src/Makefile + +Patch 8.1.0579 +Problem: Cannot attach properties to text. +Solution: First part of adding text properties. +Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt, + runtime/doc/textprop.txt, src/Make_all.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Makefile, src/buffer.c, src/edit.c, + src/evalfunc.c, src/feature.h, src/memline.c, src/misc1.c, + src/misc2.c, src/proto.h, src/proto/memline.pro, + src/proto/textprop.pro, src/screen.c, src/structs.h, + src/testdir/Make_all.mak, src/testdir/test_textprop.vim, + src/textprop.c, src/userfunc.c, src/version.c + +Patch 8.1.0580 +Problem: Invalid memory access when using text properties. +Solution: Disable text properties for now. +Files: src/feature.h + +Patch 8.1.0581 +Problem: Double free without the text properties feature. +Solution: Reset the dirty flag. +Files: src/memline.c + +Patch 8.1.0582 +Problem: Text properties are not enabled. +Solution: Fix sizeof argument and re-enable the text properties feature. + Fix memory leak. +Files: src/feature.h, src/textprop.c + +Patch 8.1.0583 +Problem: Using illogical name for get_dict_number()/get_dict_string(). +Solution: Rename to start with dict_. +Files: src/dict.c, src/proto/dict.pro, src/edit.c, src/eval.c, + src/evalfunc.c, src/quickfix.c, src/tag.c, src/terminal.c, + src/textprop.c + +Patch 8.1.0584 +Problem: With search CTRL-L does not pick up composing characters. +Solution: Check for composing characters. (Christian Brabandt, closes #3682) + [code change was accidentally included in 8.1.0579] +Files: src/testdir/test_search.vim + +Patch 8.1.0585 +Problem: Undo test may fail on MS-Windows. +Solution: Also handle lower case drive letters. +Files: src/testdir/test_undo.vim + +Patch 8.1.0586 +Problem: :digraph output is not easy to read. +Solution: Add highlighting for :digraphs. (Marcin Szamotulski, closes #3572) + Also add section headers for :digraphs!. +Files: src/ex_docmd.c, src/digraph.c, src/proto/digraph.pro, + src/ex_cmds.h, runtime/doc/digraph.txt + +Patch 8.1.0587 +Problem: GvimExt: realloc() failing is not handled properly. +Solution: Check for NULL return. (Jan-Jaap Korpershoek, closes #3689) +Files: src/GvimExt/gvimext.cpp + +Patch 8.1.0588 +Problem: Cannot define a sign with space in the text. +Solution: Allow for escaping characters. (Ben Jackson, closes #2967) +Files: src/ex_cmds.c, src/testdir/test_signs.vim + +Patch 8.1.0589 +Problem: Compilation error in gvimext.cpp. +Solution: Return a value. Also fix using uninitialized variable. +Files: src/GvimExt/gvimext.cpp, src/dosinst.c + +Patch 8.1.0590 +Problem: When a job ends the closed channels are not handled. +Solution: When a job is detected to have ended, check the channels again. + (closes #3530) +Files: src/channel.c, src/proto/channel.pro, src/misc2.c + +Patch 8.1.0591 +Problem: Channel sort test is flaky. +Solution: Do not check if the job is running, it may have be done very fast. +Files: src/testdir/test_channel.vim + +Patch 8.1.0592 +Problem: The libvterm tests are not run as part of Vim tests. +Solution: Add testing libvterm. +Files: src/Makefile, src/libvterm/Makefile + +Patch 8.1.0593 +Problem: Illegal memory access in libvterm test. +Solution: Fix off-by-one error. +Files: src/libvterm/src/vterm.c, src/libvterm/Makefile, + src/libvterm/t/run-test.pl + +Patch 8.1.0594 +Problem: Libvterm tests fail to run on Mac. +Solution: Only run libvterm tests on Linux. +Files: src/Makefile + +Patch 8.1.0595 +Problem: Libvterm tests are not run with coverage. +Solution: Adjust the Travis config. Show the actually run commands. +Files: .travis.yml, src/libvterm/Makefile + +Patch 8.1.0596 +Problem: Not all parts of printf() are tested. +Solution: Add a few more test cases. (Dominique Pelle, closes #3691) +Files: src/testdir/test_expr.vim + +Patch 8.1.0597 +Problem: Cannot run test_libvterm from the top directory. +Solution: Add test target in toplevel Makefile. +Files: Makefile + +Patch 8.1.0598 +Problem: Indent tests may use the wrong Vim binary. +Solution: Pass in the just built Vim binary. +Files: Makefile + +Patch 8.1.0599 +Problem: Without the +eval feature the indent tests don't work. +Solution: Skip the body of the tests. +Files: runtime/indent/testdir/cleantest.vim, + runtime/indent/testdir/runtest.vim + +Patch 8.1.0600 +Problem: Channel test is flaky. +Solution: Add test to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0601 +Problem: A few compiler warnings. +Solution: Add type casts. (Mike Williams) +Files: src/GvimExt/gvimext.cpp, src/memline.c, src/textprop.c + +Patch 8.1.0602 +Problem: DirChanged is also triggered when the directory didn't change. + (Daniel Hahler) +Solution: Compare the current with the new directory. (closes #3697) +Files: src/ex_docmd.c, src/testdir/test_autocmd.vim, src/misc2.c, + src/testdir/test_autochdir.vim + +Patch 8.1.0603 +Problem: The :stop command is not tested. +Solution: Test :stop using a terminal window. +Files: src/testdir/test_terminal.vim, src/testdir/shared.vim + +Patch 8.1.0604 +Problem: Autocommand test fails on MS-Windows. +Solution: Use pathcmp() instead of strcmp() to check if a directory differs. +Files: src/ex_docmd.c, src/misc2.c + +Patch 8.1.0605 +Problem: Running make in the top directory echoes a comment. +Solution: Prefix with @. (closes #3698) +Files: Makefile + +Patch 8.1.0606 +Problem: 'cryptmethod' defaults to a very old method. +Solution: Default to "blowfish2", it is now widely available. +Files: src/option.c, runtime/doc/options.txt + +Patch 8.1.0607 +Problem: Proto files are not in sync with the source code. +Solution: Update the proto files. +Files: src/os_mswin.c, src/proto/buffer.pro, src/proto/ex_cmds.pro, + src/proto/ex_getln.pro, src/proto/misc2.pro, + src/proto/userfunc.pro + +Patch 8.1.0608 +Problem: Coveralls is not updating. +Solution: Adjust path in Travis config. +Files: .travis.yml + +Patch 8.1.0609 +Problem: MS-Windows: unused variable, depending on the Ruby version. +Solution: Put ruby_sysinit and NtInitialize inside #ifdef and make them + consistent. (Ken Takata) +Files: src/if_ruby.c + +Patch 8.1.0610 +Problem: MS-Windows ctags file list differs from Unix. +Solution: Define TAGS_FILES in the common makefile. (partly by Ken Takata) +Files: src/Make_all.mak, src/Makefile, src/Make_mvc.mak, + src/Make_cyg_ming.mak + +Patch 8.1.0611 +Problem: Crash when using terminal with long composing characters. +Solution: Make space for all characters. (Yasuhiro Matsumoto, closes #3619, + closes #3703) +Files: src/terminal.c + +Patch 8.1.0612 +Problem: Cannot use two global runtime dirs with configure. +Solution: Support a comma in --with-global-runtime. (James McCoy, + closes #3704) +Files: src/config.h.in, src/configure.ac, src/feature.h, src/os_unix.h, + src/auto/configure, src/Makefile + +Patch 8.1.0613 +Problem: When executing an insecure function the secure flag is stuck. + (Gabriel Barta) +Solution: Restore "secure" instead of decrementing it. (closes #3705) +Files: src/testdir/test_autocmd.vim, src/option.c, src/buffer.c + +Patch 8.1.0614 +Problem: Placing signs can be complicated. +Solution: Add functions for defining and placing signs. Introduce a group + name to avoid different plugins using the same signs. (Yegappan + Lakshmanan, closes #3652) +Files: runtime/doc/eval.txt, runtime/doc/sign.txt, + runtime/doc/usr_41.txt, src/alloc.h, src/buffer.c, src/evalfunc.c, + src/ex_cmds.c, src/globals.h, src/list.c, src/misc2.c, + src/netbeans.c, src/proto/buffer.pro, src/proto/ex_cmds.pro, + src/proto/list.pro, src/proto/misc2.pro, src/structs.h, + src/testdir/test_signs.vim, src/workshop.c + +Patch 8.1.0615 +Problem: Get_tv function names are not consistent. +Solution: Rename to tv_get. +Files: src/eval.c, src/proto/eval.pro, src/channel.c, src/dict.c, + src/evalfunc.c, src/list.c, src/message.c, src/tag.c, + src/terminal.c, src/textprop.c, src/window.c, src/ex_cmds.c, + src/os_unix.c, src/os_win32.c, src/json.c, src/regexp.c, + src/edit.c, src/misc2.c, src/popupmnu.c + +Patch 8.1.0616 +Problem: NSIS installer is outdated. +Solution: Use modern syntax, MUI2 and make it work better. Add translations. + (Guopeng Wen, Ken Takata, closes #3501) +Files: Filelist, nsis/gvim.nsi, nsis/icons/header.svg, + nsis/icons/welcome.svg, nsis/icons/header.bmp, + nsis/icons/un_header.bmp, nsis/icons/uninstall.bmp, + nsis/icons/welcome.bmp, nsis/lang/danish.nsi, nsis/lang/dutch.nsi, + nsis/lang/english.nsi, nsis/lang/german.nsi, + nsis/lang/italian.nsi, nsis/lang/japanese.nsi, + nsis/lang/simpchinese.nsi, nsis/lang/tradchinese.nsi, + src/dosinst.c + +Patch 8.1.0617 (after 8.1.0616) +Problem: NSIS installer gets two files from the wrong directory. +Solution: Change ${VIMRT} to "..\". +Files: nsis/gvim.nsi + +Patch 8.1.0618 +Problem: term_getjob() does not return v:null as documented. +Solution: Do return v:null. (Damien) Add a test. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0619 +Problem: :echomsg and :echoerr do not handle List and Dict like :echo does. + (Daniel Hahler) +Solution: Be more tolerant about the expression result type. +Files: src/eval.c, src/proto/eval.pro, src/evalfunc.c, + src/proto/evalfunc.pro, runtime/doc/eval.txt, + src/testdir/test_messages.vim, src/message.c + +Patch 8.1.0620 +Problem: Overruling CONF_ARGS from the environment no longer works. (Tony + Mechelynck) +Solution: Do not define any CONF_ARGS by default. +Files: src/Makefile + +Patch 8.1.0621 +Problem: Terminal debugger does not handle unexpected debugger exit. +Solution: Check for debugger job ended and close unused buffers. (Damien) +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.0622 +Problem: Adding quickfix items marks items as valid errors. (Daniel Hahler) +Solution: Check when items are valid. (Yegappan Lakshmanan, closes #3683, + closes #3633) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0623 +Problem: Iterating through window frames is repeated. +Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan) +Files: src/ex_docmd.c, src/globals.h, src/screen.c, src/window.c + +Patch 8.1.0624 (after 8.1.0620) +Problem: Overruling CONF_ARGS from the environment still does not work. + (Tony Mechelynck) +Solution: Add back CONF_ARGS next to the new numbered ones. +Files: src/Makefile + +Patch 8.1.0625 +Problem: MS-Windows: terminal test fails in white console. +Solution: Accept both white and black background colors. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0626 +Problem: MS-Windows: no resize to fit parent when using --windowid. +Solution: Pass FALSE for "mustset" in gui_set_shellsize(). (Agorgianitis + Loukas, closes #3616) +Files: src/gui.c + +Patch 8.1.0627 +Problem: Python cannot handle function name of script-local function. +Solution: Use instead of the special byte code. (Ozaki Kiichi, closes + #3681) +Files: src/if_py_both.h, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.1.0628 +Problem: Compiler warning on MS-Windows. +Solution: Add type cast. (Mike Williams) +Files: src/if_py_both.h + +Patch 8.1.0629 +Problem: "gn" selects the wrong text with a multi-line match. +Solution: Get the end position from searchit() directly. (closes #3695) +Files: src/testdir/test_gn.vim, src/search.c, src/proto/search.pro, + src/edit.c, src/evalfunc.c, src/ex_docmd.c, src/ex_getln.c, + src/normal.c + +Patch 8.1.0630 +Problem: "wincmd p" does not work after using an autocmd window. +Solution: Store "prevwin" in aco_save_T. (Christian Brabandt, closes #3690) +Files: src/fileio.c, src/structs.h, src/testdir/test_window_cmd.vim + +Patch 8.1.0631 +Problem: Test for :stop fails on Arch. +Solution: Check five lines for the expected output. (closes #3714) +Files: src/testdir/test_terminal.vim + +Patch 8.1.0632 +Problem: Using sign group names is inefficient. +Solution: Store group names in a hash table and use a reference to them. + Also remove unnecessary use of ":exe" from the tests. (Yegappan + Lakshmanan, closes #3715) +Files: src/buffer.c, src/ex_cmds.c, src/structs.h, + src/testdir/test_signs.vim + +Patch 8.1.0633 +Problem: Crash when out of memory while opening a terminal window. +Solution: Handle out-of-memory more gracefully. +Files: src/terminal.c, src/libvterm/src/vterm.c, + src/libvterm/src/state.c, src/libvterm/src/termscreen.c + +Patch 8.1.0634 +Problem: Text properties cannot cross line boundaries. +Solution: Support multi-line text properties. +Files: src/textprop.c, src/testdir/test_textprop.vim, + runtime/doc/eval.txt + +Patch 8.1.0635 +Problem: Coverity complains about null pointer use. +Solution: Avoid using a null pointer. +Files: src/evalfunc.c + +Patch 8.1.0636 +Problem: line2byte() gives wrong values with text properties. (Bjorn Linse) +Solution: Compute byte offsets differently when text properties were added. + (closes #3718) +Files: src/structs.h, src/textprop.c, src/proto/textprop.pro, + src/memline.c, src/testdir/test_textprop.vim + +Patch 8.1.0637 +Problem: Nsis file no longer used. +Solution: Remove the file. (Ken Takata) +Files: nsis/vimrc.ini, Filelist + +Patch 8.1.0638 +Problem: Text property highlighting is off by one column. (Bjorn Linse) +Solution: Update text property highlighting earlier. Let it overrule syntax + highlighting. +Files: src/structs.h, src/screen.c + +Patch 8.1.0639 +Problem: text properties test fails on MS-Windows +Solution: Set fileformat to "unix". +Files: src/testdir/test_textprop.vim + +Patch 8.1.0640 +Problem: Get E14 while typing command :tab with 'incsearch' set. +Solution: Do not give an error when looking for the command. (Hirohito + Higashi) +Files: src/testdir/test_search.vim, src/ex_docmd.c + +Patch 8.1.0641 +Problem: No check for out-of-memory when converting regexp. +Solution: Bail out when lalloc() returns NULL. (John Marriott) +Files: src/regexp_nfa.c + +Patch 8.1.0642 +Problem: swapinfo() leaks memory. (Christian Brabandt) +Solution: Avoid allocating the strings twice. +Files: src/memline.c, src/dict.c, src/proto/dict.pro + +Patch 8.1.0643 +Problem: Computing byte offset wrong. (Bjorn Linse) +Solution: Use the right variable for array index. +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.1.0644 +Problem: Finding next sign ID is inefficient. +Solution: Add next_sign_id. (Yegappan Lakshmanan, closes #3717) +Files: runtime/doc/eval.txt, src/buffer.c, src/evalfunc.c, src/ex_cmds.c, + src/globals.h, src/main.c, src/proto/buffer.pro, src/structs.h, + src/testdir/test_signs.vim + +Patch 8.1.0645 +Problem: Coverity warns for possible use of NULL pointer. +Solution: Check return value of vterm_obtain_screen(). +Files: src/terminal.c + +Patch 8.1.0646 +Problem: Cannot build with Ruby 2.6.0. +Solution: Add rb_ary_detransient(). (Ozaki Kiichi, closes #3724) +Files: src/if_ruby.c + +Patch 8.1.0647 +Problem: MS-Windows: balloon_show() does not handle wide characters. +Solution: Use CreateWindowExW(). (Yasuhiro Matsumoto, closes #3708) +Files: src/gui_w32.c + +Patch 8.1.0648 +Problem: Custom operators can't act upon a forced motion. (Christian + Wellenbrock) +Solution: Add the forced motion to the mode() result. (Christian Brabandt, + closes #3490) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/globals.h, src/normal.c, + src/testdir/test_mapping.vim + +Patch 8.1.0649 +Problem: setjmp() variables defined globally are used in one file. +Solution: Move the declarations to that file. +Files: src/globals.h, src/os_unix.c + +Patch 8.1.0650 +Problem: Command line argument -q [errorfile] is not tested. +Solution: Add a test. (Dominique Pelle, closes #3730) +Files: src/testdir/test_startup.vim + +Patch 8.1.0651 +Problem: :args \"foo works like :args without argument. +Solution: Fix check for empty argument. (closes #3728) +Files: src/ex_cmds2.c, src/testdir/test_arglist.vim + +Patch 8.1.0652 +Problem: Freeing memory for balloon eval too early. +Solution: Store the pointer in BalloonEval and free it later. (Yasuhiro + Matsumoto, closes #3725) +Files: src/beval.h, src/gui_w32.c + +Patch 8.1.0653 (after 8.1.0651) +Problem: Arglist test fails on MS-windows. +Solution: Only use a file name with a double quote on Unix. +Files: src/testdir/test_arglist.vim + +Patch 8.1.0654 +Problem: When deleting a line text property flags are not adjusted. +Solution: Adjust text property flags in preceding and following lines. +Files: src/memline.c, src/misc2.c, src/proto/misc2.pro, + src/testdir/test_textprop.vim + +Patch 8.1.0655 +Problem: When appending a line text property flags are not added. +Solution: Add text properties to a newly added line. +Files: src/memline.c, src/testdir/test_textprop.vim, src/textprop.c + +Patch 8.1.0656 +Problem: Trying to reconnect to X server may cause problems. +Solution: Do no try reconnecting when exiting. (James McCoy) +Files: src/os_unix.c + +Patch 8.1.0657 (after 8.1.0656) +Problem: Get error for using regexp recursively. (Dominique Pelle) +Solution: Do no check if connection is desired. +Files: src/os_unix.c + +Patch 8.1.0658 +Problem: Deleting signs and completion for :sign is insufficient. +Solution: Add deleting signs in a specified or any group from the current + cursor location. Add group and priority to sign command + completion. Add tests for different sign unplace commands. Update + help text. Add tests for sign jump with group. Update help for + sign jump. (Yegappan Lakshmanan, closes #3731) +Files: runtime/doc/sign.txt, src/buffer.c, src/evalfunc.c, src/ex_cmds.c, + src/netbeans.c, src/proto/buffer.pro, src/proto/ex_cmds.pro, + src/testdir/test_signs.vim + +Patch 8.1.0659 (after 8.1.0658) +Problem: Build failure without the sign feature. +Solution: Put the sign struct declarations outside of the #ifdef. +Files: src/structs.h + +Patch 8.1.0660 +Problem: sign_unplace() may leak memory. +Solution: Free the group name before returning. Add a few more tests. + (Yegappan Lakshmanan) +Files: src/evalfunc.c, src/testdir/test_signs.vim + +Patch 8.1.0661 +Problem: Clipboard regexp might be used recursively. +Solution: Check for recursive use and bail out. +Files: src/regexp.c, src/proto/regexp.pro, src/os_unix.c + +Patch 8.1.0662 +Problem: Needlessly searching for tilde in string. +Solution: Only check the first character. (James McCoy, closes #3734) +Files: src/misc1.c + +Patch 8.1.0663 +Problem: Text property display wrong when 'number' is set. (Dominique + Pelle) +Solution: Compare with "vcol" instead of "col". +Files: src/screen.c + +Patch 8.1.0664 +Problem: Configure "fail-if-missing" does not apply to the enable-gui + argument. (Rhialto) +Solution: Make configure fail if a GUI was specified and "fail-if-missing" + is enabled and the GUI test fails. +Files: src/configure.ac, src/auto/configure + +Patch 8.1.0665 +Problem: Text property display wrong when 'spell' is set. (Dominique Pelle) +Solution: Remove unnecessary assignment to char_attr. Combine attributes if + needed. Add a screenshot test. +Files: src/screen.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.0666 (after 8.1.0665) +Problem: Text property test fails. +Solution: Update screenshot. +Files: src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.0667 (after 8.1.0665) +Problem: Textprop test leaves file behind. +Solution: Delete the file. (Dominique Pelle, closes #3743) +Files: src/testdir/test_textprop.vim + +Patch 8.1.0668 +Problem: No test for overstrike mode in the command line. +Solution: Add a test. (Dominique Pelle, closes #3742) +Files: src/testdir/test_cmdline.vim + +Patch 8.1.0669 +Problem: The ex_sign() function is too long. +Solution: Refactor the function. Add a bit more testing. (Yegappan + Lakshmanan, closes #3745) +Files: src/testdir/test_signs.vim, src/ex_cmds.c + +Patch 8.1.0670 +Problem: Macro for popup menu width is unused. +Solution: Remove it. (Hirohito Higashi) +Files: src/popupmnu.c + +Patch 8.1.0671 +Problem: Cursor in the wrong column after auto-formatting. +Solution: Check for deleting more spaces than adding. (closes #3748) +Files: src/ops.c, src/testdir/test_textformat.vim, src/mark.c, + src/proto/mark.pro, src/misc1.c + +Patch 8.1.0672 +Problem: The Lua interface doesn't know about v:null. +Solution: Add Lua support for v:null. (Uji, closes #3744) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.1.0673 +Problem: Functionality for signs is spread out over several files. +Solution: Move most of the sign functionality into sign.c. (Yegappan + Lakshmanan, closes #3751) +Files: 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, + src/Make_vms.mms, src/Makefile, src/README.txt, src/buffer.c, + src/evalfunc.c, src/ex_cmds.c, src/proto.h, src/proto/buffer.pro, + src/proto/ex_cmds.pro, src/proto/sign.pro, src/sign.c + +Patch 8.1.0674 +Problem: Leaking memory when updating a single line. +Solution: Do not call start_search_hl() twice. +Files: src/screen.c + +Patch 8.1.0675 +Problem: Text property column is screen columns is not practical. +Solution: Use byte values for the column. +Files: src/structs.h, src/textprop.c, src/proto/textprop.pro, + runtime/doc/eval.txt, runtime/doc/textprop.txt, + src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.0676 +Problem: Textprop screendump test fails. +Solution: Add missing changes. +Files: src/screen.c + +Patch 8.1.0677 +Problem: Look-behind match may use the wrong line number. (Dominique Pelle) +Solution: Use the line number in regsave instead of the one in behind_pos, + we may be looking at the previous line. (closes #3749) +Files: src/regexp.c + +Patch 8.1.0678 +Problem: Text properties as not adjusted for inserted text. +Solution: Adjust text properties when inserting text. +Files: src/misc1.c, src/proto/misc1.pro, src/textprop.c, + src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.0679 +Problem: Sign functions do not take buffer argument as documented. +Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #3755) +Files: src/evalfunc.c, src/testdir/test_signs.vim + +Patch 8.1.0680 +Problem: Not easy to see what features are unavailable. +Solution: Highlight disabled features in the :version output. (Nazri Ramliy, + closes #3756) +Files: src/version.c + +Patch 8.1.0681 +Problem: Text properties as not adjusted for deleted text. +Solution: Adjust text properties when backspacing to delete text. +Files: src/edit.c, src/misc1.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.0682 +Problem: Text properties are not adjusted when backspacing replaced text. +Solution: Keep text properties on text restored in replace mode. +Files: src/edit.c, src/textprop.c, src/globals.h, + src/testdir/test_textprop.vim + +Patch 8.1.0683 +Problem: Spell highlighting does not always end. (Gary Johnson) +Solution: Also reset char_attr when spell errors are highlighted. +Files: src/screen.c + +Patch 8.1.0684 +Problem: Warnings from 64-bit compiler. +Solution: Add type casts. (Mike Williams) +Files: src/memline.c, src/textprop.c + +Patch 8.1.0685 +Problem: get_buf_tv() is named inconsistently. +Solution: Rename it to tv_get_buf(). (Yegappan Lakshmanan, closes #3759) +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/terminal.c, + src/textprop.c + +Patch 8.1.0686 +Problem: When 'y' is in 'cpoptions' yanking for the clipboard changes redo. +Solution: Do not use the 'y' flag when "gui_yank" is TRUE. (Andy Massimino, + closes #3760) +Files: src/normal.c + +Patch 8.1.0687 +Problem: Sentence text object in Visual mode is not tested. +Solution: Add a test. (Dominique Pelle, closes #3758) +Files: src/testdir/test_visual.vim + +Patch 8.1.0688 +Problem: Text properties are not restored by undo. +Solution: Also save text properties for undo. +Files: src/structs.h, src/undo.c, src/memline.c, src/proto/memline.pro + +Patch 8.1.0689 (after 8.1.0688) +Problem: Undo with text properties not tested. +Solution: Add a test function. +Files: src/testdir/test_textprop.vim + +Patch 8.1.0690 +Problem: setline() and setbufline() do not clear text properties. +Solution: Clear text properties when setting the text. +Files: src/evalfunc.c, src/testdir/test_textprop.vim + +Patch 8.1.0691 +Problem: Text properties are not adjusted for :substitute. +Solution: Adjust text properties as well as possible. +Files: src/ex_cmds.c, src/textprop.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim + +Patch 8.1.0692 +Problem: If a buffer was deleted a channel can't write to it. +Solution: When the buffer exists but was unloaded, prepare it for writing. + (closes #3764) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.1.0693 (after 8.1.0692) +Problem: Channel test fails sometimes. +Solution: Avoid race condition. +Files: src/testdir/test_channel.vim + +Patch 8.1.0694 +Problem: When using text props may free memory that is not allocated. + (Andy Massimino) +Solution: Allocate the line when adjusting text props. (closes #3766) +Files: src/textprop.c + +Patch 8.1.0695 +Problem: Internal error when using :popup. +Solution: When a menu only exists in Terminal mode give an error. (Naruhiko + Nishino, closes #3765) +Files: runtime/doc/gui.txt, src/globals.h, src/menu.c, src/popupmnu.c, + src/testdir/test_popup.vim + +Patch 8.1.0696 +Problem: When test_edit fails 'insertmode' may not be reset and the next + test may get stuck. (James McCoy) +Solution: Always reset 'insertmode' after executing a test. Avoid that an + InsertCharPre autocommand or a 'complete' function can change the + state. (closes #3768) +Files: src/testdir/runtest.vim, src/edit.c + +Patch 8.1.0697 +Problem: ":sign place" requires the buffer argument. +Solution: Make the argument optional. Also update the help and clean up the + sign test. (Yegappan Lakshmanan, closes #3767) +Files: runtime/doc/eval.txt, runtime/doc/sign.txt, src/sign.c, + src/testdir/test_signs.vim + +Patch 8.1.0698 +Problem: Clearing the window is used too often, causing the command line + to be cleared when opening a tab. (Miroslav Koškár) +Solution: Use NOT_VALID instead of CLEAR. (suggested by Jason Franklin, + closes #630) Also do this for a few other places where clearing + the screen isn't really needed. +Files: src/window.c + +Patch 8.1.0699 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Add a dummy init. +Files: src/edit.c + +Patch 8.1.0700 (after 8.1.0698) +Problem: Using "gt" sometimes does not redraw a tab. (Jason Franklin) +Solution: Always set must_redraw in redraw_all_later(). +Files: src/screen.c + +Patch 8.1.0701 +Problem: Sign message not translated and inconsistent spacing. +Solution: Add _() for translation. Add a space. (Ken Takata) Also use + MSG_BUF_LEN instead of BUFSIZ. +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.0702 +Problem: ":sign place" only uses the current buffer. +Solution: List signs for all buffers when there is no buffer argument. + Fix error message for invalid buffer name in sign_place(). + (Yegappan Lakshmanan, closes #3774) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/sign.c, + src/testdir/test_signs.vim + +Patch 8.1.0703 +Problem: Compiler warnings with 64-bit compiler. +Solution: Change types, add type casts. (Mike Williams) +Files: src/textprop.c, src/undo.c + +Patch 8.1.0704 +Problem: Building with Ruby 2.6 gives compiler warnings. +Solution: Define a stub for rb_ary_detransient. (Ozaki Kiichi, closes #3779) +Files: src/if_ruby.c + +Patch 8.1.0705 +Problem: :colorscheme isn't tested enough +Solution: Improve test coverage of :colorscheme. (Dominique Pelle, closes + #3777) Remove unnecessary sleep. +Files: src/testdir/test_gui.vim + +Patch 8.1.0706 +Problem: Tabline is not always redrawn when something that is used in + 'tabline' changes. +Solution: Add ":redrawtabline" so that a plugin can at least cause the + redraw when needed. +Files: runtime/doc/various.txt, runtime/doc/options.txt, src/ex_docmd.c, + src/ex_cmds.h, src/screen.c, src/proto/screen.pro, + src/ex_cmdidxs.h, src/testdir/test_tabline.vim + +Patch 8.1.0707 +Problem: Text property columns are not adjusted for changed indent. +Solution: Adjust text properties. +Files: src/misc1.c, src/testdir/test_textprop.vim + +Patch 8.1.0708 +Problem: Third argument for redrawWinline() is always FALSE. +Solution: Drop the argument. (neovim #9479) +Files: src/edit.c, src/move.c, src/screen.c, src/proto/screen.pro + +Patch 8.1.0709 +Problem: Windows are updated for every added/deleted sign. +Solution: Do not call update_debug_sign(). Only redraw when the line with + the sign is visible. (idea from neovim #9479) +Files: src/sign.c, src/screen.c, src/proto/screen.pro + +Patch 8.1.0710 +Problem: When using timers may wait for job exit quite long. +Solution: Return from ui_wait_for_chars_or_timer() when a job or channel + needs to be handled. (Ozaki Kiichi, closes #3783) +Files: src/ui.c, src/testdir/test_channel.vim + +Patch 8.1.0711 +Problem: Test files still use function!. +Solution: Remove the exclamation mark. Fix overwriting a function. +Files: src/testdir/test49.vim, src/testdir/test_autocmd.vim, + src/testdir/test_charsearch.vim, + src/testdir/test_charsearch_utf8.vim, + src/testdir/test_display.vim, src/testdir/test_edit.vim, + src/testdir/test_eval_func.vim, src/testdir/test_fnameescape.vim, + src/testdir/test_getcwd.vim, src/testdir/test_highlight.vim, + src/testdir/test_hlsearch.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_lambda.vim, src/testdir/test_listdict.vim, + src/testdir/test_listlbr.vim, src/testdir/test_listlbr_utf8.vim, + src/testdir/test_marks.vim, src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_messages.vim, src/testdir/test_number.vim, + src/testdir/test_options.vim, src/testdir/test_partial.vim, + src/testdir/test_smartindent.vim, src/testdir/test_substitute.vim, + src/testdir/test_system.vim, src/testdir/test_terminal.vim, + src/testdir/test_textobjects.vim, src/testdir/test_utf8.vim, + src/testdir/test_utf8_comparisons.vim, + src/testdir/test_vartabs.vim, src/testdir/test_vimscript.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_xxd.vim + +Patch 8.1.0712 +Problem: MS-Windows build instructions are a bit outdated. +Solution: Update the instructions. (Ken Takata) +Files: src/INSTALLpc.txt + +Patch 8.1.0713 +Problem: Images for NSIS take up too much space. +Solution: Put the images in a zip file. +Files: nsis/icons.zip, nsis/icons/disabled.bmp, nsis/icons/enabled.bmp, + nsis/icons/header.bmp, nsis/icons/header.svg, + nsis/icons/un_header.bmp, nsis/icons/uninstall.bmp, + nsis/icons/vim_16c.ico, nsis/icons/vim_uninst_16c.ico, + nsis/icons/welcome.bmp, nsis/icons/welcome.svg, + nsis/README.txt, Filelist, Makefile + +Patch 8.1.0714 +Problem: Unnecessary #if lines in GTK code. +Solution: Remove the #if. (Ken Takata, closes #3785) +Files: src/gui_beval.c, src/if_mzsch.c + +Patch 8.1.0715 +Problem: Superfluous call to redraw_win_later(). +Solution: Remove the call. +Files: src/move.c + +Patch 8.1.0716 +Problem: Get warning message when 'completefunc' returns nothing. +Solution: Allow for returning v:none to suppress the warning message. + (Yasuhiro Matsumoto, closes #3789) +Files: runtime/doc/insert.txt, src/edit.c, + src/testdir/test_ins_complete.vim + +Patch 8.1.0717 +Problem: There is no function for the ":sign jump" command. +Solution: Add the sign_jump() function. (Yegappan Lakshmanan, closes #3780) +Files: runtime/doc/eval.txt, runtime/doc/sign.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/sign.pro, + src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.0718 +Problem: A couple compiler warnings. +Solution: Rename shadowed variables. Add UNUSED. +Files: src/misc1.c + +Patch 8.1.0719 +Problem: Too many #ifdefs. +Solution: Always build with the +visualextra feature. +Files: src/evalfunc.c, src/version.c, src/normal.c, src/ops.c, + src/feature.h, runtime/doc/various.txt + +Patch 8.1.0720 +Problem: Cannot easily change the current quickfix list index. +Solution: Add the "idx" argument to setqflist(). (Yegappan Lakshmanan, + closes #3701) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.1.0721 +Problem: Conceal mode is not sufficiently tested. +Solution: Add screendump tests. Check all 'concealcursor' values. +Files: src/testdir/test_conceal.vim, src/Make_all.mak, + src/testdir/Make_all.mak + src/testdir/dumps/Test_conceal_two_windows_01.dump, + src/testdir/dumps/Test_conceal_two_windows_02.dump, + src/testdir/dumps/Test_conceal_two_windows_03.dump, + src/testdir/dumps/Test_conceal_two_windows_04.dump, + src/testdir/dumps/Test_conceal_two_windows_05.dump, + src/testdir/dumps/Test_conceal_two_windows_06i.dump, + src/testdir/dumps/Test_conceal_two_windows_06v.dump, + src/testdir/dumps/Test_conceal_two_windows_06c.dump, + src/testdir/dumps/Test_conceal_two_windows_06n.dump, + src/testdir/dumps/Test_conceal_two_windows_07i.dump, + src/testdir/dumps/Test_conceal_two_windows_07v.dump, + src/testdir/dumps/Test_conceal_two_windows_07c.dump, + src/testdir/dumps/Test_conceal_two_windows_07n.dump, + src/testdir/dumps/Test_conceal_two_windows_08i.dump, + src/testdir/dumps/Test_conceal_two_windows_08v.dump, + src/testdir/dumps/Test_conceal_two_windows_08c.dump, + src/testdir/dumps/Test_conceal_two_windows_08n.dump, + src/testdir/dumps/Test_conceal_two_windows_09i.dump, + src/testdir/dumps/Test_conceal_two_windows_09v.dump, + src/testdir/dumps/Test_conceal_two_windows_09c.dump, + src/testdir/dumps/Test_conceal_two_windows_09n.dump + +Patch 8.1.0722 +Problem: Cannot build without the virtualedit feature. +Solution: Make getviscol2() always available. +Files: src/misc2.c, src/proto/misc2.pro, src/ops.c + +Patch 8.1.0723 +Problem: Cannot run specific test when in src/testdir the same was as in + the src directory. +Solution: Move build rule to src/testdir/Makefile. +Files: src/testdir/Make_all.mak, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/Makefile, src/Make_all.mak, src/testdir/Makefile, + src/testdir/README.txt, src/Make_mvc.mak + +Patch 8.1.0724 +Problem: Build for MinGW fails. +Solution: Avoid specifying dependencies in included makefile. +Files: src/testdir/Make_all.mak, src/testdir/Makefile, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak + +Patch 8.1.0725 +Problem: Conceal mode is not completely tested. +Solution: Add tests for moving the cursor in Insert mode. +Files: src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_two_windows_10.dump, + src/testdir/dumps/Test_conceal_two_windows_11.dump, + src/testdir/dumps/Test_conceal_two_windows_12.dump, + src/testdir/dumps/Test_conceal_two_windows_13.dump + +Patch 8.1.0726 +Problem: Redrawing specifically for conceal feature. +Solution: Use generic redrawing methods. +Files: src/edit.c, src/gui.c, src/main.c, src/normal.c, src/screen.c, + src/proto/screen.pro, src/window.c + +Patch 8.1.0727 +Problem: Compiler warning for sprintf() argument. +Solution: Add type cast. +Files: src/dosinst.c + +Patch 8.1.0728 +Problem: Cannot avoid breaking after a single space. +Solution: Add the 'p' flag to 'formatoptions'. (Tom Ryder) +Files: runtime/doc/change.txt, src/edit.c, src/option.h, + src/testdir/test_textformat.vim + +Patch 8.1.0729 +Problem: There is a SourcePre autocommand event but not a SourcePost. +Solution: Add the SourcePost autocommand event. (closes #3739) +Files: src/vim.h, src/fileio.c, src/ex_cmds2.c, runtime/doc/autocmd.txt, + src/testdir/test_source.vim, src/testdir/Make_all.mak + +Patch 8.1.0730 +Problem: Compiler warning for get_buf_arg() unused. +Solution: Add #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 8.1.0731 +Problem: JS encoding does not handle negative infinity. +Solution: Add support for negative infinity for JS encoding. (Dominique + Pelle, closes #3792) +Files: runtime/doc/eval.txt, src/json.c, src/testdir/test_json.vim + +Patch 8.1.0732 +Problem: Cannot build without the eval feature. +Solution: Make a copy of the sourced file name. +Files: src/ex_cmds2.c + +Patch 8.1.0733 +Problem: Too many #ifdefs for the multibyte feature. +Solution: Tentatively always enable the multibyte feature. If you have a + problem with this, please discuss on the Vim maillist. +Files: src/configure.ac, src/auto/configure, src/feature.h, src/Makefile, + src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.0734 +Problem: The hlsearch state is not stored in a session file. +Solution: Add "nohlsearch" if appropriate. (Jason Franklin) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0735 +Problem: Cannot handle binary data. +Solution: Add the Blob type. (Yasuhiro Matsumoto, closes #3638) +Files: runtime/doc/eval.txt, runtime/doc/if_perl.txt, + runtime/doc/if_ruby.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Makefile, src/blob.c, src/channel.c, src/eval.c, + src/evalfunc.c, src/if_perl.xs, src/if_py_both.h, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/json.c, src/netbeans.c, + src/proto.h, src/proto/blob.pro, src/proto/channel.pro, + src/structs.h, src/testdir/Make_all.mak, src/vim.h, src/globals.h, + src/testdir/test_blob.vim, src/testdir/test_channel.vim + +Patch 8.1.0736 +Problem: Code for Blob not sufficiently tested. +Solution: Add more tests. Fix uncovered crash. Add test_null_blob(). +Files: src/testdir/test_blob.vim, src/testdir/test_assign.vim, src/eval.c, + src/testdir/test_eval_stuff.vim, src/testdir/test_lambda.vim, + runtime/doc/eval.txt, src/evalfunc.c, src/blob.c, + src/testdir/test49.vim + +Patch 8.1.0737 +Problem: Compiler warning for uninitialized variable. +Solution: Add initialization. (John Marriott) +Files: src/eval.c + +Patch 8.1.0738 +Problem: Using freed memory, for loop over blob leaks memory. +Solution: Clear pointer after freeing memory. Decrement reference count + after for loop over blob. +Files: src/eval.c + +Patch 8.1.0739 +Problem: Text objects in not sufficiently tested. +Solution: Add a few more test cases. (Dominique Pelle, closes #3795) +Files: src/testdir/test_visual.vim + +Patch 8.1.0740 +Problem: Tcl test fails. +Solution: When the argument is empty don't give an error, instead rely on + the error reporting higher up. +Files: src/eval.c + +Patch 8.1.0741 +Problem: Viminfo with Blob is not tested. +Solution: Extend the viminfo test. Fix reading a blob. Fixed storing a + special variable value. +Files: src/testdir/test_viminfo.vim, src/eval.c, src/blob.c, + src/proto/blob.pro + +Patch 8.1.0742 +Problem: Not all Blob operations are tested. +Solution: Add more testing for Blob. +Files: src/testdir/test_blob.vim, src/evalfunc.c, + src/testdir/test_eval_stuff.vim + +Patch 8.1.0743 +Problem: Giving error messages is not flexible. +Solution: Add semsg(). Change argument from "char_u *" to "char *", also + for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes + #3302) Also make emsg() accept a "char *" argument. Get rid of + an enormous number of type casts. +Files: src/blob.c, src/blowfish.c, src/buffer.c, src/channel.c, + src/crypt.c, src/dict.c, src/diff.c, src/digraph.c, 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.h, src/fileio.c, src/fold.c, src/getchar.c, + src/globals.h, src/gui.c, src/gui_at_fs.c, src/gui_at_sb.c, + src/gui_beval.c, src/gui_gtk_x11.c, src/gui_mac.c, + src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, src/hangulin.c, + src/hardcopy.c, src/hashtab.c, src/if_cscope.c, src/if_lua.c, + src/if_mzsch.c, src/if_perl.xs, src/if_py_both.h, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/if_xcmdsrv.c, + src/json.c, src/list.c, 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_mswin.c, src/os_unix.c, + src/os_win32.c, src/popupmnu.c, src/proto.h, src/proto/buffer.pro, + src/proto/digraph.pro, src/proto/ex_docmd.pro, + src/proto/ex_eval.pro, src/proto/ex_getln.pro, + src/proto/hardcopy.pro, src/proto/mbyte.pro, + src/proto/message.pro, src/proto/misc2.pro, src/proto/option.pro, + src/proto/spell.pro, src/quickfix.c, src/regexp.c, + src/regexp_nfa.c, src/search.c, src/sign.c, src/spell.c, + src/spellfile.c, src/structs.h, src/syntax.c, src/tag.c, + src/term.c, src/terminal.c, src/textprop.c, src/ui.c, src/undo.c, + src/userfunc.c, src/version.c, src/vim.h, src/window.c, + +Patch 8.1.0744 (after 8.1.0743) +Problem: Compiler warnings for signed/unsigned strings. +Solution: A few more type cast fixes. +Files: src/option.c, src/if_perl.xs, src/if_py_both.h, src/integration.c + +Patch 8.1.0745 +Problem: Compiler warnings for signed/unsigned string. +Solution: Remove type casts. (John Marriott) +Files: src/ex_docmd.c, src/mbyte.c + +Patch 8.1.0746 +Problem: Highlighting not updated with conceal and 'cursorline'. (Jason + Franklin) +Solution: Do not use a zero line number. Check if 'conceallevel' is set for + the current window. +Files: src/main.c, src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_cul_01.dump, + src/testdir/dumps/Test_conceal_cul_02.dump, + src/testdir/dumps/Test_conceal_cul_03.dump + +Patch 8.1.0747 +Problem: map() with a bad expression doesn't give an error. (Ingo Karkat) +Solution: Check for giving an error message. (closes #3800) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 8.1.0748 +Problem: Using sprintf() instead of semsg(). +Solution: Use semsg(). Fix bug with E888. (Ozaki Kiichi, closes #3801) +Files: src/regexp.c + +Patch 8.1.0749 (after 8.1.0747) +Problem: Error message contains garbage. (Dominique Pelle) +Solution: Use correct pointer to failed expression. +Files: src/eval.c + +Patch 8.1.0750 +Problem: When the last sign is deleted the signcolumn may not be removed + even though 'signcolumn' is "auto". +Solution: When deleting the last sign redraw the buffer. (Dominique Pelle, + closes #3803, closes #3804) +Files: src/sign.c + +Patch 8.1.0751 +Problem: Some regexp errors are not tested. +Solution: Add a test function. +Files: src/testdir/test_regexp_latin.vim + +Patch 8.1.0752 +Problem: One more compiler warning for signed/unsigned string. (Tony + Mechelynck) +Solution: Remove type cast. +Files: src/ex_docmd.c + +Patch 8.1.0753 +Problem: printf format not checked for semsg(). +Solution: Add GNUC attribute and fix reported problems. (Dominique Pelle, + closes #3805) +Files: src/buffer.c, src/diff.c, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/if_cscope.c, src/netbeans.c, src/proto.h, + src/proto/message.pro, src/quickfix.c, src/regexp_nfa.c, + src/sign.c, src/spellfile.c, src/window.c, src/gui_x11.c + +Patch 8.1.0754 +Problem: Preferred column is lost when setting 'cursorcolumn'. +Solution: Change option flag to P_RWINONLY. (Takayuki Kurosawa, + closes #3806) +Files: src/option.c, src/testdir/test_cursor_func.vim + +Patch 8.1.0755 +Problem: Error message for get() on a Blob with invalid index. +Solution: Return an empty Blob, like get() on a List does. +Files: src/evalfunc.c, src/testdir/test_blob.vim + +Patch 8.1.0756 +Problem: copy() does not make a copy of a Blob. +Solution: Make a copy. +Files: src/eval.c, src/testdir/test_blob.vim + +Patch 8.1.0757 +Problem: Not enough documentation for Blobs. +Solution: Add a section about Blobs. +Files: runtime/doc/eval.txt + +Patch 8.1.0758 +Problem: Font number is always one instead of the actual. +Solution: Use "%d" instead of "1". (Ken Takata) +Files: src/gui_x11.c + +Patch 8.1.0759 +Problem: Showing two characters for tab is limited. +Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel + Braun, Ken Takata, closes #3810) +Files: runtime/doc/options.txt, src/globals.h, src/message.c, + src/option.c, src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.0760 +Problem: No proper test for using 'termencoding'. +Solution: Add a screendump test. Fix using double width characters in a + screendump. +Files: src/terminal.c, src/testdir/test_termencoding.vim, + src/testdir/Make_all.mak, + src/testdir/dumps/Test_tenc_euc_jp_01.dump + +Patch 8.1.0761 +Problem: Default value for brief_wait is wrong. +Solution: Make the default FALSE. (Ozaki Kiichi, closes #3812, closes #3799) +Files: src/ui.c + +Patch 8.1.0762 +Problem: Compiler warning. +Solution: Add type cast. (Mike Williams) +Files: src/channel.c + +Patch 8.1.0763 +Problem: Nobody is using the Sun Workshop support. +Solution: Remove the Workshop support. +Files: runtime/doc/workshop.txt, runtime/doc/help.txt, + runtime/doc/netbeans.txt, src/Makefile, src/auto/configure, + src/beval.c, src/buffer.c, src/config.h.in, src/config.mk.in, + src/configure.ac, src/evalfunc.c, src/ex_cmds.c, src/ex_cmds.h, + src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, + src/gui.c, src/gui_beval.c, src/gui_motif.c, src/gui_x11.c, + src/integration.c, src/integration.h, src/main.c, src/misc2.c, + src/nbdebug.c, src/netbeans.c, src/proto.h, + src/proto/workshop.pro, src/ui.c, src/version.c, src/vim.h, + src/workshop.c, src/workshop.h, src/wsdebug.c, src/wsdebug.h, + src/ex_cmdidxs.h + +Patch 8.1.0764 +Problem: List of distributed files is outdated. +Solution: Remove workshop files. Add blob files. +Files: Filelist + +Patch 8.1.0765 +Problem: String format of a Blob can't be parsed back. +Solution: Use 0z format. +Files: src/blob.c, src/eval.c, src/testdir/test_blob.vim + +Patch 8.1.0766 +Problem: Various problems when using Vim on VMS. +Solution: Various fixes. Define long_long_T. (Zoltan Arpadffy) +Files: src/eval.c, src/feature.h, src/fileio.c, src/gui_motif.c, + src/gui_x11.c, src/gui_xmebw.c, src/json.c, src/Make_vms.mms, + src/ops.c, src/os_vms_conf.h, src/vim.h, src/xdiff/xdiff.h, + src/xdiff/xinclude.h + +Patch 8.1.0767 +Problem: When deleting lines at the bottom signs are misplaced. +Solution: Properly update the line number of signs at the end of a buffer + after a delete/undo operation. (Yegappan Lakshmanan, closes #3798) +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.0768 +Problem: Updating completions may cause the popup menu to flicker. +Solution: Avoid updating the text below the popup menu before drawing the + popup menu. +Files: src/popupmnu.c, src/proto/popupmnu.pro, src/edit.c, src/screen.c + +Patch 8.1.0769 +Problem: :stop is covered in two tests. +Solution: Remove Test_stop_in_terminal(). Make other test exit Vim cleanly. + (Ozaki Kiichi, closes #3814) +Files: src/testdir/test_terminal.vim, src/testdir/test_suspend.vim + +Patch 8.1.0770 +Problem: Inconsistent use of ELAPSED_FUNC. +Solution: Consistently use ELAPSED_FUNC. Also turn ELAPSED_TYPE into a + typedef. (Ozaki Kiichi, closes #3815) +Files: src/channel.c, src/gui.c, src/misc1.c, src/os_unix.c, src/vim.h + +Patch 8.1.0771 +Problem: Some shell filetype patterns end in a star. +Solution: Make sure that patterns not ending in a star are preferred. +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim + +Patch 8.1.0772 +Problem: The sign_define_by_name() function is too long. +Solution: Split it into smaller functions. (Yegappan Lakshmanan, + closes #3819) +Files: src/sign.c + +Patch 8.1.0773 +Problem: Not all crypt code is tested. +Solution: Disable unused crypt code. Add more test coverage. +Files: src/structs.h, src/crypt.c, src/testdir/test_crypt.vim, + src/proto/crypt.pro, src/fileio.c + +Patch 8.1.0774 +Problem: VMS build is missing the blob file. +Solution: Add the blob file to the build rules. (Zoltan Arpadffy) +Files: src/Make_vms.mms, runtime/doc/os_vms.txt + +Patch 8.1.0775 +Problem: Matching too many files as zsh. (Danek Duvall) +Solution: Be more specific with zsh filetype patterns. +Files: runtime/filetype.vim + +Patch 8.1.0776 +Problem: Travis does not build a version without GUI on Linux. +Solution: Add an environment for tiny features without GUI. +Files: .travis.yml + +Patch 8.1.0777 +Problem: Win32: using pipes for channel does not work well. +Solution: Use a larger buffer and handle overlaps. (Yasuhiro Matsumoto, + closes #3782) +Files: src/channel.c, src/os_win32.c + +Patch 8.1.0778 +Problem: Terminal test fails on MS-Windows. +Solution: Temporarily skip the test on MS-Windows. Do run it both in + terminal and GUI on other systems. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0779 +Problem: Argument for message functions is inconsistent. +Solution: Make first argument to msg() "char *". +Files: src/buffer.c, src/crypt.c, src/edit.c, src/ex_cmds.c, src/eval.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/farsi.c, + src/if_cscope.c, src/fileio.c, src/getchar.c, src/globals.h, + src/gui.c, src/if_perl.xs, src/netbeans.c, src/gui_w32.c, + src/hardcopy.c, src/if_mzsch.c, src/if_py_both.h, src/if_ruby.c, + src/if_tcl.c, src/mark.c, src/mbyte.c, src/menu.c, src/memline.c, + src/message.c, src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, + src/option.c, src/os_amiga.c, src/os_unix.c, src/os_win32.c, + src/proto/message.pro, src/quickfix.c, src/sign.c, src/regexp.c, + src/ui.c, src/screen.c, src/search.c, src/spell.c, + src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, src/undo.c, + src/userfunc.c, src/version.c, src/vim.h, src/window.c, + src/proto/eval.pro, src/evalfunc.c, src/ex_eval.c, src/farsi.h + +Patch 8.1.0780 +Problem: Terminal test fails on Mac. +Solution: Skip the test on Mac. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0781 +Problem: Build error when using if_xcmdsrv.c. +Solution: Add missing part of 8.1.0779. +Files: src/if_xcmdsrv.c + +Patch 8.1.0782 +Problem: Win32: cursor blinks when Vim is not active. +Solution: Remove call to setActiveWindow(). (Yasuhiro Matsumoto, + closes #3778) +Files: src/gui_w32.c, src/proto/gui_w32.pro, src/menu.c + +Patch 8.1.0783 +Problem: Compiler warning for signed/unsigned. +Solution: Add type cast. Change type of buffer. (Ozaki Kiichi, closes #3827) +Files: src/main.c, src/message.c + +Patch 8.1.0784 +Problem: Messy indent in if statement. +Solution: Improve structure of if statement. (Ozaki Kiichi, closes #3826) +Files: src/os_win32.c + +Patch 8.1.0785 +Problem: Depending on the configuration some functions are unused. +Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle, + closes #3822) +Files: src/buffer.c, src/channel.c, src/ex_cmds2.c, src/ex_docmd.c, + src/fileio.c, src/getchar.c, src/gui_gtk_x11.c, src/hashtab.c, + src/json.c, src/mbyte.c, src/message.c, src/misc1.c, src/misc2.c, + src/ops.c, src/option.c, src/os_unix.c, src/proto/os_unix.pro, + src/proto/regexp.pro, src/proto/terminal.pro, src/regexp.c, + src/screen.c, src/search.c, src/syntax.c, src/term.c, + src/terminal.c, src/ui.c, src/userfunc.c + +Patch 8.1.0786 +Problem: ml_get error when updating the status line and a terminal had its + scrollback cleared. (Chris Patuzzo) +Solution: Check the cursor position when drawing the status line. + (closes #3830) +Files: src/buffer.c, src/testdir/test_terminal.vim + +Patch 8.1.0787 +Problem: Compiler warning for unused function. (Tony Mechelynck) +Solution: Tune #ifdef around setjmp functions. +Files: src/os_unix.c + +Patch 8.1.0788 +Problem: Cannot build with tiny features. +Solution: Adjust #ifdefs. +Files: src/os_unix.c + +Patch 8.1.0789 +Problem: Sourcing a session sets v:errmsg. +Solution: Use "%argdel" instead of "argdel *". (Jason Franklin) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0790 +Problem: Code for creating tabpages in session is too complex. +Solution: Simplify the code. (Jason Franklin) +Files: src/ex_docmd.c + +Patch 8.1.0791 +Problem: A few compiler warnings on VMS. +Solution: Remove type cast. Adjust #ifdef. (Zoltan Arpadffy) +Files: src/os_unix.c, src/proto.h + +Patch 8.1.0792 +Problem: Popup menu is displayed on top of the cmdline window if it is + opened from Insert completion. (Bjorn Linse) +Solution: Remove the popup menu. Restore the cursor position. + (closes #3838) +Files: src/edit.c, src/ex_getln.c + +Patch 8.1.0793 +Problem: Incorrect error messages for functions that now take a Blob + argument. +Solution: Adjust the error messages. (Dominique Pelle, closes #3846) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/globals.h, + src/testdir/test_blob.vim, src/testdir/test_listdict.vim + +Patch 8.1.0794 +Problem: White space before " -Ntabmove" causes problems. +Solution: Skip whitespace. (Ozaki Kiichi, closes #3841) +Files: src/ex_docmd.c, src/testdir/test_tabpage.vim + +Patch 8.1.0795 (after 8.1.0792) +Problem: Cannot build without popup menu. +Solution: Add #ifdef +Files: src/ex_getln.c + +Patch 8.1.0796 +Problem: MS-Windows 7: problem with named pipe on channel. +Solution: Put back the disconnect/connect calls. (Yasuhiro Matsumoto, + closes #3833) +Files: src/channel.c, src/testdir/test_terminal.vim + +Patch 8.1.0797 +Problem: Error E898 is used twice. +Solution: Rename the Blob error to E899. (closes #3853) +Files: src/evalfunc.c, runtime/doc/eval.txt, + src/testdir/test_listdict.vim + +Patch 8.1.0798 +Problem: Changing a blob while iterating over it works strangely. +Solution: Make a copy of the Blob before iterating. +Files: src/blob.c, src/proto/blob.pro, src/eval.c, + src/testdir/test_blob.vim + +Patch 8.1.0799 +Problem: Calling deleted function; test doesn't work on Mac. +Solution: Wait for the function to be called before deleting it. Use a job + to write to the pty, unless in the GUI. (Ozaki Kiichi, + closes #3854) +Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim + +Patch 8.1.0800 +Problem: May use a lot of memory when a function creates a cyclic + reference. +Solution: After saving a funccal many times, invoke the garbage collector. + (closes #3835) +Files: src/userfunc.c + +Patch 8.1.0801 +Problem: MinGW: no hint that tests fail because of small terminal. +Solution: Add a rule for test1 that checks for "wrongtermsize". + (msoyka-of-wharton) +Files: src/testdir/Make_ming.mak + +Patch 8.1.0802 +Problem: Negative index doesn't work for Blob. +Solution: Make it work, add a test. (closes #3856) +Files: src/blob.c, src/proto/blob.pro, src/eval.c, + src/testdir/test_blob.vim + +Patch 8.1.0803 +Problem: Session file has problem with single quote in file name. (Jon + Crowe) +Solution: Use a double quoted string. Add a test. +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0804 +Problem: Crash when setting v:errmsg to empty list. (Jason Franklin) +Solution: Separate getting value and assigning result. +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.0805 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_MBYTE, part 1. +Files: src/buffer.c, src/charset.c, src/diff.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/gui.c, src/gui_mac.c, src/gui_photon.c, + src/gui_w32.c + +Patch 8.1.0806 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_MBYTE, part 2. +Files: src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/gui_w32.c, + src/gui_x11.c, src/hardcopy.c, src/if_xcmdsrv.c, src/json.c, + src/kword_test.c, src/main.c, src/mbyte.c, src/memline.c, + src/message.c, src/misc1.c, src/misc2.c, src/move.c, src/normal.c, + src/ops.c, src/option.c, src/charset.c + +Patch 8.1.0807 +Problem: Session test fails on MS-Windows. +Solution: Don't try creating file with illegal name. +Files: src/testdir/test_mksession.vim + +Patch 8.1.0808 +Problem: MS-Windows: build error with GUI. +Solution: Remove "static". +Files: src/gui_w32.c + +Patch 8.1.0809 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_MBYTE, part 3. +Files: src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_w32exe.c, + src/os_win32.c, src/quickfix.c, src/regexp.c, src/regexp_nfa.c, + src/screen.c + +Patch 8.1.0810 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_MBYTE, part 4. +Files: src/getchar.c, src/search.c, src/sign.c, src/spell.c, + src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, src/ui.c, + src/version.c, src/winclip.c, src/window.c, src/glbl_ime.cpp, + src/ex_cmds.h, src/globals.h, src/gui.h, src/if_py_both.h, + src/macros.h, src/option.h, src/os_mac.h, src/os_win32.h, + src/proto.h, src/spell.h, src/structs.h, src/vim.h + +Patch 8.1.0811 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_MBYTE, the final chapter. +Files: src/feature.h, src/vim.h, src/crypt_zip.c, src/fileio.c, + src/message.c, src/spell.h, src/structs.h, src/config.h.in, + src/configure.ac, src/auto/configure, src/testdir/runtest.vim, + src/testdir/test_alot_utf8.vim, src/testdir/test_arabic.vim, + src/testdir/test_charsearch_utf8.vim, + src/testdir/test_cmdline.vim, src/testdir/test_digraph.vim, + src/testdir/test_display.vim, src/testdir/test_edit.vim, + src/testdir/test_erasebackword.vim, + src/testdir/test_expr_utf8.vim, src/testdir/test_functions.vim, + src/testdir/test_ga.vim, src/testdir/test_iminsert.vim, + src/testdir/test_increment_dbcs.vim, src/testdir/test_json.vim, + src/testdir/test_makeencoding.vim, src/testdir/test_maparg.vim, + src/testdir/test_mapping.vim, src/testdir/test_marks.vim, + src/testdir/test_match.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_mksession_utf8.vim, src/testdir/test_normal.vim, + src/testdir/test_plus_arg_edit.vim, src/testdir/test_profile.vim, + src/testdir/test_put.vim, src/testdir/test_regex_char_classes.vim, + src/testdir/test_regexp_utf8.vim, src/testdir/test_search.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_spell.vim, + src/testdir/test_startup_utf8.vim, + src/testdir/test_termencoding.vim, src/testdir/test_terminal.vim, + src/testdir/test_utf8.vim, src/testdir/test_utf8_comparisons.vim, + src/testdir/test_viminfo.vim, src/testdir/test_virtualedit.vim, + src/testdir/test_visual.vim, src/testdir/test_wordcount.vim, + src/testdir/test_writefile.vim, src/appveyor.bat, src/os_macosx.m + +Patch 8.1.0812 +Problem: Unicode 16 feature is not useful and cannot be detected. +Solution: Remove UNICODE16. +Files: src/screen.c, src/vim.h, src/feature.h + +Patch 8.1.0813 +Problem: FileChangedShell not sufficiently tested. +Solution: Add a more comprehensive test case. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.0814 +Problem: :mksession cannot handle a very long 'runtimepath'. (Timothy + Madden) +Solution: Expand each part separately, instead of the whole option at once. + (Christian Brabandt, closes #3466) +Files: src/option.c, src/testdir/test_mksession.vim + +Patch 8.1.0815 +Problem: Dialog for file changed outside of Vim not tested. +Solution: Add a test. Move FileChangedShell test. Add 'L' flag to + feedkeys(). +Files: src/testdir/test_autocmd.vim, src/testdir/test_filechanged.vim, + src/testdir/Make_all.mak, src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.1.0816 +Problem: Test for 'runtimepath' in session fails on MS-Windows. +Solution: Skip the test for now. +Files: src/testdir/test_mksession.vim + +Patch 8.1.0817 +Problem: ":=" command is not tested. +Solution: Add a test. (Dominique Pelle, closes #3859) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_ex_equal.vim + +Patch 8.1.0818 +Problem: MS-Windows: cannot send large data with ch_sendraw(). +Solution: Split write into several WriteFile() calls. (Yasuhiro Matsumoto, + closes #3823) +Files: src/channel.c, src/os_win32.c, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py, src/vim.h + +Patch 8.1.0819 +Problem: A failed assert with a long string is hard to read. +Solution: Shorten the assert message. +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 8.1.0820 +Problem: Test for sending large data over channel sometimes fails. +Solution: Handle that the job may have finished early. Also fix that file + changed test doesn't work in the GUI and reduce flakiness. (Ozaki + Kiichi, closes #3861) +Files: src/testdir/test_channel.vim, src/testdir/test_filechanged.vim + +Patch 8.1.0821 +Problem: Xxd "usage" output and other arguments not tested. +Solution: Add a test to trigger the usage output in various ways. Fix + uncovered problem. +Files: src/testdir/test_xxd.vim, src/xxd/xxd.c + +Patch 8.1.0822 +Problem: Peeking and flushing output slows down execution. +Solution: Do not update the mode message when global_busy is set. Do not + flush when only peeking for a character. (Ken Takata) +Files: src/getchar.c, src/screen.c, src/proto/screen.pro, src/edit.c + +Patch 8.1.0823 +Problem: Not sufficient testing of xxd. +Solution: Add some more test coverage. +Files: src/testdir/test_xxd.vim + +Patch 8.1.0824 +Problem: SunOS/Solaris has a problem with ttys. +Solution: Add mch_isatty() with extra handling for SunOS. (Ozaki Kiichi, + closes #3865) +Files: src/auto/configure, src/channel.c, src/config.h.in, + src/configure.ac, src/os_unix.c, src/proto/pty.pro, src/pty.c, + src/terminal.c + +Patch 8.1.0825 +Problem: Code for autocommands is mixed with file I/O code. +Solution: Move autocommand code to a separate file. (Yegappan Lakshmanan, + closes #3863) +Files: 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, + src/Make_vms.mms, src/Makefile, src/README.txt, src/autocmd.c, + src/fileio.c, src/globals.h, src/proto.h, src/proto/autocmd.pro, + src/proto/fileio.pro + +Patch 8.1.0826 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code. +Files: src/buffer.c, src/charset.c, src/edit.c, src/eval.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/feature.h, + src/globals.h, src/gui.c, src/if_py_both.h, src/macros.h, + src/mark.c, src/mbyte.c, src/memline.c, src/menu.c, src/misc1.c, + src/misc2.c, src/move.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/option.h, src/screen.c, src/search.c, + src/spell.c, src/structs.h, src/tag.c, src/ui.c, src/undo.c, + src/userfunc.c, src/version.c, src/vim.h, src/window.c + +Patch 8.1.0827 (after 8.1.0825) +Problem: Missing dependency in Makefile. +Solution: Add dependency from autocmd.o on auto/osdef.h +Files: src/Makefile + +Patch 8.1.0828 +Problem: Still using FEAT_VIRTUALEDIT. +Solution: Remove last use of FEAT_VIRTUALEDIT. +Files: src/quickfix.c + +Patch 8.1.0829 +Problem: When 'hidden' is set session creates extra buffers. +Solution: Move :badd commands to the end. (Jason Franklin) +Files: src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.1.0830 +Problem: Test leaves directory behind on MS-Windows. +Solution: Close buffer before deleting directory. +Files: src/testdir/test_swap.vim + +Patch 8.1.0831 +Problem: Xxd test fails if man page has dos fileformat. +Solution: Make a copy with unix fileformat. +Files: src/testdir/test_xxd.vim + +Patch 8.1.0832 +Problem: confirm() is not tested. +Solution: Add a test. (Dominique Pelle, closes #3868) +Files: src/testdir/test_functions.vim + +Patch 8.1.0833 +Problem: Memory leak when jumps output is filtered. +Solution: Free the filtered name. (Dominique Pelle, closes #3869) +Files: src/mark.c + +Patch 8.1.0834 +Problem: GUI may wait too long before dealing with messages. Returning + early may cause a mapping to time out. +Solution: Use the waiting loop from Unix also for the GUI. + (closes #3817, closes #3824) +Files: src/ui.c, src/proto/ui.pro, src/os_unix.c, src/gui.c, + src/testdir/screendump.vim + +Patch 8.1.0835 +Problem: GUI build fails on MS-Windows. +Solution: Adjust #ifdef. +Files: src/ui.c + +Patch 8.1.0836 +Problem: User completion test can fail on MS-Windows. +Solution: Allow for other names before "Administrator". +Files: src/testdir/test_cmdline.vim + +Patch 8.1.0837 +Problem: Timer interrupting cursorhold and mapping not tested. +Solution: Add tests with timers. (Ozaki Kiichi, closes #3871) +Files: src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim + +Patch 8.1.0838 +Problem: Compiler warning for type conversion. +Solution: Add a type cast. (Mike Williams) +Files: src/channel.c + +Patch 8.1.0839 +Problem: When using VTP wrong colors after a color scheme change. +Solution: When VTP is active always clear after a color scheme change. + (Nobuhiro Takasaki, closes #3872) +Files: src/ex_docmd.c + +Patch 8.1.0840 +Problem: getchar(0) never returns a character in the terminal. +Solution: Call wait_func() at least once. +Files: src/ui.c, src/testdir/test_timers.vim, src/gui_gtk_x11.c, + src/gui_w32.c, src/gui_photon.c, src/gui_x11.c + +Patch 8.1.0841 +Problem: Travis config to get Lua on macOS is too complicated. +Solution: Use an addons entry. (Ozaki Kiichi, closes #3876) +Files: .travis.yml + +Patch 8.1.0842 +Problem: getchar_zero test fails on MS-Windows. +Solution: Disable the test for now. +Files: src/testdir/test_timers.vim + +Patch 8.1.0843 +Problem: Memory leak when running "make test_cd". +Solution: Free the stack element when failing. (Dominique Pelle, + closes #3877) +Files: src/misc2.c + +Patch 8.1.0844 +Problem: When timer fails test will hang forever. +Solution: Use reltime() to limit waiting time. (Ozaki Kiichi, closes #3878) +Files: src/testdir/test_timers.vim + +Patch 8.1.0845 +Problem: Having job_status() free the job causes problems. +Solution: Do not actually free the job or terminal yet, put it in a list and + free it a bit later. Do not use a terminal after checking the job + status. (closes #3873) +Files: src/channel.c, src/terminal.c, src/proto/terminal.pro, src/misc2.c + +Patch 8.1.0846 +Problem: Not easy to recognize the system Vim runs on. +Solution: Add more items to the features list. (Ozaki Kiichi, closes #3855) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_channel.vim, src/testdir/test_functions.vim, + src/testdir/test_terminal.vim, src/testdir/test_writefile.vim + +Patch 8.1.0847 +Problem: May use terminal after it was cleaned up. +Solution: Use the job pointer. +Files: src/terminal.c + +Patch 8.1.0848 +Problem: Cannot build with Ruby 1.8. (Tom G. Christensen) +Solution: Use rb-str_new2(). (Yasuhiro Matsumoto, closes #3883, + closes #3884) +Files: src/if_ruby.c + +Patch 8.1.0849 +Problem: Cursorline highlight is not always updated. +Solution: Set w_last_cursorline when redrawing. Fix resetting cursor flags + when using the popup menu. +Files: src/screen.c, src/popupmnu.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_cursorline_yank_01.dump + +Patch 8.1.0850 +Problem: Test for 'backupskip' is not correct. +Solution: Split the option in parts and use expand(). (Michael Soyka) +Files: src/testdir/test_options.vim + +Patch 8.1.0851 +Problem: feedkeys() with "L" does not work properly. +Solution: Do not set typebuf_was_filled when using "L". (Ozaki Kiichi, + closes #3885) +Files: src/evalfunc.c, src/testdir/test_autocmd.vim, + src/testdir/test_mapping.vim, src/testdir/test_timers.vim + +Patch 8.1.0852 +Problem: findfile() and finddir() are not properly tested. +Solution: Extend the test and add more. (Dominique Pelle, closes #3880) +Files: src/testdir/test_findfile.vim + +Patch 8.1.0853 (after 8.1.0850) +Problem: Options test fails on Mac. +Solution: Remove a trailing slash from $TMPDIR. +Files: src/testdir/test_options.vim + +Patch 8.1.0854 +Problem: xxd does not work with more than 32 bit addresses. +Solution: Add support for 64 bit addresses. (Christer Jensen, closes #3791) +Files: src/xxd/xxd.c + +Patch 8.1.0855 +Problem: Cannot build xxd with MSVC 10. +Solution: Move declaration to start of block. +Files: src/xxd/xxd.c + +Patch 8.1.0856 +Problem: When scrolling a window other than the current one the cursorline + highlighting is not always updated. (Jason Franklin) +Solution: Call redraw_for_cursorline() after scrolling. Only set + w_last_cursorline when drawing the cursor line. Reset the lines + to be redrawn also when redrawing the whole window. +Files: src/move.c, src/proto/move.pro, src/normal.c + +Patch 8.1.0857 +Problem: Indent functionality is not separated. +Solution: Move indent functionality into a new file. (Yegappan Lakshmanan, + closes #3886) +Files: 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, + src/Make_vms.mms, src/Makefile, src/edit.c, src/indent.c, + src/misc1.c, src/proto.h, src/proto/edit.pro, + src/proto/indent.pro, src/proto/misc1.pro + +Patch 8.1.0858 +Problem: 'indentkeys' and 'cinkeys' defaults are different. +Solution: Make them the same, update docs. (close #3882) +Files: src/option.c, runtime/doc/options.txt, runtime/doc/indent.txt + +Patch 8.1.0859 +Problem: "%v" in 'errorformat' does not handle multibyte characters. +Solution: Handle multibyte characters. (Yegappan Lakshmanan, closes #3700) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0860 +Problem: Debug lines left in the code. +Solution: Delete the lines. +Files: src/edit.c + +Patch 8.1.0861 +Problem: Building with MinGW and static libc doesn't work. +Solution: Change the LIB argument. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0862 +Problem: No verbose version of character classes. +Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi, + closes #1373) +Files: runtime/doc/pattern.txt, src/regexp.c, src/regexp_nfa.c, + src/testdir/test_regexp_utf8.vim + +Patch 8.1.0863 +Problem: Cannot see what signal caused a job to end. +Solution: Add "termsig" to job_info(). (Ozaki Kiichi, closes #3786) +Files: runtime/doc/eval.txt, src/channel.c, src/os_unix.c, src/structs.h, + src/testdir/test_channel.vim + +Patch 8.1.0864 +Problem: Cannot have a local value for 'scrolloff' and 'sidescrolloff'. + (Gary Holloway) +Solution: Make 'scrolloff' and 'sidescrolloff' global-local. (mostly by + Aron Widforss, closes #3539) +Files: runtime/doc/options.txt, src/edit.c, src/ex_cmds.c, + src/ex_docmd.c, src/gui.c, src/misc2.c, src/move.c, src/normal.c, + src/option.c, src/proto/option.pro, src/option.h, src/search.c, + src/structs.h, src/window.c, src/testdir/test_options.vim + +Patch 8.1.0865 +Problem: When 'listchars' only contains "nbsp:X" it does not work. +Solution: Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes #3889) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.0866 +Problem: Build file dependencies are outdated. (John Little) +Solution: Run "make proto" and "make depend". +Files: src/vim.h, src/Makefile, src/proto/sign.pro, src/proto/gui_w32.pro + +Patch 8.1.0867 +Problem: Cannot build Python interface with Python 2.4. (Tom G. Christensen) +Solution: Define PyBytes_FromStringAndSize. (Ken Takata, closes #3888) +Files: src/if_python.c + +Patch 8.1.0868 +Problem: Crash if triggering garbage collector after a function call. + (Michael Henry) +Solution: Don't call the garbage collector right away, do it later. + (closes #3894) +Files: src/userfunc.c + +Patch 8.1.0869 +Problem: Travis CI script is too complicated. +Solution: Add names to environments. Move appveyor script outside of src + directory. (Ozaki Kiichi, closes #3890) +Files: .travis.yml, appveyor.yml, ci/appveyor.bat, src/appveyor.bat, + Filelist + +Patch 8.1.0870 +Problem: Vim doesn't use the new ConPTY support in Windows 10. +Solution: Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/terminal.txt, src/channel.c, src/evalfunc.c, + src/globals.h, src/option.c, src/option.h, src/os_win32.c, + src/proto/terminal.pro, src/structs.h, src/terminal.c, + src/testdir/gen_opt_test.vim, src/testdir/test_autocmd.vim, + src/testdir/test_mksession.vim, src/testdir/test_terminal.vim + +Patch 8.1.0871 +Problem: Build error when building with Ruby 2.6.0. +Solution: Change argument of rb_int2big_stub(). (Android Baumann, + closes #3899) +Files: src/if_ruby.c + +Patch 8.1.0872 +Problem: Confusing condition. +Solution: Use "==" instead of "<=". +Files: src/gui_gtk_x11.c + +Patch 8.1.0873 +Problem: List if distributed files does not include the matchit autoload + directory. +Solution: Add the directory. +Files: src/Filelist + +Patch 8.1.0874 +Problem: Using old style comments in new file. +Solution: Convert to // comments in new file. (Yegappan Lakshmanan) +Files: src/indent.c + +Patch 8.1.0875 +Problem: Not all errors of marks and findfile()/finddir() are tested. +Solution: Add more test coverage. (Dominique Pelle) +Files: src/testdir/test_findfile.vim, src/testdir/test_marks.vim + +Patch 8.1.0876 +Problem: Completion match not displayed when popup menu is not shown. +Solution: Call update_screen() when not displaying the popup menu to show + the inserted match. (Ken Takata, Hirohito Higashi) +Files: src/edit.c + +Patch 8.1.0877 +Problem: New buffer used every time the quickfix window is opened. +Solution: Reuse the buffer. (Yegappan Lakshmanan, closes #3902) +Files: src/buffer.c, src/proto/quickfix.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.1.0878 +Problem: Test for has('bsd') fails on some BSD systems. +Solution: Adjust the uname match. (James McCoy, closes #3909) +Files: src/testdir/test_functions.vim + +Patch 8.1.0879 +Problem: MS-Windows: temp name encoding can be wrong. +Solution: Convert from active code page to 'encoding'. (Yasuhiro Matsumoto, + closes #3520, closes #1698) +Files: src/fileio.c + +Patch 8.1.0880 +Problem: MS-Windows: inconsistent selection of winpty/conpty. +Solution: Name option 'termwintype', use ++type argument and "term_pty" for + term_start(). (Hirohito Higashi, closes #3915) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/terminal.txt, src/channel.c, src/option.c, + src/option.h, src/structs.h, src/terminal.c, + src/testdir/gen_opt_test.vim, runtime/optwin.vim, + runtime/doc/quickref.txt + +Patch 8.1.0881 +Problem: Can execute shell commands in rvim through interfaces. +Solution: Disable using interfaces in restricted mode. Allow for writing + file with writefile(), histadd() and a few others. +Files: runtime/doc/starting.txt, src/if_perl.xs, src/if_cmds.h, + src/ex_cmds.c, src/ex_docmd.c, src/evalfunc.c, + src/testdir/test_restricted.vim, src/testdir/Make_all.mak + +Patch 8.1.0882 (after 8.1.0879) +Problem: Checking for FEAT_MBYTE which doesn't exist anymore. (Christ van + Willegen) +Solution: Remove it. +Files: src/fileio.c + +Patch 8.1.0883 +Problem: Missing some changes for Ex commands. +Solution: Add missing changes in header file. +Files: src/ex_cmds.h + +Patch 8.1.0884 +Problem: Double check for bsd systems. +Solution: Delete the old line. +Files: src/testdir/test_functions.vim + +Patch 8.1.0885 +Problem: Test for restricted hangs on MS-Windows GUI. +Solution: Skip the test. +Files: src/testdir/test_restricted.vim + +Patch 8.1.0886 +Problem: Compiler warning for adding to NULL pointer and a condition that + is always true. +Solution: Check for NULL pointer before adding. Remove useless "if". + (Friedirch, closes #3913) +Files: src/dosinst.c, src/search.c + +Patch 8.1.0887 +Problem: The 'l' flag in :substitute is sticky. +Solution: Reset the flag. (Dominique Pelle, closes #3925) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.0888 +Problem: The a: dict is not immutable as documented. +Solution: Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro + Matsumoto, closes #3929) +Files: src/eval.c, src/userfunc.c, src/testdir/test_let.vim, + src/testdir/test_listdict.vim + +Patch 8.1.0889 +Problem: MS-Windows: a channel write may hang. +Solution: Check for WriteFile() not writing anything. (Yasuhiro Matsumoto, + closes #3920) +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel_pipe.py + +Patch 8.1.0890 +Problem: Pty allocation wrong if using file for out channel and using null + for in channel and null for error channel. +Solution: Correct using use_file_for_out in condition. (Ozaki Kiichi, closes + #3917) +Files: src/os_unix.c, src/testdir/test_channel.vim + +Patch 8.1.0891 +Problem: Substitute command insufficiently tested. +Solution: Add more test coverage. (Dominique Pelle) +Files: src/testdir/test_substitute.vim + +Patch 8.1.0892 +Problem: Failure when closing a window when location list is in use. +Solution: Handle the situation gracefully. Make sure memory for 'switchbuf' + is not freed at the wrong time. (Yegappan Lakshmanan, + closes #3928) +Files: src/eval.c, src/evalfunc.c, src/proto/window.pro, src/quickfix.c, + src/testdir/test_quickfix.vim, src/window.c + +Patch 8.1.0893 +Problem: Terminal test is a bit flaky. +Solution: Add test_terminal_no_cmd() to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0894 +Problem: MS-Windows: resolve() does not return a reparse point. +Solution: Improve resolve(). (Yasuhiro Matsumoto, closes #3896) +Files: runtime/doc/eval.txt, src/buffer.c, src/evalfunc.c, + src/os_mswin.c, src/proto/os_mswin.pro, + src/testdir/test_functions.vim + +Patch 8.1.0895 (after 8.1.0879) +Problem: MS-Windows: dealing with temp name encoding not quite right. +Solution: Use more wide functions. (Ken Takata, closes #3921) +Files: src/fileio.c + +Patch 8.1.0896 +Problem: Tests for restricted mode not run for MS-Windows GUI. +Solution: Make tests also work in MS-Windows GUI. +Files: src/testdir/test_restricted.vim + +Patch 8.1.0897 +Problem: Can modify a:000 when using a reference. +Solution: Make check for locked variable stricter. (Ozaki Kiichi, + closes #3930) +Files: src/dict.c, src/eval.c, src/evalfunc.c, src/proto/eval.pro, + src/testdir/test_channel.vim, src/testdir/test_let.vim, + src/userfunc.c + +Patch 8.1.0898 +Problem: A messed up rgb.txt can crash Vim. (Pavel Cheremushkin) +Solution: Limit to 10000 entries. Also don't retry many times when the file + cannot be read. +Files: src/term.c + +Patch 8.1.0899 +Problem: No need to check restricted mode for setwinvar(). +Solution: Remove check_restricted(). +Files: src/eval.c + +Patch 8.1.0900 +Problem: ConPTY may crash with 32-bit build. +Solution: Fix function declarations. (Ken Takata, closes #3943) +Files: src/terminal.c + +Patch 8.1.0901 +Problem: Index in getjumplist() may be wrong. (Epheien) +Solution: Call cleanup_jumplist() earlier. (Yegappan Lakshmanan, + closes #3942) +Files: src/evalfunc.c, src/testdir/test_jumplist.vim + +Patch 8.1.0902 +Problem: Incomplete set of assignment operators. +Solution: Add /=, *= and %=. (Ozaki Kiichi, closes #3931) +Files: runtime/doc/eval.txt src/eval.c src/testdir/test_vimscript.vim + +Patch 8.1.0903 +Problem: Struct uses more bytes than needed. +Solution: Reorder members of regitem_S. (Dominique Pelle, closes #3936) +Files: src/regexp.c + +Patch 8.1.0904 +Problem: USE_LONG_FNAME never defined. +Solution: Remove using USE_LONG_FNAME. (Ken Takata, closes #3938) +Files: src/buffer.c, src/ex_cmds.c, src/fileio.c + +Patch 8.1.0905 +Problem: Complicated regexp causes a crash. (Kuang-che Wu) +Solution: Limit the recursiveness of addstate(). (closes #3941) +Files: src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0906 +Problem: Using clumsy way to get console window handle. +Solution: Use GetConsoleWindow(). (Ken Takata, closes #3940) +Files: src/os_mswin.c + +Patch 8.1.0907 +Problem: CI tests on AppVeyor are failing. +Solution: Reduce the recursiveness limit for regexp. +Files: src/regexp_nfa.c + +Patch 8.1.0908 +Problem: Can't handle large value for %{nr}v in regexp. (Kuang-che Wu) +Solution: Give an error if the value is too large. (closes #3948) +Files: src/regexp_nfa.c + +Patch 8.1.0909 +Problem: MS-Windows: using ConPTY even though it is not stable. +Solution: When ConPTY version is unstable, prefer using winpty. (Ken Takata, + closes #3949) +Files: runtime/doc/options.txt, src/os_win32.c, src/proto/os_win32.pro, + src/terminal.c + +Patch 8.1.0910 +Problem: Crash with tricky search pattern. (Kuang-che Wu) +Solution: Check for running out of memory. (closes #3950) +Files: src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0911 +Problem: Tag line with Ex command cannot have extra fields. +Solution: Recognize |;" as the end of the command. (closes #2402) +Files: runtime/doc/tagsrch.txt, src/tag.c, src/testdir/test_taglist.vim + +Patch 8.1.0912 +Problem: MS-Windows: warning for signed/unsigned. +Solution: Add type cast. (Nobuhiro Takasaki, closes #3945) +Files: src/terminal.c + +Patch 8.1.0913 +Problem: CI crashes when running out of memory. +Solution: Apply 'maxmempattern' also to new regexp engine. +Files: src/regexp_nfa.c + +Patch 8.1.0914 +Problem: Code related to findfile() is spread out. +Solution: Put findfile() related code into a new source file. (Yegappan + Lakshmanan, closes #3934) +Files: 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, + src/Make_vms.mms, src/Makefile, src/README.txt, src/findfile.c, + src/misc1.c, src/misc2.c, src/proto.h, src/proto/findfile.pro, + src/proto/misc1.pro, src/proto/misc2.pro, src/proto/window.pro, + src/window.c + +Patch 8.1.0915 +Problem: fsync() may not work properly on Mac. +Solution: Use fcntl() with F_FULLFSYNC. (suggested by Justin M. Keyes) +Files: src/fileio.c, src/proto/fileio.pro, src/evalfunc.c, src/memfile.c + +Patch 8.1.0916 +Problem: With Python 3.7 "find_module" is not made available. +Solution: Also add "find_module" with Python 3.7. (Joel Frederico, + closes #3954) +Files: src/if_py_both.h + +Patch 8.1.0917 +Problem: Double free when running out of memory. +Solution: Remove one free. (Ken Takata, closes #3955) +Files: src/userfunc.c + +Patch 8.1.0918 +Problem: MS-Windows: startup messages are not converted. +Solution: Convert messages when the current codepage differs from + 'encoding'. (Yasuhiro Matsumoto, closes #3914) +Files: src/message.c, src/os_mswin.c, src/vim.h + +Patch 8.1.0919 +Problem: Compiler warnings. +Solution: Add type casts. (Mike Williams) +Files: src/message.c, src/regexp_nfa.c + +Patch 8.1.0920 +Problem: In Terminal-Normal mode job output messes up the window. +Solution: Postpone scrolling and updating the buffer when in Terminal-Normal + mode. +Files: src/terminal.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_01.dump, + src/testdir/dumps/Test_terminal_02.dump, + src/testdir/dumps/Test_terminal_03.dump + +Patch 8.1.0921 +Problem: Terminal test sometimes fails; using memory after free. +Solution: Fee memory a bit later. Add test to cover this. Disable flaky + screenshot test. (closes #3956) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0922 +Problem: Terminal scrollback test is flaky. +Solution: Wait a bit before running the tail command. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_01.dump, + src/testdir/dumps/Test_terminal_02.dump, + src/testdir/dumps/Test_terminal_03.dump + +Patch 8.1.0923 +Problem: Terminal dump diff swap does not update file names. +Solution: Also swap the file name. Add a test. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.0924 +Problem: Terminal scrollback test still flaky. +Solution: Wait a bit longer before running the tail command. +Files: src/testdir/test_terminal.vim + +Patch 8.1.0925 +Problem: Terminal scrollback test still still flaky. +Solution: Explicitly set the shell. Disable ruler. (Ozaki Kiichi, + closes #3966) +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_01.dump, + src/testdir/dumps/Test_terminal_02.dump, + src/testdir/dumps/Test_terminal_03.dump + +Patch 8.1.0926 +Problem: No test for :wnext, :wNext and :wprevious. +Solution: Add a test. (Dominique Pelle, closes #3963) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_wnext.vim + +Patch 8.1.0927 +Problem: USE_CR is never defined. +Solution: Remove usage of USE_CR. (Ken Takata, closes #3958) +Files: runtime/doc/options.txt, src/diff.c, src/evalfunc.c, + src/ex_cmds2.c, src/fileio.c, src/message.c, src/ops.c, + src/option.h, src/proto/ex_cmds2.pro, src/proto/fileio.pro, + src/tag.c + +Patch 8.1.0928 (after 8.1.0927) +Problem: Stray log function call. +Solution: Remove the log function call. +Files: src/ex_cmds2.c + +Patch 8.1.0929 +Problem: No error when requesting ConPTY but it's not available. +Solution: Add an error message. (Hirohito Higashi, closes #3967) +Files: runtime/doc/terminal.txt, src/terminal.c + +Patch 8.1.0930 +Problem: Typo in Makefile. +Solution: Change ABORT_CLFAGS to ABORT_CFLAGS. (Kuang-che Wu, closes #3977) +Files: src/Makefile + +Patch 8.1.0931 +Problem: vtp_working included in GUI build but unused. +Solution: Adjust #ifdefs. (Ken Takata, closes #3971) +Files: src/os_win32.c + +Patch 8.1.0932 +Problem: Farsi support is outdated and unused. +Solution: Delete the Farsi support. +Files: Filelist, src/farsi.c, src/proto/farsi.pro, src/farsi.h, src/edit.c, + src/main.c, src/normal.c, src/option.c, src/getchar.c, + src/ex_cmds.c, src/search.c, src/ex_getln.c, src/charset.c, + src/evalfunc.c, src/screen.c, src/window.c, src/globals.h, + src/proto.h, farsi/README.txt, src/structs.h, + farsi/fonts/DOS/far-a01.com, farsi/fonts/SunOs/far-a01.fb, + farsi/fonts/UNIXs/far-a01.f16, farsi/fonts/UNIXs/far-a01.pcf.gz, + farsi/fonts/UNIXs/far-a01.pcf.Z, farsi/fonts/WINDOWS/far-a01.fon, + 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, + src/Make_vms.mms, src/configure.ac, src/auto/configure, + src/config.h.in, src/testdir/test_farsi.vim, src/version.c, + src/testdir/Make_all.mak, runtime/doc/options.txt, + runtime/doc/starting.txt, runtime/doc/quickref.txt, + runtime/doc/farsi.txt + +Patch 8.1.0933 +Problem: When using VTP scroll region isn't used properly. +Solution: Make better use of the scroll region. (Nobuhiro Takasaki, + closes #3974) +Files: src/os_win32.c, src/term.c + +Patch 8.1.0934 +Problem: Invalid memory access in search pattern. (Kuang-che Wu) +Solution: Check for incomplete equivalence class. (closes #3970) +Files: src/regexp.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0935 +Problem: Old regexp engine may use invalid buffer for 'iskeyword' or + uninitialized buffer pointer. (Kuang-che Wu) +Solution: Set rex.reg_buf when compiling the pattern. (closes #3972) +Files: src/regexp.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0936 +Problem: May leak memory when using 'vartabstop'. (Kuang-che Wu) +Solution: Fix handling allocated memory for 'vartabstop'. (closes #3976) +Files: src/option.c, src/buffer.c + +Patch 8.1.0937 +Problem: Invalid memory access in search pattern. (Kuang-che Wu) +Solution: Check for incomplete collation element. (Dominique Pelle, + closes #3985) +Files: src/regexp.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0938 +Problem: Background color is wrong in MS-Windows console when not using VTP. +Solution: Use g_attrCurrent. (Nobuhiro Takasaki, closes #3987) +Files: src/os_win32.c + +Patch 8.1.0939 +Problem: No completion for sign group names. +Solution: Add completion for sign group names and buffer names. (Yegappan + Lakshmanan, closes #3980) +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.0940 +Problem: MS-Windows console resizing not handled properly. +Solution: Handle resizing the console better. (Nobuhiro Takasaki, Ken + Takata, closes #3968, closes #3611) +Files: src/ex_docmd.c, src/normal.c, src/os_win32.c, + src/proto/os_win32.pro + +Patch 8.1.0941 +Problem: Macros for MS-Windows are inconsistent, using "32", "3264" and + others. +Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the + GUI build. (Hirohito Higashi, closes #3932) +Files: src/GvimExt/gvimext.h, src/Make_bc5.mak, src/Make_cyg_ming.mak, + src/Make_ivc.mak, src/Make_mvc.mak, src/beval.h, src/blowfish.c, + src/channel.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/feature.h, src/fileio.c, src/getchar.c, src/glbl_ime.cpp, + src/globals.h, src/gui.c, src/gui.h, src/gui_beval.c, + src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, + src/if_cscope.c, src/if_cscope.h, src/if_lua.c, src/if_mzsch.c, + src/if_ole.cpp, src/if_perl.xs, src/if_python.c, src/if_python3.c, + src/if_ruby.c, src/if_tcl.c, src/macros.h, src/main.c, + src/mbyte.c, src/memfile.c, src/memline.c, src/menu.c, + src/message.c, src/misc1.c, src/misc2.c, src/nbdebug.c, + src/netbeans.c, src/normal.c, src/option.c, src/option.h, + src/os_mswin.c, src/os_unix.c, src/os_w32exe.c, src/os_win32.c, + src/os_win32.h, src/proto.h, src/screen.c, src/search.c, + src/structs.h, src/syntax.c, src/term.c, src/terminal.c, src/ui.c, + src/undo.c, src/version.c, src/vim.h, src/vim.rc, src/winclip.c + +Patch 8.1.0942 +Problem: Options window still checks for the multi_byte feature. +Solution: Remove the unnecessary check. (Dominique Pelle, closes #3990) +Files: runtime/optwin.vim + +Patch 8.1.0943 +Problem: Still a trace of Farsi support. +Solution: Remove defining macros. +Files: src/feature.h + +Patch 8.1.0944 +Problem: Format of nbdbg() arguments is not checked. +Solution: Add format attribute. Fix reported problems. (Dominique Pelle, + closes #3992) +Files: src/nbdebug.h, src/netbeans.c + +Patch 8.1.0945 +Problem: Internal error when using pattern with NL in the range. +Solution: Use an actual newline for the range. (closes #3989) Also fix + error message. (Dominique Pelle) +Files: src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.1.0946 +Problem: Coveralls is not very useful. +Solution: Remove Coveralls badge, add badge for packages. +Files: README.md + +Patch 8.1.0947 +Problem: Using MSWIN before it is defined. (Cesar Romani) +Solution: Move the block that uses MSWIN to below including vim.h. (Ken + Takata) +Files: src/if_ruby.c + +Patch 8.1.0948 +Problem: When built without +eval "Vim --clean" produces errors. (James + McCoy) +Solution: Do not enable filetype detection. +Files: runtime/defaults.vim + +Patch 8.1.0949 +Problem: MS-Windows defines GUI macros different than other systems. +Solution: Swap FEAT_GUI and FEAT_GUI_MSWIN. (Hirohito Higashi, closes #3996) +Files: src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_ivc.mak, + src/Make_mvc.mak, src/if_ole.cpp, src/vim.h, src/vim.rc + +Patch 8.1.0950 +Problem: Using :python sets 'pyxversion' even when not executed. +Solution: Check the "skip" flag. (Shane Harper, closes #3995) +Files: src/if_python.c, src/if_python3.c, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.1.0951 +Problem: Using WIN64 even though it is never defined. +Solution: Only use _WIN64. (Ken Takata, closes #3997) +Files: src/evalfunc.c + +Patch 8.1.0952 +Problem: Compilation warnings when building the MS-Windows installer. +Solution: Fix buffer sizes. (Yasuhiro Matsumoto, closes #3999) +Files: src/dosinst.c, src/dosinst.h, src/uninstal.c + +Patch 8.1.0953 +Problem: A very long file is truncated at 2^31 lines. +Solution: Use LONG_MAX for MAXLNUM. (Dominique Pelle, closes #4011) +Files: src/vim.h + +Patch 8.1.0954 +Problem: Arguments of semsg() and siemsg() are not checked. +Solution: Add function prototype with __attribute__. +Files: src/message.c, src/proto/message.pro, src/proto.h + +Patch 8.1.0955 +Problem: Matchit autoload directory not in installer. (Chris Morgan) +Solution: Adjust the NSIS script. (Christian Brabandt, closes #4006) +Files: nsis/gvim.nsi + +Patch 8.1.0956 +Problem: Using context:0 in 'diffopt' does not work well. +Solution: Make zero context do the same as one line context. (closes #4005) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_06.0.dump, + src/testdir/dumps/Test_diff_06.1.dump, + src/testdir/dumps/Test_diff_06.2.dump + +Patch 8.1.0957 (after 8.1.0915) +Problem: Mac: fsync fails on network share. +Solution: Check for ENOTSUP. (Yee Cheng Chin, closes #4016) +Files: src/fileio.c + +Patch 8.1.0958 +Problem: Compiling weird regexp pattern is very slow. +Solution: When reallocating post list increase size by 50%. (Kuang-che Wu, + closes #4012) Make assert_inrange() accept float values. +Files: src/regexp_nfa.c, src/eval.c, src/testdir/test_regexp_latin.vim, + src/testdir/test_assert.vim + +Patch 8.1.0959 +Problem: Sorting large numbers is not tested and does not work properly. +Solution: Add test. Fix comparing lines with and without a number. + (Dominique Pelle, closes #4017) +Files: src/ex_cmds.c, src/testdir/test_sort.vim + +Patch 8.1.0960 +Problem: When using ConPTY garbage collection has undefined behavior. +Solution: Free the channel in a better way. (Nobuhiro Takasaki, closes #4020) +Files: src/channel.c + +Patch 8.1.0961 (after 8.1.0957) +Problem: Mac: fsync may fail sometimes. +Solution: Do not check errno. (Yee Cheng Chin, closes #4025) +Files: src/fileio.c + +Patch 8.1.0962 +Problem: Building with MinGW and static libs doesn't work. (Salman Halim) +Solution: Add -lgcc. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 8.1.0963 +Problem: Illegal memory access when using 'incsearch'. +Solution: Reset highlight_match when changing text. (closes #4022) +Files: src/testdir/test_search.vim, src/misc1.c, + src/testdir/dumps/Test_incsearch_change_01.dump + +Patch 8.1.0964 +Problem: Cannot see in CI why a screenshot test failed. +Solution: Add info about the failure. +Files: src/testdir/screendump.vim + +Patch 8.1.0965 +Problem: Search test fails. +Solution: Wait a bit longer for the 'ambiwidth' redraw. +Files: src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_change_01.dump + +Patch 8.1.0966 +Problem: One terminal test is flaky. +Solution: Add to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.0967 +Problem: Stray dependency in test Makefile. +Solution: Remove it. (Masato Nishihata, closes #4018) +Files: src/testdir/Makefile + +Patch 8.1.0968 +Problem: Crash when using search pattern \%Ufffffc23. +Solution: Limit character to INT_MAX. (closes #4009) +Files: src/regexp_nfa.c, src/testdir/test_search.vim + +Patch 8.1.0969 +Problem: Message written during startup is truncated. +Solution: Restore message after truncating. (closes #3969) Add a test. + (Yasuhiro Matsumoto) +Files: src/message.c, src/testdir/test_startup.vim + +Patch 8.1.0970 +Problem: Text properties test fails when 'encoding' is not utf-8. +Solution: Compare with original value of 'encoding'. (Christian Brabandt, + closes #3986) +Files: src/testdir/runtest.vim, src/testdir/test_textprop.vim + +Patch 8.1.0971 +Problem: Failure for selecting quoted text object moves cursor. +Solution: Restore the Visual selection on failure. (Christian Brabandt, + closes #4024) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.0972 +Problem: Cannot switch from terminal window to next tabpage. +Solution: Make CTRL-W gt move to next tabpage. +Files: src/window.c, src/testdir/test_terminal.vim, + runtime/doc/terminal.txt + +Patch 8.1.0973 +Problem: Pattern with syntax error gives three error messages. (Kuang-che + Wu) +Solution: Remove outdated internal error. Don't fall back to other engine + after an error.(closes #4035) +Files: src/regexp_nfa.c, src/testdir/test_search.vim, src/regexp.c + +Patch 8.1.0974 +Problem: Cannot switch from terminal window to previous tabpage. +Solution: Make CTRL-W gT move to previous tabpage. +Files: src/window.c, src/testdir/test_terminal.vim, + runtime/doc/terminal.txt + +Patch 8.1.0975 +Problem: Using STRNCPY() wrongly. Warning for uninitialized variable. +Solution: Use mch_memmove(). Initialize variable. (Yasuhiro Matsumoto, + closes #3979) +Files: src/screen.c, src/textprop.c + +Patch 8.1.0976 +Problem: Dosinstall still has buffer overflow problems. +Solution: Adjust buffer sizes. (Yasuhiro Matsumoto, closes #4002) +Files: src/dosinst.c, src/dosinst.h, src/uninstal.c + +Patch 8.1.0977 +Problem: Blob not tested with Ruby. +Solution: Add more test coverage. Fixes a crash. (Dominique Pelle, + closes #4036) +Files: src/if_ruby.c, src/testdir/test_ruby.vim + +Patch 8.1.0978 +Problem: Blob not tested with Perl. +Solution: Add more test coverage. Fixes a crash. (Dominique Pelle, + closes #4037) +Files: src/if_perl.c, src/testdir/test_ruby.vim + +Patch 8.1.0979 +Problem: Compiler warning for unused functions. (Yasuhiro Matsumoto) +Solution: Adjust #ifdef. +Files: src/screen.c + +Patch 8.1.0980 +Problem: extend() insufficiently tested. +Solution: Add more tests. (Dominique Pelle, closes #4040) +Files: src/testdir/test_listdict.vim + +Patch 8.1.0981 +Problem: Pasting in terminal insufficiently tested. +Solution: Add more tests. (Dominique Pelle, closes #4040) +Files: src/testdir/test_terminal.vim + +Patch 8.1.0982 +Problem: update_cursor() called twice in :shell. +Solution: Remove one of the calls. (Yasuhiro Matsumoto, closes #4039) +Files: src/terminal.c + +Patch 8.1.0983 +Problem: Checking __CYGWIN32__ unnecessarily. +Solution: Remove the checks. (Ken Takata) +Files: src/evalfunc.c, src/os_unix.c, src/os_win32.c + +Patch 8.1.0984 +Problem: Unnecessary #ifdefs. +Solution: Remove the #ifdefs. (Ken Takata) +Files: src/winclip.c + +Patch 8.1.0985 +Problem: Crash with large number in regexp. (Kuang-che Wu) +Solution: Check for long becoming negative int. (closes #4042) +Files: src/regexp.c, src/testdir/test_search.vim + +Patch 8.1.0986 +Problem: rename() is not properly tested. +Solution: Add tests. (Dominique Pelle, closes #4061) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_rename.vim + +Patch 8.1.0987 +Problem: Unnecessary condition in #ifdef. +Solution: Remove using CYGWIN32. (Ken Takata) +Files: src/os_unix.h, src/xxd/xxd.c + +Patch 8.1.0988 +Problem: Deleting a location list buffer breaks location list window + functionality. +Solution: (Yegappan Lakshmanan, closes #4056) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.0989 +Problem: Various small code ugliness. +Solution: Remove pointless NULL checks. Fix function calls. Fix typos. + (Dominique Pelle, closes #4060) +Files: src/buffer.c, src/crypt.c, src/evalfunc.c, src/ex_cmds2.c, + src/globals.h, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/gui_mac.c, + src/ops.c, src/option.h, src/os_unix.c, src/os_win32.c, + src/popupmnu.c, src/regexp.c, src/ui.c, src/version.c + +Patch 8.1.0990 +Problem: Floating point exception with "%= 0" and "/= 0". +Solution: Avoid dividing by zero. (Dominique Pelle, closes #4058) +Files: src/eval.c, src/testdir/test_vimscript.vim + +Patch 8.1.0991 +Problem: Cannot build with FEAT_EVAL defined and FEAT_SEARCH_EXTRA + undefined, and with FEAT_DIFF defined and FEAT_EVAL undefined. +Solution: Add a couple of #ifdefs. (closes #4067) +Files: src/diff.c, src/search.c + +Patch 8.1.0992 +Problem: A :normal command while executing a register resets the + reg_executing() result. +Solution: Save and restore reg_executing. (closes #4066) +Files: src/ex_docmd.c, src/structs.h, src/testdir/test_functions.vim + +Patch 8.1.0993 +Problem: ch_read() may return garbage if terminating NL is missing. +Solution: Add terminating NUL. (Ozaki Kiichi, closes #4065) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.1.0994 +Problem: Relative cursor position is not calculated correctly. +Solution: Always set topline, also when window is one line only. + (Robert Webb) Add more info to getwininfo() for testing. +Files: src/window.c, src/evalfunc.c, runtime/doc/eval.txt, + src/testdir/test_window_cmd.vim + +Patch 8.1.0995 +Problem: A getchar() call while executing a register resets the + reg_executing() result. +Solution: Save and restore reg_executing. (closes #4066) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.1.0996 (after 8.1.0994) +Problem: A few screendump tests fail because of scrolling. +Solution: Update the screendumps. +Files: src/testdir/dumps/Test_incsearch_substitute_11.dump, + src/testdir/dumps/Test_incsearch_substitute_12.dump, + src/testdir/dumps/Test_incsearch_substitute_13.dump + +Patch 8.1.0997 +Problem: Using GUI colors in vim.exe when 'termguicolors' is off. +Solution: Add condition for 'termguicolors' set. (Ken Takata, closes #4078) +Files: src/os_win32.c + +Patch 8.1.0998 +Problem: getcurpos() unexpectedly changes "curswant". +Solution: Save and restore "curswant". (closes #4069) +Files: src/evalfunc.c, src/testdir/test_visual.vim + +Patch 8.1.0999 +Problem: Use register one too often and not properly tested. +Solution: Do not always use register one when specifying a register. + (closes #4085) Add more tests. +Files: src/ops.c, src/testdir/test_registers.vim + +Patch 8.1.1000 +Problem: Indenting is off. +Solution: Make indenting consistent and update comments. (Ozaki Kiichi, + closes #4079) +Files: src/getchar.c, src/ops.c + +Patch 8.1.1001 +Problem: Visual area not correct when using 'cursorline'. +Solution: Update w_last_cursorline also in Visual mode. (Hirohito Higashi, + closes #4086) +Files: src/screen.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_cursorline_with_visualmode_01.dump + +Patch 8.1.1002 +Problem: "gf" does not always work when URL has a port number. (Jakob + Schöttl) +Solution: When a URL is recognized also accept ":". (closes #4082) +Files: src/findfile.c, src/testdir/test_gf.vim + +Patch 8.1.1003 +Problem: Playing back recorded key sequence mistakes key code. +Solution: Insert a after the . (closes #4068) +Files: src/getchar.c, src/testdir/test_registers.vim + +Patch 8.1.1004 +Problem: Function "luaV_setref()" not covered with tests. +Solution: Add a test. (Dominique Pelle, closes #4089) +Files: src/testdir/test_lua.vim + +Patch 8.1.1005 (after 8.1.1003) +Problem: Test fails because t_F2 is not set. +Solution: Add try-catch. +Files: src/testdir/test_registers.vim + +Patch 8.1.1006 +Problem: Repeated code in quickfix support. +Solution: Move code to functions. (Yegappan Lakshmanan, closes #4091) +Files: src/quickfix.c + +Patch 8.1.1007 +Problem: Using closure may consume a lot of memory. +Solution: unreference items that are no longer needed. Add a test. (Ozaki + Kiichi, closes #3961) +Files: src/testdir/Make_all.mak, src/testdir/test_memory_usage.vim, + src/userfunc.c + +Patch 8.1.1008 +Problem: MS-Windows: HAVE_STDINT_H only defined for non-debug version. +Solution: Move definition of HAVE_STDINT_H up. (Taro Muraoka, closes #4109) +Files: src/Make_mvc.mak + +Patch 8.1.1009 +Problem: MS-Windows: some text is not baseline aligned. +Solution: Use bottom alignment. (Taro Muraoka, closes #4116, closes #1520) +Files: src/gui_dwrite.cpp + +Patch 8.1.1010 +Problem: Lua interface leaks memory. +Solution: Clear typeval after copying it. +Files: src/if_lua.c + +Patch 8.1.1011 +Problem: Indent from autoindent not removed from blank line. (Daniel Hahler) +Solution: Do not reset did_ai when text follows. (closes #4119) +Files: src/misc1.c, src/testdir/test_edit.vim + +Patch 8.1.1012 +Problem: Memory leak with E461. +Solution: Clear the typeval. (Dominique Pelle, closes #4111) +Files: src/eval.c + +Patch 8.1.1013 +Problem: MS-Windows: Scrolling fails when dividing the screen. +Solution: Position the cursor before calling ScrollConsoleScreenBuffer(). + (Nobuhiro Takasaki, closes #4115) +Files: src/os_win32.c + +Patch 8.1.1014 +Problem: MS-Windows: /analyze only defined for non-debug version. +Solution: Move adding of /analyze up. (Ken Takata, closes #4114) +Files: src/Make_mvc.mak + +Patch 8.1.1015 +Problem: Quickfix buffer shows up in list, can't get buffer number. +Solution: Make the quickfix buffer unlisted when the quickfix window is + closed. get the quickfix buffer number with getqflist(). + (Yegappan Lakshmanan, closes #4113) +Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim, src/window.c + +Patch 8.1.1016 +Problem: MS-Windows: No color in shell when using "!" in 'guioptions'. +Solution: Don't stop termcap when using a terminal window for the shell. + (Nobuhiro Takasaki, vim-jp, closes #4117) +Files: src/ex_cmds.c + +Patch 8.1.1017 +Problem: Off-by-one error in filetype detection. +Solution: Also check the last line of the file. +Files: runtime/autoload/dist/ft.vim + +Patch 8.1.1018 +Problem: Window cleared when entering Terminal-Normal twice. (Epheien) +Solution: Don't cleanup scrollback when there is no postponed scrollback. + (Christian Brabandt, closes #4126) +Files: src/terminal.c + +Patch 8.1.1019 +Problem: Lua: may garbage collect function reference in use. +Solution: Keep the function name instead of the typeval. Make luaV_setref() + handle funcref objects. (Ozaki Kiichi, closes #4127) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.1.1020 +Problem: Compiler warning for Python3 interface. +Solution: Add type cast. (Ozaki Kiichi, closes #4128, closes #4103) +Files: src/if_python3.c + +Patch 8.1.1021 +Problem: pyeval() and py3eval() leak memory. +Solution: Do not increase the reference count twice. (Ozaki Kiichi, + closes #4129) +Files: src/if_python.c, src/if_python3.c + +Patch 8.1.1022 +Problem: May use NULL pointer when out of memory. (Coverity) +Solution: Check for blob_alloc() returning NULL. +Files: src/blob.c + +Patch 8.1.1023 +Problem: May use NULL pointer when indexing a blob. (Coverity) +Solution: Break out of loop after using index on blob +Files: src/eval.c + +Patch 8.1.1024 +Problem: Stray log calls in terminal code. (Christian Brabandt) +Solution: Remove the calls. +Files: src/terminal.c + +Patch 8.1.1025 +Problem: Checking NULL pointer after addition. (Coverity) +Solution: First check for NULL, then add the column. +Files: src/regexp.c + +Patch 8.1.1026 +Problem: Unused condition. (Coverity) +Solution: Remove the condition. Also remove unused #define. +Files: src/move.c + +Patch 8.1.1027 +Problem: Memory usage test sometimes fails. +Solution: Use 80% of before.last as the lower limit. (Christian Brabandt) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1028 +Problem: MS-Windows: memory leak when creating terminal fails. +Solution: Free the command. (Ken Takata, closes #4138) +Files: src/os_win32.c + +Patch 8.1.1029 +Problem: DirectWrite doesn't take 'linespace' into account. +Solution: Include 'linespace' in the position. (Ken Takata, closes #4137) +Files: src/gui_dwrite.cpp, src/gui_w32.c + +Patch 8.1.1030 +Problem: Quickfix function arguments are inconsistent. +Solution: Pass a list pointer instead of info and index. (Yegappan + Lakshmanan, closes #4135) +Files: src/quickfix.c + +Patch 8.1.1031 +Problem: Memory usage test may still fail. +Solution: Drop the unused min value. (Christian Brabandt) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1032 +Problem: Warnings from clang static analyzer. (Yegappan Lakshmanan) +Solution: Fix relevant warnings. +Files: src/arabic.c, src/edit.c, src/eval.c, src/fileio.c, src/normal.c, + src/option.c, src/os_unix.c, src/regexp.c, src/screen.c, + src/channel.c, src/charset.c, src/message.c + +Patch 8.1.1033 +Problem: Memory usage test may still fail on some systems. (Elimar + Riesebieter) +Solution: Increase tolerance from 1% to 3%. +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1034 +Problem: Too many #ifdefs. +Solution: Merge FEAT_MOUSE_SGR into FEAT_MOUSE_XTERM / FEAT_MOUSE_TTY. +Files: src/evalfunc.c, src/misc2.c, src/os_unix.c, src/term.c, + src/version.c, src/feature.h + +Patch 8.1.1035 +Problem: prop_remove() second argument is not optional. +Solution: Fix argument count. Use "buf" instead of "curbuf". (closes #4147) +Files: src/evalfunc.c, src/testdir/test_textprop.vim, src/textprop.c + +Patch 8.1.1036 +Problem: Quickfix function arguments are inconsistent. +Solution: Pass a list pointer to more functions. (Yegappan Lakshmanan, + closes #4149) +Files: src/quickfix.c + +Patch 8.1.1037 +Problem: Memory usage test may still fail on some systems. +Solution: Increase tolerance from 3% to 20%. +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1038 +Problem: Arabic support excludes Farsi. +Solution: Add Farsi support to the Arabic support. (Ali Gholami Rudi, + Ameretat Reith) +Files: Filelist, src/arabic.c, src/arabic.h, src/globals.h, src/macros.h, + src/mbyte.c, src/proto/arabic.pro, src/proto/mbyte.pro, + src/Makefile, src/testdir/test_arabic.vim + +Patch 8.1.1039 +Problem: MS-Windows build fails. +Solution: Remove dependency on arabic.h +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms + +Patch 8.1.1040 +Problem: FEAT_TAG_ANYWHITE is not enabled in any build. +Solution: Remove the feature. +Files: src/feature.h, src/tag.c, src/evalfunc.c, src/version.c, + src/Make_vms.mms + +Patch 8.1.1041 +Problem: Test for Arabic no longer needed. +Solution: Remove the test for something that was intentionally left out. +Files: src/testdir/test_arabic.vim + +Patch 8.1.1042 +Problem: The paste test doesn't work properly in the Windows console. +Solution: Disable the test. +Files: src/testdir/test_paste.vim + +Patch 8.1.1043 +Problem: Lua interface does not support Blob. +Solution: Add support to Blob. (Ozaki Kiichi, closes #4151) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.1.1044 +Problem: No way to check the reference count of objects. +Solution: Add test_refcount(). (Ozaki Kiichi, closes #4124) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_vimscript.vim + +Patch 8.1.1045 +Problem: E315 ml_get error when using Python and hidden buffer. +Solution: Make sure the cursor position is valid. (Ben Jackson, + closes #4153, closes #4154) +Files: src/if_py_both.h, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.1.1046 +Problem: the "secure" variable is used inconsistently. (Justin M. Keyes) +Solution: Set it to one instead of incrementing. +Files: src/buffer.c, src/option.c + +Patch 8.1.1047 +Problem: WINCH signal is not tested. +Solution: Add a test. (Dominique Pelle, closes #4158) +Files: src/testdir/Make_all.mak, src/testdir/test_signals.vim + +Patch 8.1.1048 +Problem: Minor issues with tests. +Solution: Delete unused test OK file. Add missing entries in list of tests. + Fix readme file. (Masato Nishihata, closes #4160) +Files: src/testdir/test85.ok, src/testdir/Make_all.mak, + src/testdir/README.txt + +Patch 8.1.1049 +Problem: When user tries to exit with CTRL-C message is confusing. +Solution: Only mention ":qa!" when there is a changed buffer. (closes #4163) +Files: src/undo.c, src/proto/undo.pro, src/normal.c, + src/testdir/test_normal.vim + +Patch 8.1.1050 +Problem: Blank screen when DirectWrite failed. +Solution: Call redraw_later_clear() after recreating the Direct2D render + target. (Ken Takata, closes #4172) +Files: src/gui_dwrite.cpp + +Patch 8.1.1051 +Problem: Not all ways to switch terminal mode are tested. +Solution: Add more test cases. +Files: src/testdir/test_terminal.vim + +Patch 8.1.1052 +Problem: test for CTRL-C message sometimes fails +Solution: Make sure there are no changed buffers. +Files: src/testdir/test_normal.vim + +Patch 8.1.1053 +Problem: Warning for missing return statement. (Dominique Pelle) +Solution: Add return statement. +Files: src/undo.c + +Patch 8.1.1054 +Problem: Not checking return value of ga_grow(). (Coverity) +Solution: Only append when ga_grow() returns OK. +Files: src/if_lua.c + +Patch 8.1.1055 +Problem: CTRL-G U in Insert mode doesn't work to avoid splitting the undo + sequence for shift-left and shift-right. +Solution: Also check dont_sync_undo for shifted cursor keys. (Christian + Brabandt) +Files: src/edit.c, src/testdir/test_mapping.vim + +Patch 8.1.1056 +Problem: No eval function for Ruby. +Solution: Add rubyeval(). (Ozaki Kiichi, closes #4152) +Files: runtime/doc/eval.txt, runtime/doc/if_ruby.txt, src/evalfunc.c, + src/if_ruby.c, src/proto/if_ruby.pro, src/testdir/test_ruby.vim + +Patch 8.1.1057 +Problem: Nsis config is too complicated. +Solution: Use "File /r" for the macros and pack directories. (Ken Takata, + closes #4169) +Files: nsis/gvim.nsi + +Patch 8.1.1058 +Problem: Memory usage test may still fail on some systems. +Solution: Use 98% of the lower limit. (Christian Brabandt) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1059 +Problem: MS-Windows: PlatformId() is called unnecessarily. +Solution: Remove calls to PlatformId(). (Ken Takata, closes #4170) +Files: src/os_win32.c + +Patch 8.1.1060 +Problem: MS-Windows: get_cmd_args() is no longer needed, get_cmd_argsW() is + always used. +Solution: Remove get_cmd_args(). (Ken Takata, closes #4171) +Files: src/gui_w32.c, src/os_w32exe.c + +Patch 8.1.1061 +Problem: When substitute string throws error, substitute happens anyway. +Solution: Skip substitution when aborting. (closes #4161) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.1062 +Problem: Quickfix code is repeated. +Solution: Define FOR_ALL_QFL_ITEMS(). Move some code to separate functions. + (Yegappan Lakshmanan, closes #4166) +Files: src/quickfix.c + +Patch 8.1.1063 +Problem: Insufficient testing for wildmenu completion. +Solution: Extend the test case. (Dominique Pelle, closes #4182) +Files: src/testdir/test_cmdline.vim + +Patch 8.1.1064 +Problem: No test for output conversion in the GTK GUI. +Solution: Add a simplistic test. +Files: src/testdir/test_gui.vim + +Patch 8.1.1065 +Problem: No test for using and deleting menu in the GUI. +Solution: Add a test. +Files: src/testdir/test_gui.vim + +Patch 8.1.1066 +Problem: VIMDLL isn't actually used. +Solution: Remove VIMDLL support. +Files: src/gui_w32.c, src/main.c, src/os_w32exe.c, src/Make_bc5.mak, + src/os_w32dll.c + +Patch 8.1.1067 +Problem: Issues added on github are unstructured. +Solution: Add a bug and feature request template. (Ken Takata, closes #4183) +Files: .github/ISSUE_TEMPLATE/feature_request.md, + .github/ISSUE_TEMPLATE/bug_report.md + +Patch 8.1.1068 +Problem: Cannot get all the information about current completion. +Solution: Add complete_info(). (Shougo, Hirohito Higashi, closes #4106) +Files: runtime/doc/eval.txt, runtime/doc/insert.txt, + runtime/doc/usr_41.txt, src/edit.c, src/evalfunc.c, + src/proto/edit.pro, src/testdir/test_popup.vim + +Patch 8.1.1069 +Problem: Source README file doesn't look nice on github. +Solution: Turn it into markdown, still readable as plain text. + (WenxuanHuang, closes #4141) +Files: src/README.txt, src/README.md, Filelist + +Patch 8.1.1070 +Problem: Issue templates are not good enough. +Solution: Rephrase to anticipate unexperienced users. +Files: .github/ISSUE_TEMPLATE/feature_request.md, + .github/ISSUE_TEMPLATE/bug_report.md + +Patch 8.1.1071 +Problem: Cannot get composing characters from the screen. +Solution: Add screenchars() and screenstring(). (partly by Ozaki Kiichi, + closes #4059) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_utf8.vim, src/testdir/view_util.vim + +Patch 8.1.1072 +Problem: Extending sign and foldcolumn below the text is confusing. +Solution: Let the sign and foldcolumn stop at the last text line, just like + the line number column. Also stop the command line window leader. + (Christian Brabandt, closes #3964) +Files: src/screen.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_of_diff_01.dump, + src/testdir/dumps/Test_diff_01.dump, + src/testdir/dumps/Test_diff_02.dump, + src/testdir/dumps/Test_diff_03.dump, + src/testdir/dumps/Test_diff_04.dump, + src/testdir/dumps/Test_diff_05.dump, + src/testdir/dumps/Test_diff_06.dump, + src/testdir/dumps/Test_diff_06.0.dump, + src/testdir/dumps/Test_diff_06.1.dump, + src/testdir/dumps/Test_diff_06.2.dump, + src/testdir/dumps/Test_diff_10.dump, + src/testdir/dumps/Test_diff_11.dump, + src/testdir/dumps/Test_diff_12.dump, + src/testdir/dumps/Test_diff_13.dump, + src/testdir/dumps/Test_diff_14.dump, + src/testdir/dumps/Test_diff_15.dump, + src/testdir/dumps/Test_diff_16.dump, + src/testdir/dumps/Test_diff_17.dump, + src/testdir/dumps/Test_diff_18.dump, + src/testdir/dumps/Test_diff_19.dump, + src/testdir/dumps/Test_diff_20.dump, + src/testdir/dumps/Test_diff_with_cursorline_01.dump, + src/testdir/dumps/Test_diff_with_cursorline_02.dump, + src/testdir/dumps/Test_diff_with_cursorline_03.dump, + src/testdir/dumps/Test_folds_with_rnu_01.dump, + src/testdir/dumps/Test_folds_with_rnu_02.dump + +Patch 8.1.1073 +Problem: Space in number column is on wrong side with 'rightleft' set. +Solution: Move the space to the text side. Add a test. +Files: src/screen.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_of_diff_02.dump + +Patch 8.1.1074 +Problem: Python test doesn't wipe out hidden buffer. +Solution: Wipe out the buffer. (Ben Jackson, closes #4189) +Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.1.1075 +Problem: Function reference count wrong in Python code. +Solution: Use "O" instead of "N" for the arguments. (Ben Jackson, + closes #4188) +Files: src/if_py_both.h + +Patch 8.1.1076 +Problem: File for Insert mode is much too big. +Solution: Split off the code for Insert completion. (Yegappan Lakshmanan, + closes #4044) +Files: 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, + src/Make_vms.mms, src/Makefile, src/edit.c, src/evalfunc.c, + src/globals.h, src/insexpand.c, src/misc2.c, src/proto.h, + src/proto/edit.pro, src/proto/insexpand.pro, src/search.c, + src/spell.c, src/structs.h, src/tag.c, src/vim.h + +Patch 8.1.1077 +Problem: reg_executing() is reset by calling input(). +Solution: Implement a more generic way to save and restore reg_executing. + (Ozaki Kiichi, closes #4192) +Files: src/evalfunc.c, src/ex_docmd.c, src/testdir/test_functions.vim + +Patch 8.1.1078 +Problem: When 'listchars' is set a composing char on a space is wrong. +Solution: Separate handling a non-breaking space and a space. (Yasuhiro + Matsumoto, closes #4046) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.1079 +Problem: No need for a separate ScreenLinesUtf8() test function. +Solution: Get the composing characters with ScreenLines(). +Files: src/testdir/view_util.vim, src/testdir/test_listchars.vim, + src/testdir/test_utf8.vim + +Patch 8.1.1080 +Problem: When a screendump test fails, moving the file is a hassle. +Solution: Instead of appending ".failed" to the file name, keep the same + file name but put the screendump in the "failed" directory. + Then the file name only needs to be typed once when moving a + screendump. +Files: src/testdir/screendump.vim + +Patch 8.1.1081 +Problem: MS-Windows: cannot use fonts whose name cannot be represented in + the current code page. +Solution: Use wide font functions. (Ken Takata, closes #4000) +Files: src/gui_w32.c, src/os_mswin.c, src/proto/gui_w32.pro, + src/proto/os_mswin.pro + +Patch 8.1.1082 +Problem: "Conceal" match is mixed up with 'hlsearch' match. +Solution: Check that a match is found, not a 'hlsearch' item. (Andy + Massimino, closes #4073) +Files: src/screen.c + +Patch 8.1.1083 +Problem: MS-Windows: hang when opening a file on network share. +Solution: Avoid using FindFirstFile(), use GetLongPathNameW(). (Ken Takata, + closes #3923) +Files: src/os_win32.c + +Patch 8.1.1084 +Problem: Cannot delete a match from another window. (Paul Jolly) +Solution: Add window ID argument to matchdelete(), clearmatches(), + getmatches() and setmatches(). (Andy Massimino, closes #4178) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_match.vim + +Patch 8.1.1085 +Problem: Compiler warning for possibly uninitialized variable. (Tony + Mechelynck) +Solution: Make conditions more logical. +Files: src/arabic.c + +Patch 8.1.1086 +Problem: Too many curly braces. +Solution: Remove curly braces where they are not needed. (Hirohito Higashi, + closes #3982) +Files: src/autocmd.c, src/buffer.c, src/crypt_zip.c, src/dosinst.c, + src/edit.c, src/insexpand.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_getln.c, src/getchar.c, src/gui.c, + src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, + src/gui_w32.c, src/gui_x11.c, src/if_mzsch.c, src/if_python3.c, + src/if_ruby.c, src/if_tcl.c, src/indent.c, src/libvterm/src/pen.c, + src/macros.h, src/memline.c, src/menu.c, src/misc1.c, src/move.c, + src/netbeans.c, src/normal.c, src/ops.c, src/option.c, + src/os_mswin.c, src/os_qnx.c, src/os_unix.c, src/os_win32.c, + src/regexp_nfa.c, src/screen.c, src/spell.c, src/terminal.c + +Patch 8.1.1087 +Problem: tag stack is incorrect after CTRL-T and then :tag +Solution: Handle DT_TAG differently. (test by Andy Massimino, closes #3944, + closes #4177) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.1088 +Problem: Height of quickfix window not retained with vertical split. +Solution: Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu, + closes #4013, closes #2998) +Files: src/testdir/test_winbuf_close.vim, src/window.c + +Patch 8.1.1089 +Problem: Tutor does not check $LC_MESSAGES. +Solution: Let $LC_MESSAGES overrule $LANG. (Miklos Vajna, closes #4112) +Files: runtime/tutor/tutor.vim + +Patch 8.1.1090 +Problem: MS-Windows: modify_fname() has problems with some 'encoding'. +Solution: Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata, + closes #4007) +Files: src/eval.c + +Patch 8.1.1091 +Problem: MS-Windows: cannot use multibyte chars in environment var. +Solution: Use the wide API. (Ken Takata, closes #4008) +Files: src/misc1.c, src/testdir/test_let.vim + +Patch 8.1.1092 +Problem: Setting 'guifont' when maximized resizes the Vim window. When + 'guioptions' contains "k" gvim may open with a tiny window. +Solution: Avoid un-maximizing when setting 'guifont'. (Yee Cheng Chin, + closes #3808) +Files: src/gui.c + +Patch 8.1.1093 +Problem: Support for outdated tags format slows down tag parsing. +Solution: Remove FEAT_TAG_OLDSTATIC. +Files: runtime/doc/tagsrch.txt, src/feature.h, src/tag.c, src/version.c + +Patch 8.1.1094 +Problem: Long line in tags file causes error. +Solution: Check for overlong line earlier. (Andy Massimino, closes #4051, + closes #4084) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.1095 +Problem: MS-Windows: executable() fails on very long filename. +Solution: Use much bigger buffer. (Ken Takata, closes #4015) +Files: src/os_win32.c, src/testdir/test_functions.vim + +Patch 8.1.1096 +Problem: MS-Windows: cannot distinguish BS and CTRL-H. +Solution: Add code for VK_BACK. (Linwei, closes #1833) +Files: src/term.c, src/os_win32.c + +Patch 8.1.1097 (after 8.1.1092) +Problem: Motif build fails. (Paul Jolly) +Solution: Only use gui_mch_maximized() for MS-Windows. (closes #4194) +Files: src/gui.c + +Patch 8.1.1098 +Problem: Quickfix code duplication. +Solution: Refactor the qf_init_ext() function. (Yegappan Lakshmanan, + closes #4193) +Files: src/README.md, src/quickfix.c + +Patch 8.1.1099 +Problem: The do_tag() function is too long. +Solution: Factor parts out to separate functions. Move simplify_filename() + to a file where it fits better. (Andy Massimino, closes #4195) +Files: src/tag.c, src/proto/tag.pro, src/findfile.c, + src/proto/findfile.pro + +Patch 8.1.1100 +Problem: Tag file without trailing newline no longer works. (Marco Hinz) +Solution: Don't expect a newline at the end of the file. (closes #4200) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.1.1101 +Problem: Signals test may fail in the GUI. +Solution: Skip the test for the GUI. (Yee Checng Chin, closes #4202) +Files: src/testdir/test_signals.vim + +Patch 8.1.1102 +Problem: Win32 exe file contains unused code. +Solution: Remove unused #ifdefs and code. (Ken Takata, closes #4198) +Files: src/os_w32exe.c + +Patch 8.1.1103 +Problem: MS-Windows: old API calls are no longer needed. +Solution: Always use the wide functions. (Ken Takata, closes #4199) +Files: src/glbl_ime.cpp, src/globals.h, src/gui_w32.c, src/misc1.c, + src/os_mswin.c, src/os_win32.c, src/vim.h, + +Patch 8.1.1104 +Problem: MS-Windows: not all environment variables can be used. +Solution: Use the wide version of WinMain() and main(). (Ken Takata, + closes #4206) +Files: src/Make_cyg.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/main.c, src/os_w32exe.c + +Patch 8.1.1105 +Problem: Long escape sequences may be split up. +Solution: Assume escape sequences can be up to 80 bytes long. (Nobuhiro + Takasaki, closes #4196) +Files: src/term.c + +Patch 8.1.1106 +Problem: No test for 'writedelay'. +Solution: Add a test. +Files: src/testdir/test_options.vim + +Patch 8.1.1107 +Problem: No test for 'visualbell'. +Solution: Add a test. +Files: src/testdir/test_options.vim + +Patch 8.1.1108 +Problem: Test for 'visualbell' doesn't work. +Solution: Make 'belloff' empty. +Files: src/testdir/test_options.vim + +Patch 8.1.1109 +Problem: Deleted file still in list of distributed files. +Solution: Remove the src/os_w32dll.c entry. +Files: Filelist + +Patch 8.1.1110 +Problem: Composing chars on space wrong when 'listchars' is set. +Solution: Do not use "space" and "nbsp" entries of 'listchars' when there is + a composing character. (Yee Cheng Chin, closes #4197) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.1111 +Problem: It is not easy to check for infinity. +Solution: Add isinf(). (Ozaki Kiichi, closes #3787) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_float_func.vim + +Patch 8.1.1112 +Problem: Duplicate code in quickfix file. +Solution: Move code into functions. (Yegappan Lakshmanan, closes #4207) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.1113 +Problem: Making an autocommand trigger once is not so easy. +Solution: Add the ++once argument. Also add ++nested as an alias for + "nested". (Justin M. Keyes, closes #4100) +Files: runtime/doc/autocmd.txt, src/autocmd.c, + src/testdir/test_autocmd.vim, src/globals.h + +Patch 8.1.1114 +Problem: Confusing overloaded operator "." for string concatenation. +Solution: Add ".." for string concatenation. Also "let a ..= b". +Files: src/eval.c, src/testdir/test_eval_stuff.vim, runtime/doc/eval.txt + +Patch 8.1.1115 +Problem: Cannot build with older C compiler. +Solution: Move variable declaration to start of block. +Files: src/autocmd.c + +Patch 8.1.1116 +Problem: Cannot enforce a Vim script style. +Solution: Add the :scriptversion command. (idea by Yasuhiro Matsumoto, + closes #3857) +Files: runtime/doc/repeat.txt, runtime/doc/eval.txt, src/eval.c, + src/ex_cmds.h, src/evalfunc.c, src/ex_cmds2.c, + src/proto/ex_cmds2.pro, src/structs.h, src/buffer.c, src/main.c, + src/option.c, src/ex_cmdidxs.h, src/testdir/test_eval_stuff.vim + +Patch 8.1.1117 +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/ex_cmds2.c + +Patch 8.1.1118 +Problem: A couple of conditions are hard to understand. +Solution: Split the conditions into pieces. (Ozaki Kiichi, closes #3879) +Files: src/getchar.c, src/os_unix.c + +Patch 8.1.1119 +Problem: No support for Windows on ARM64. +Solution: Add ARM64 support (Leendert van Doorn) +Files: src/GvimExt/Makefile, src/Make_mvc.mak, src/dosinst.c, + src/xpm/arm64/lib-vc14/libXpm.lib, Filelist, src/INSTALLpc.txt + +Patch 8.1.1120 +Problem: Cannot easily get directory entry matches. +Solution: Add the readdir() function. (Yasuhiro Matsumoto, closes #2439) +Files: runtime/doc/eval.txt, src/eval.c, src/evalfunc.c, src/misc1.c, + src/proto/eval.pro, src/testdir/test_functions.vim + +Patch 8.1.1121 +Problem: Test for term_gettitle() was disabled. +Solution: Enable the test and bail out only when it doesn't work. (Dominique + Pelle, closes #3776) +Files: src/testdir/test_terminal.vim + +Patch 8.1.1122 +Problem: char2nr() does not handle composing characters. +Solution: Add str2list() and list2str(). (Ozaki Kiichi, closes #4190) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_utf8.vim + +Patch 8.1.1123 +Problem: No way to avoid filtering for autocomplete function, causing + flickering of the popup menu. +Solution: Add the "equal" field to complete items. (closes #3887) +Files: runtime/doc/insert.txt, src/insexpand.c, + src/testdir/test_popup.vim + +Patch 8.1.1124 +Problem: Insert completion flags are mixed up. +Solution: Clean up flags use of ins_compl_add() and cp_flags. +Files: src/insexpand.c, src/proto/insexpand.pro, src/search.c, src/spell.c + +Patch 8.1.1125 +Problem: Libvterm does not handle the window position report. +Solution: Let libvterm call the fallback CSI handler when not handling CSI + sequence. Handle the window position report in Vim. +Files: src/libvterm/src/state.c, src/terminal.c, src/ui.c, + src/proto/ui.pro, src/evalfunc.c, src/testdir/test_terminal.vim + +Patch 8.1.1126 +Problem: Build failure with +terminal but without tgetent. +Solution: Adjust #ifdef. +Files: src/ui.c + +Patch 8.1.1127 +Problem: getwinpos() doesn't work in terminal on MS-Windows console. +Solution: Adjust #ifdefs. Disable test for MS-Windows console. +Files: src/ui.c, src/term.c, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.1.1128 +Problem: getwinpos() test does not work on MS-Windows. +Solution: Skip the test. +Files: src/testdir/test_terminal.vim + +Patch 8.1.1129 +Problem: When making a new screendump test have to create the file. +Solution: Continue creating the failed screendump, so it can be moved once + it is correct. +Files: src/testdir/screendump.vim + +Patch 8.1.1130 +Problem: MS-Windows: warning for unused variable. +Solution: Remove the variable. +Files: src/evalfunc.c + +Patch 8.1.1131 +Problem: getwinpos() does not work in the MS-Windows console. +Solution: Implement getwinpos(). +Files: src/ui.c, src/evalfunc.c, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.1.1132 +Problem: getwinpos() test fails on MS-Windows. +Solution: Don't try running this test. +Files: src/testdir/test_terminal.vim + +Patch 8.1.1133 +Problem: Compiler warning for uninitialized struct member. (Yegappan + Lakshmanan) +Solution: Add initializer field. +Files: src/globals.h + +Patch 8.1.1134 +Problem: Buffer for quickfix window is reused for another file. +Solution: Don't reuse the quickfix buffer. (Yegappan Lakshmanan) +Files: src/buffer.c, src/testdir/test_quickfix.vim + +Patch 8.1.1135 (after 8.1.1134) +Problem: Build failure for small version. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/buffer.c + +Patch 8.1.1136 +Problem: Decoding of mouse click escape sequence is not tested. +Solution: Add a test for xterm and SGR using low-level input. Make + low-level input execution with feedkeys() work. +Files: src/testdir/test_termcodes.vim, src/testdir/Make_all.mak, + src/evalfunc.c, src/ex_docmd.c + +Patch 8.1.1137 +Problem: Xterm mouse wheel escape sequence is not tested. +Solution: Add a test using low-level input. (Dominique Pelle, closes #4221) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1138 +Problem: Plugins don't get notified when the popup menu changes. +Solution: Add the CompleteChanged event. (Qiming Zhao, Andy Massimino, + closes #4176) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/dict.c, + src/insexpand.c, src/popupmnu.c, src/proto/autocmd.pro, + src/proto/dict.pro, src/proto/popupmnu.pro, + src/testdir/test_popup.vim, src/vim.h + +Patch 8.1.1139 +Problem: No test for what is fixed in patch 8.1.0716. +Solution: Add a test. (Yasuhiro Matsumoto, closes #3797) +Files: src/testdir/test_ins_complete.vim + +Patch 8.1.1140 +Problem: Not easy to find out what neighbors a window has. +Solution: Add more arguments to winnr(). (Yegappan Lakshmanan, closes #3993) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/window.pro, + src/testdir/test_window_cmd.vim, src/window.c + +Patch 8.1.1141 +Problem: Terminal winpos test fails with very large terminal. (Dominique + Pelle) +Solution: Compute the expected size more accurately. (closes #4228) +Files: src/testdir/test_terminal.vim + +Patch 8.1.1142 +Problem: No test for dragging the window separators with the mouse. +Solution: Add a test. (Dominique Pelle, closes #4226) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1143 +Problem: May pass weird strings to file name expansion. +Solution: Check for matching characters. Disallow control characters. +Files: src/misc1.c, src/testdir/test_spell.vim, src/option.c, + src/proto/option.pro, src/spell.c, + src/testdir/test_escaped_glob.vim + +Patch 8.1.1144 (after 8.1.1143) +Problem: Too strict checking of the 'spellfile' option. +Solution: Allow for a path. +Files: src/option.c, src/testdir/test_spell.vim + +Patch 8.1.1145 +Problem: Compiler warning for unused function. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/option.c + +Patch 8.1.1146 +Problem: In MS-Windows console colors in a terminal window are wrong. +Solution: Use the ansi index also for 16 colors. (Ken Takata) +Files: src/terminal.c + +Patch 8.1.1147 +Problem: Desktop file translations are requiring manual updates. +Solution: Use the .po files for desktop file translations. (Christian + Brabandt) +Files: src/po/Makefile, src/po/gvim.desktop.in, src/po/vim.desktop.in, + CONTRIBUTING.md, Filelist, runtime/vim.desktop, + runtime/gvim.desktop + +Patch 8.1.1148 +Problem: CTRL-L with 'incsearch' does not pick up char under cursor. + (Smylers) +Solution: Do not compare the position with the cursor position. (Hirohito + Higashi, closes #3620) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.1149 +Problem: Building desktop files fails with older msgfmt. +Solution: Add autoconf check. Avoid always building the desktop files. +Files: src/configure.ac, src/auto/configure, src/po/Makefile, + src/po/Make_all.mak, src/config.mk.in + +Patch 8.1.1150 +Problem: Generating desktop files not tested on Travis. +Solution: Install a newer msgfmt package. (Christian Brabandt) +Files: .travis.yml + +Patch 8.1.1151 +Problem: Build fails when using shadow directory. +Solution: Link the desktop.in files. +Files: src/Makefile + +Patch 8.1.1152 +Problem: Compiler warning with VS2019. +Solution: Specify different offset for "AMD64". (Ken Takata, closes #4235) +Files: src/GvimExt/Makefile + +Patch 8.1.1153 +Problem: Msgfmt complains about missing LINGUAS file. (Tony Mechelynck) +Solution: Add command to generate LINGUAS. +Files: src/po/Makefile + +Patch 8.1.1154 +Problem: Getting a newer msgfmt on Travis is too complicated. +Solution: Use a "sourceline" entry. (Ozaki Kiichi, closes #4236) +Files: .travis.yml + +Patch 8.1.1155 +Problem: Termcodes tests can be improved. +Solution: Add helper functions to simplify tests. Dragging statusline for + xterm and sgr. (Dominique Pelle, closes #4237) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1156 +Problem: Unicode emoji and other image characters not recognized. +Solution: Add ranges for musical notation, game pieces, etc. (Martin + Tournoij, closes #4238) +Files: src/mbyte.c + +Patch 8.1.1157 +Problem: Unicode tables are out of date. +Solution: Update to Unicode 12. (Christian Brabandt, closes #4240) +Files: src/mbyte.c + +Patch 8.1.1158 +Problem: Json encoded string is sometimes missing the final NUL. +Solution: Add the NUL. Also for log messages. +Files: src/json.c, src/channel.c, src/testdir/test_json.vim + +Patch 8.1.1159 +Problem: MS-Windows: with a silent (un)install $VIM/_vimrc is removed. +Solution: Don't delete _vimrc in silent mode. (Ken Takata, closes #4242) +Files: nsis/gvim.nsi + +Patch 8.1.1160 +Problem: Termcodes test would fail in a very big terminal. +Solution: Bail out when the row is larger than what will work. (Dominique + Pelle, closes #4246) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1161 +Problem: Unreachable code. +Solution: Remove condition that will never be true. Add tests for all ANSI + colors. +Files: src/terminal.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.1.1162 +Problem: Incorrect coverage information; typo in color name. +Solution: Fix the typo. Set environment variables to have a nested Vim + write the coverage info in another directory. +Files: src/testdir/test_terminal.vim, src/testdir/screendump.vim, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.1.1163 +Problem: Codecov does not report all the coverage information. +Solution: Make a second run with the nested execution output, expect that + Codecov will merge the results. +Files: .travis.yml + +Patch 8.1.1164 +Problem: Gettitle test is failing when server name differs. (Kenta Sato) +Solution: Accept "VIM1" when 'autoservername' is used. (Dominique Pelle, + closes #4250, closes #4249) +Files: src/testdir/test_terminal.vim + +Patch 8.1.1165 +Problem: No test for mouse clicks in the terminal tabpage line. +Solution: Add a test. (Dominique Pelle, closes #4247). Also init + TabPageIdxs[], in case it's used before a redraw. +Files: src/screen.c, src/testdir/test_termcodes.vim + +Patch 8.1.1166 (after 8.1.1164) +Problem: Gettitle test can still fail when another Vim is running. +Solution: Accept any server name number. (Dominique Pelle, closes #4252) +Files: src/testdir/test_terminal.vim + +Patch 8.1.1167 +Problem: No test for closing tab by click in tabline. +Solution: Add a test. Also fix that dragging window separator could fail in + a large terminal. (Dominique Pelle, closes #4253) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1168 +Problem: Not all screen update code of the terminal window is executed in + tests. +Solution: Redraw before taking a screenshot. +Files: src/testdir/screendump.vim + +Patch 8.1.1169 +Problem: Writing coverage info in a separate dir is not needed. +Solution: Revert the changes to use a separate directory. +Files: .travis.yml, src/testdir/screendump.vim + +Patch 8.1.1170 +Problem: Terminal ANSI color test does not cover all colors. +Solution: Use the color number, the name is not always resulting in an ANSI + color when t_Co is 256. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.1.1171 +Problem: Statusline test could fail in large terminal. +Solution: Make the test work on a huge terminal. (Dominique Pelle, + closes #4255) +Files: src/testdir/test_statusline.vim + +Patch 8.1.1172 +Problem: Cursor properties were not fully tested. +Solution: Add a test. (Dominique Pelle, closes #4256) +Files: src/testdir/test_terminal.vim + +Patch 8.1.1173 +Problem: Suspend test has duplicated lines. +Solution: Use a function. +Files: src/testdir/test_suspend.vim + +Patch 8.1.1174 +Problem: Cannot build with Ruby 1.8. (Tom G. Christensen) +Solution: Include ruby/st.h. (Ozaki Kiichi, closes #4257) +Files: src/if_ruby.c + +Patch 8.1.1175 +Problem: No test for dragging a tab with the mouse and for creating a new + tab by double clicking in the tabline. +Solution: Add two tests. (Dominique Pelle, closes #4258) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1176 (after 8.1.1175) +Problem: Test for dragging a tab is flaky. +Solution: Add a brief sleep. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1177 +Problem: .ts files are recognized as xml, while typescript is more common. +Solution: Recognize .ts files as typescript. (closes #4264) +Files: runtime/filetype.vim src/testdir/test_filetype.vim + +Patch 8.1.1178 +Problem: When mouse click tests fails value of 'ttymouse' is unknown. +Solution: Add a message to the assert. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1179 +Problem: No test for mouse clicks in the fold column. +Solution: Add a test. (Dominique Pelle, closes #4261) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1180 +Problem: Vim script debugger tests are old style. +Solution: Turn into new style tests. (Yegappan Lakshmanan, closes #4259) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test108.in, src/testdir/test108.ok, + src/testdir/test_debugger.vim + +Patch 8.1.1181 +Problem: Tests for mouse clicks are a bit flaky when run in an interactive + terminal. +Solution: Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious + drag events. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1182 +Problem: Some function prototypes are outdated. +Solution: Update function prototypes. (Ken Takata, closes #4267) +Files: src/os_mswin.c, src/proto/ex_getln.pro, src/proto/gui_w32.pro, + src/terminal.c, src/proto/terminal.pro, src/proto/window.pro, + src/window.c + +Patch 8.1.1183 +Problem: Typos in VisVim comments. +Solution: Correct the typos. (Christ van Willegen) +Files: src/VisVim/Commands.cpp, src/VisVim/OleAut.cpp, + src/VisVim/README_VisVim.txt + +Patch 8.1.1184 +Problem: Undo file left behind after running test. +Solution: Delete the undo file. (Dominique Pelle, closes #4279) +Files: src/testdir/test_filechanged.vim + +Patch 8.1.1185 +Problem: Mapping for CTRL-X is inconsistent. +Solution: Map CTRL-X to "*d also for the MS-Windows console. (Ken Takata, + closes #4265) +Files: src/getchar.c + +Patch 8.1.1186 +Problem: readdir() allocates list twice. +Solution: Remove second allocation. Also check for zero length. +Files: src/evalfunc.c + +Patch 8.1.1187 +Problem: Cannot recognize Pipfile. +Solution: Use existing filetypes. (Charles Ross, closes #4280) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1188 +Problem: Not all Vim variables require the v: prefix. +Solution: When scriptversion is 3 all Vim variables can only be used with + the v: prefix. (Ken Takata, closes #4274) +Files: src/eval.c, src/ex_cmds2.c, src/testdir/test_eval_stuff.vim, + runtime/doc/eval.txt + +Patch 8.1.1189 +Problem: Mode is not cleared when leaving Insert mode. +Solution: Clear the mode when got_int is set. (Ozaki Kiichi, closes #4270) +Files: src/edit.c, src/testdir/test_bufline.vim, + src/testdir/test_messages.vim + +Patch 8.1.1190 +Problem: has('vimscript-3') does not work. +Solution: Add "vimscript-3" to the list of features. (partly by Ken Takata) +Files: src/evalfunc.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.1191 +Problem: Not all debug commands are covered by a test. +Solution: Add more tests. (Yegappan Lakshmanan, closes #4282) +Files: src/testdir/test_debugger.vim + +Patch 8.1.1192 +Problem: Mode is not cleared when leaving Insert mode with mapped Esc. +Solution: Clear the mode when redraw_cmdline is set. (closes #4269) +Files: src/globals.h, src/screen.c, src/testdir/test_messages.vim + +Patch 8.1.1193 +Problem: Typos and small problems in test files. +Solution: Small improvements. +Files: src/testdir/test_gn.vim, src/testdir/test_quotestar.vim, + src/testdir/test_registers.vim, src/testdir/test_syntax.vim, + src/testdir/test_tabpage.vim, src/testdir/test_vartabs.vim + +Patch 8.1.1194 +Problem: Typos and small problems in source files. +Solution: Small fixes. +Files: src/channel.c, src/crypt.c, src/edit.c, src/regexp.h, src/tag.c, + src/term.c, src/terminal.c, src/userfunc.c, src/installman.sh + +Patch 8.1.1195 +Problem: Vim script debugger functionality needs cleanup. +Solution: Move debugger code to a separate file. Add more tests. (Yegappan + Lakshmanan, closes #4285) +Files: 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, + src/Make_vms.mms, src/Makefile, src/debugger.c, src/ex_cmds2.c, + src/proto.h, src/proto/debugger.pro, src/proto/ex_cmds2.pro + +Patch 8.1.1196 +Problem: Parallel build may fail. +Solution: Update dependencies. +Files: src/Makefile + +Patch 8.1.1197 +Problem: When starting with multiple tabs file messages is confusing. +Solution: Set 'shortmess' when loading the other tabs. (Christian Brabandt) +Files: src/main.c, src/testdir/test_startup.vim, + src/testdir/dumps/Test_start_with_tabs.dump + +Patch 8.1.1198 +Problem: Bracketed paste may remain active after Vim exists, because the + terminal emulator restores the setting. +Solution: Set/reset bracketed paste mode before setting the terminal mode. + (closes #3579) +Files: src/term.c + + +Patch 8.1.1199 +Problem: No test for :abclear. +Solution: Add a test. (Dominique Pelle, closes #4292) +Files: src/testdir/test_mapping.vim + +Patch 8.1.1200 +Problem: Old style comments in debugger source. +Solution: Use new style comments. (Yegappan Lakshmanan, closes #4286) +Files: src/README.md, src/debugger.c + +Patch 8.1.1201 +Problem: Output of :command is hard to read. +Solution: Make some columns wider, some narrower. Truncate the command when + listing all. +Files: src/ex_docmd.c, src/message.c, src/proto/message.pro, + src/getchar.c, src/menu.c + +Patch 8.1.1202 +Problem: Always get regexp debugging logs when building with -DDEBUG. +Solution: By default do not create regexp debugging logs. (Ken Takata) +Files: src/regexp.c + +Patch 8.1.1203 +Problem: Some autocmd tests are old style. +Solution: Turn the tests into new style. (Yegappan Lakshmanan, closes #4295) +Files: src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms, + src/testdir/test11.in, src/testdir/test11.ok, + src/testdir/test_autocmd.vim + +Patch 8.1.1204 +Problem: Output of :command with address completion is not nice. +Solution: Shorten the address completion names. +Files: src/ex_docmd.c, runtime/doc/map.txt + +Patch 8.1.1205 +Problem: A BufReadPre autocommand may cause the cursor to move. +Solution: Restore the cursor position after executing the autocommand, + unless the autocommand moved it. (Christian Brabandt, + closes #4302, closes #4294) +Files: src/autocmd.c, src/proto/window.pro, src/structs.h, + src/testdir/test_autocmd.vim, src/window.c + +Patch 8.1.1206 +Problem: User command parsing and listing not properly tested. +Solution: Add more tests. (Dominique Pelle, closes #4296) +Files: src/testdir/test_usercommands.vim + +Patch 8.1.1207 +Problem: Some compilers give warning messages. +Solution: Initialize variables, change printf() argument. (Christian + Brabandt, closes #4305) +Files: src/eval.c, src/screen.c, src/undo.c, src/window.c + +Patch 8.1.1208 +Problem: Links to repository use wrong file name. +Solution: Swap the file names. (Nahuel Ourthe, closes #4304) +Files: src/README.md + +Patch 8.1.1209 +Problem: Clever compiler warns for buffer being too small. +Solution: Make the buffer bigger (even though it's not really needed). +Files: src/evalfunc.c, src/syntax.c + +Patch 8.1.1210 +Problem: Support for user commands is spread out. No good reason to make + user commands optional. +Solution: Move user command support to usercmd.c. Always enable the + user_commands feature. +Files: src/usercmd.c, src/proto/usercmd.pro, 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, src/Make_vms.mms, src/Makefile, src/README.md, + src/buffer.c, src/eval.c, src/evalfunc.c, src/ex_cmds.h, + src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_getln.c, + src/feature.h, src/macros.h, src/misc2.c, src/proto.h, + src/structs.h, src/version.c, runtime/doc/eval.txt, + runtime/doc/various.txt + +Patch 8.1.1211 +Problem: Not all user command code is tested. +Solution: Add more tests. +Files: src/testdir/test_usercommands.vim + +Patch 8.1.1212 +Problem: Signal PWR is not tested. +Solution: Test that PWR updates the swap file. (Dominique Pelle, + closes #4312) +Files: src/testdir/test_signals.vim + +Patch 8.1.1213 +Problem: "make clean" in top dir does not cleanup indent test output. +Solution: Clean the indent test output. Do not rely on the vim executable + for that. (closes #4307) +Files: Makefile, runtime/indent/Makefile, + runtime/indent/testdir/cleantest.vim + +Patch 8.1.1214 +Problem: Old style tests. +Solution: Move tests from test14 to new style test files. (Yegappan + Lakshmanan, closes #4308) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test14.in, src/testdir/test14.ok, + src/testdir/test_edit.vim, src/testdir/test_normal.vim, + src/testdir/test_search.vim, src/testdir/test_substitute.vim, + src/testdir/test_visual.vim + +Patch 8.1.1215 +Problem: "make clean" does not remove generated src/po files. +Solution: Remove the files for "make clean". (Christian Brabandt) +Files: src/po/Makefile + +Patch 8.1.1216 +Problem: Mouse middle click is not tested. +Solution: Add a test. (Dominique Pelle, closes #4310) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1217 +Problem: MS-Windows: no space reserved for font quality name. +Solution: Add quality_name length if present. (Ken Takata, closes #4311) +Files: src/gui_w32.c + +Patch 8.1.1218 +Problem: Cannot set a directory for a tab page. +Solution: Add the tab-local directory. (Yegappan Lakshmanan, closes #4212) +Files: runtime/doc/autocmd.txt, runtime/doc/editing.txt, + runtime/doc/eval.txt, runtime/doc/index.txt, + runtime/doc/options.txt, runtime/doc/usr_22.txt, + runtime/doc/usr_41.txt, src/eval.c, src/evalfunc.c, + src/ex_cmdidxs.h, src/ex_cmds.h, src/ex_docmd.c, src/if_py_both.h, + src/proto/eval.pro, src/proto/ex_docmd.pro, src/structs.h, + src/testdir/test_getcwd.vim, src/testdir/test_mksession.vim, + src/window.c + +Patch 8.1.1219 +Problem: Not checking for NULL return from alloc(). +Solution: Add checks. (Martin Kunev, closes #4303, closes #4174) +Files: src/beval.c, src/blowfish.c, src/crypt.c, src/crypt_zip.c, + src/ops.c, src/option.c, src/popupmnu.c, src/proto/blowfish.pro, + src/proto/crypt_zip.pro, src/gui_gtk_f.c, src/gui_gtk_x11.c, + src/libvterm/src/state.c, src/libvterm/src/termscreen.c + +Patch 8.1.1220 (after 8.1.1219) +Problem: Build fails on MS-Windows. +Solution: Move declaration to start of block. +Files: src/libvterm/src/state.c + +Patch 8.1.1221 +Problem: Filtering does not work when listing marks. +Solution: Implement filtering marks. (Marcin Szamotulski, closes #3895) +Files: runtime/doc/various.txt, src/mark.c, + src/testdir/test_filter_cmd.vim + +Patch 8.1.1222 (after 8.1.1219) +Problem: Build still fails on MS-Windows. +Solution: Move another declaration to start of block. +Files: src/libvterm/src/state.c + +Patch 8.1.1223 +Problem: Middle mouse click test fails without a clipboard. +Solution: Check if the clipboard can be used. (Dominique Pelle, Christian + Brabandt) Also use WorkingClipboard() instead of checking for the + "clipboard" feature. +Files: src/testdir/test_termcodes.vim, src/testdir/test_quotestar.vim + +Patch 8.1.1224 +Problem: MS-Windows: cannot specify font weight. +Solution: Add the "W" option to 'guifont'. (closes #4309) Move GUI font + explanation out of options.txt. +Files: runtime/doc/options.txt, runtime/doc/gui.txt, + runtime/doc/mbyte.txt, src/gui_w32.c, src/os_mswin.c + +Patch 8.1.1225 +Problem: Cannot create a pty to use with :terminal on FreeBSD. +Solution: Add support for posix_openpt(). (Ozaki Kiichi, closes #4306, + closes #4289) +Files: src/configure.ac, src/config.h.in, src/auto/configure, src/pty.c + +Patch 8.1.1226 +Problem: {not in Vi} remarks get in the way of useful help text. +Solution: Make a list of all Vi options, instead of mentioning what Vi does + not have. Update the help text for options. +Files: runtime/doc/vi_diff.txt, runtime/doc/options.txt + +Patch 8.1.1227 +Problem: Duplicate entries in the generated .desktop files. (Ralf Schandl) +Solution: Remove translated entries from the .in files. (closes #4313) +Files: src/po/gvim.desktop.in, src/po/vim.desktop.in + +Patch 8.1.1228 +Problem: Not possible to process tags with a function. +Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010) +Files: runtime/doc/options.txt, runtime/doc/tagsrch.txt, + runtime/optwin.vim, src/buffer.c, src/dict.c, src/ex_cmds.c, + src/globals.h, src/insexpand.c, src/normal.c, src/option.c, + src/option.h, src/proto/dict.pro, src/structs.h, src/tag.c, + src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_tagfunc.vim, src/vim.h, src/window.c + +Patch 8.1.1229 +Problem: Warning for posix_openpt() not declared. (Tony Mechelynck) +Solution: Add declaration. +Files: src/pty.c + +Patch 8.1.1230 +Problem: A lot of code is shared between vim.exe and gvim.exe. +Solution: Optionally put the shared code in vim.dll. (Ken Takata, + closes #4287) +Files: Filelist, nsis/gvim.nsi, runtime/doc/gui_w32.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/channel.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/feature.h, + src/fileio.c, src/getchar.c, src/globals.h, src/gui.c, src/gui.h, + src/gui_gtk_x11.c, src/gui_w32.c, src/if_mzsch.c, src/main.c, + src/mbyte.c, src/memline.c, src/message.c, src/misc2.c, + src/normal.c, src/option.c, src/os_mswin.c, src/os_w32dll.c, + src/os_w32exe.c, src/os_win32.c, src/os_win32.h, + src/proto/gui.pro, src/proto/gui_w32.pro, src/proto/misc2.pro, + src/proto/os_mswin.pro, src/proto/os_win32.pro, src/syntax.c, + src/term.c, src/terminal.c, src/ui.c, src/version.c, src/vim.rc + +Patch 8.1.1231 +Problem: Asking about existing swap file unnecessarily. +Solution: When it is safe, delete the swap file. Remove + HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237) +Files: src/memline.c, src/globals.h, src/buffer.c, src/ex_cmds.c, + src/fileio.c, src/main.c, src/testdir/test_swap.vim, + runtime/doc/usr_11.txt, src/os_win32.c, src/proto/os_win32.pro, + src/os_unix.c, src/proto/os_unix.pro + +Patch 8.1.1232 +Problem: Can't build on MS-Windows. +Solution: Define process_still_running. +Files: src/memline.c, src/os_win32.c, src/proto/os_win32.pro, + src/os_unix.c, src/proto/os_unix.pro + +Patch 8.1.1233 +Problem: Cannot build tiny version. +Solution: Remove #ifdef for verb_msg(). +Files: src/message.c + +Patch 8.1.1234 +Problem: Swap file test fails on MS-Windows. +Solution: Only compare the tail of the file names. +Files: src/testdir/test_swap.vim + +Patch 8.1.1235 +Problem: Compiler warnings for using STRLEN() value. +Solution: Cast to int. (Christian Brabandt, Mike Williams) +Files: src/tag.c + +Patch 8.1.1236 +Problem: sjiscorr.c not found in shadow directory. (Tony Mechelynck) +Solution: Link po/*.c files with "make shadow". +Files: src/Makefile + +Patch 8.1.1237 +Problem: Error for using "compl", reserved word in C++. +Solution: Rename to "complp". (suggestion by Ken Takata) +Files: src/usercmd.c, src/proto/usercmd.pro + +Patch 8.1.1238 +Problem: MS-Windows: compiler warning for sprintf() format. +Solution: Change %d to %ld. (Ken Takata) +Files: src/gui_w32.c + +Patch 8.1.1239 +Problem: Key with byte sequence containing CSI does not work. +Solution: Do not recognize CSI as special unless the GUI is active. (Ken + Takata, closes #4318) +Files: src/getchar.c + +Patch 8.1.1240 +Problem: Runtime desktop files are overwritten by build. (Tony Mechelynck) +Solution: Instead of copying the files find them with "make install". +Files: src/Makefile, src/po/Makefile + +Patch 8.1.1241 +Problem: Ex command info contains confusing information. +Solution: When using the NOTADR flag use ADDR_OTHER for the address type. + Cleanup code using NOTADR. Check for errors in + create_cmdidxs.vim. Adjust Makefile to see the errors. +Files: src/ex_cmds.h, src/ex_docmd.c, src/Makefile, + src/create_cmdidxs.vim, src/usercmd.c, src/ex_cmds.c, + src/window.c, src/testdir/test_usercommands.vim + +Patch 8.1.1242 +Problem: No cmdline redraw when tabpages have different 'cmdheight'. +Solution: redraw the command line when 'cmdheight' changes when switching + tabpages. (closes #4321) +Files: src/testdir/test_tabpage.vim, src/window.c, + src/testdir/dumps/Test_tabpage_cmdheight.dump, + src/testdir/screendump.vim + +Patch 8.1.1243 (after 8.1.1241) +Problem: Compiler warnings for incomplete switch statement. (Tony + Mechelynck) +Solution: Add ADDR_QUICKFIX to the list. +Files: src/ex_docmd.c + +Patch 8.1.1244 +Problem: No tests for CTRL-mouse-click. +Solution: Add a few tests. (Dominique Pelle, closes #4323) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1245 +Problem: ":copen 10" sets height in full-height window. (Daniel Hahler) +Solution: Don't set the height if the quickfix window is full height. + (closes #4325) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.1246 +Problem: Cannot handle negative mouse coordinate from urxvt. +Solution: Accept '-' where a digit is expected. (Vincent Vinel, + closes #4326) +Files: src/term.c + +Patch 8.1.1247 +Problem: Urxvt mouse codes are not tested. +Solution: Also set 'ttymouse' to "urxvt" in the termcodes test. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1248 +Problem: No test for dec mouse. +Solution: Add some tests for dec mouse. Add "no_query_mouse". +Files: src/evalfunc.c, src/globals.h, src/os_unix.c, + src/testdir/test_termcodes.vim, runtime/doc/eval.txt + +Patch 8.1.1249 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize it. (Christian Brabandt) +Files: src/regexp_nfa.c + +Patch 8.1.1250 +Problem: No test for netterm mouse. +Solution: Add some tests for netterm mouse. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1251 +Problem: No test for completion of mapping keys. +Solution: Add a test. Also clean up the code. +Files: src/getchar.c, src/term.c, src/proto/term.pro, + src/testdir/test_cmdline.vim + +Patch 8.1.1252 +Problem: Not all mapping completion is tested. +Solution: Add a few more mapping completion tests. +Files: src/testdir/test_cmdline.vim + +Patch 8.1.1253 (after 8.1.1252) +Problem: Mapping completion test fails. +Solution: Fix expected output. +Files: src/testdir/test_cmdline.vim + +Patch 8.1.1254 +Problem: Mapping completion contains dead code. +Solution: Remove the code. +Files: src/term.c, src/testdir/test_cmdline.vim + +Patch 8.1.1255 +Problem: Building desktop files fails on FreeBSD. (Adam Weinberger) +Solution: Avoid using non-portable construct in Makefile. (closes #4332) +Files: src/po/Makefile + +Patch 8.1.1256 +Problem: Cannot navigate through errors relative to the cursor. +Solution: Add :cabove, :cbelow, :labove and :lbelow. (Yegappan Lakshmanan, + closes #4316) +Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmdidxs.h, + src/ex_cmds.h, src/ex_docmd.c, src/proto/quickfix.pro, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.1257 +Problem: MSVC: name of object directory not always right. +Solution: Adjust comment. Don't use different directory for DIRECTX. Do + use different directory for USE_MSVCRT. (Ken Takata, closes #4333) +Files: src/Make_mvc.mak + +Patch 8.1.1258 +Problem: The "N files to edit" message can not be suppressed. +Solution: Suppress the message with --not-a-term. (closes #4320) +Files: src/main.c + +Patch 8.1.1259 +Problem: Crash when exiting early. (Ralf Schandl) +Solution: Only pop/push the title when it was set. (closes #4334) +Files: src/os_unix.c, src/misc2.c, src/usercmd.c, src/tag.c + +Patch 8.1.1260 +Problem: Comparing with pointer instead of value. +Solution: Add a "*". (Ken Takata, closes #4336) +Files: src/usercmd.c + +Patch 8.1.1261 +Problem: No error for quickfix commands with negative range. +Solution: Add ADDR_UNSIGNED and use it for quickfix commands. Make + assert_fails() show the command if the error doesn't match. +Files: src/ex_cmds.h, src/ex_docmd.c, src/testdir/test_quickfix.vim, + runtime/doc/quickfix.txt, src/eval.c, src/quickfix.c, + src/proto/quickfix.pro, src/ex_cmds2.c + +Patch 8.1.1262 +Problem: Cannot simulate a mouse click in a test. +Solution: Add test_setmouse(). +Files: src/evalfunc.c, runtime/doc/eval.txt, runtime/doc/usr_41.txt + +Patch 8.1.1263 +Problem: Mouse clicks in WinBar not tested. +Solution: Add a test for clicking on the WinBar entries. +Files: src/testdir/test_winbar.vim + +Patch 8.1.1264 +Problem: Crash when closing window from WinBar click. (Ben Jackson) +Solution: Check that window pointer is still valid. (closes #4337) +Files: src/menu.c + +Patch 8.1.1265 +Problem: When GPM mouse support is enabled double clicks in xterm do not + work. +Solution: Use KS_GPM_MOUSE for GPM mouse events. +Files: src/term.c, src/os_unix.c, src/keymap.h + +Patch 8.1.1266 +Problem: Winbar test doesn't test enough. +Solution: Check that the WinBar actually shows up. Correct check for clicks + with no effect. (Ben Jackson, closes #4338) +Files: src/testdir/test_winbar.vim + +Patch 8.1.1267 +Problem: Cannot check if GPM mouse support is working. +Solution: Add the "mouse_gpm_enable" feature. +Files: src/evalfunc.c, src/os_unix.c, src/proto/os_unix.pro, + runtime/doc/eval.txt + +Patch 8.1.1268 +Problem: Map completion test fails in GUI. +Solution: Skip the test that fails. +Files: src/testdir/test_cmdline.vim + +Patch 8.1.1269 +Problem: MS-Windows GUI: multibyte chars with a 0x80 byte do not work when + compiled with VIMDLL. +Solution: Adjust the condition for fixing the input buffer. (Ken Takata, + closes #4330) +Files: src/getchar.c + +Patch 8.1.1270 +Problem: Cannot see current match position. +Solution: Show "3/44" when using the "n" command and "S" is not in + 'shortmess'. (Christian Brabandt, closes #4317) +Files: runtime/doc/options.txt, runtime/doc/pattern.txt, src/option.c, + src/option.h, src/search.c, src/testdir/Make_all.mak, + src/testdir/test_search_stat.vim + +Patch 8.1.1271 (after 8.1.1270) +Problem: Compiler warnings for use of STRNCPY(). (John Marriott) +Solution: Use mch_memmove() instead of STRNCPY(). +Files: src/search.c + +Patch 8.1.1272 +Problem: Click on WinBar of other window not tested. +Solution: Add a test case. +Files: src/testdir/test_winbar.vim + +Patch 8.1.1273 +Problem: Compiler warning in direct write code. +Solution: Add a type cast. +Files: src/gui_dwrite.cpp + +Patch 8.1.1274 +Problem: After :unmenu can still execute the menu with :emenu. +Solution: Do not execute a menu that was disabled for the specified mode. +Files: src/menu.c, src/testdir/test_menu.vim + +Patch 8.1.1275 +Problem: Cannot navigate to errors before/after the cursor. +Solution: Add the :cbefore and :cafter commands. (Yegappan Lakshmanan, + closes #4340) +Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmdidxs.h, + src/ex_cmds.h, src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.1276 +Problem: Cannot combine text properties with syntax highlighting. +Solution: Add the "combine" field to prop_type_add(). (closes #4343) +Files: runtime/doc/eval.txt, runtime/doc/textprop.txt, src/screen.c, + src/structs.h, src/testdir/test_textprop.vim + +Patch 8.1.1277 (after 8.1.1276) +Problem: Missing screenshot update. +Solution: Update the screenshot. +Files: src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.1278 (after 8.1.1276) +Problem: Missing change for "combine" field. +Solution: Also change the textprop implementation. +Files: src/textprop.c + +Patch 8.1.1279 +Problem: Cannot set 'spelllang' to "sr@latin". (Bojan Stipic) +Solution: Allow using '@' in 'spelllang'. (closes #4342) +Files: src/option.c, src/testdir/gen_opt_test.vim + +Patch 8.1.1280 +Problem: Remarks about functionality not in Vi clutters the help. +Solution: Move all info about what is new in Vim or already existed in Vi to + vi_diff.txt. Remove {not in Vi} remarks. (closes #4268) Add + "noet" to the help files modeline. Also include many other help + file improvements. +Files: runtime/doc/vi_diff.txt, runtime/doc/arabic.txt, + runtime/doc/autocmd.txt, runtime/doc/change.txt, + runtime/doc/channel.txt, runtime/doc/cmdline.txt, + runtime/doc/debugger.txt, runtime/doc/debug.txt, + runtime/doc/develop.txt, runtime/doc/diff.txt, + runtime/doc/digraph.txt, runtime/doc/editing.txt, + runtime/doc/eval.txt, runtime/doc/farsi.txt, + runtime/doc/filetype.txt, runtime/doc/fold.txt, + runtime/doc/ft_ada.txt, runtime/doc/ft_rust.txt, + runtime/doc/ft_sql.txt, runtime/doc/gui.txt, + runtime/doc/gui_w32.txt, runtime/doc/gui_x11.txt, + runtime/doc/hangulin.txt, runtime/doc/hebrew.txt, + runtime/doc/helphelp.txt, runtime/doc/help.txt, + runtime/doc/howto.txt, runtime/doc/if_cscop.txt, + runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, + runtime/doc/if_ole.txt, runtime/doc/if_perl.txt, + runtime/doc/if_pyth.txt, runtime/doc/if_ruby.txt, + runtime/doc/if_sniff.txt, runtime/doc/if_tcl.txt, + runtime/doc/indent.txt, runtime/doc/index.txt, + runtime/doc/insert.txt, runtime/doc/intro.txt, + runtime/doc/map.txt, runtime/doc/mbyte.txt, + runtime/doc/message.txt, runtime/doc/mlang.txt, + runtime/doc/motion.txt, runtime/doc/netbeans.txt, + runtime/doc/options.txt, runtime/doc/os_390.txt, + runtime/doc/os_amiga.txt, runtime/doc/os_beos.txt, + runtime/doc/os_dos.txt, runtime/doc/os_mac.txt, + runtime/doc/os_mint.txt, runtime/doc/os_msdos.txt, + runtime/doc/os_os2.txt, runtime/doc/os_qnx.txt, + runtime/doc/os_risc.txt, runtime/doc/os_unix.txt, + runtime/doc/os_vms.txt, runtime/doc/os_win32.txt, + runtime/doc/pattern.txt, runtime/doc/pi_getscript.txt, + runtime/doc/pi_gzip.txt, runtime/doc/pi_logipat.txt, + runtime/doc/pi_netrw.txt, runtime/doc/pi_paren.txt, + runtime/doc/pi_spec.txt, runtime/doc/pi_tar.txt, + runtime/doc/pi_vimball.txt, runtime/doc/pi_zip.txt, + runtime/doc/print.txt, runtime/doc/quickfix.txt, + runtime/doc/quickref.txt, runtime/doc/quotes.txt, + runtime/doc/recover.txt, runtime/doc/remote.txt, + runtime/doc/repeat.txt, runtime/doc/rileft.txt, + runtime/doc/russian.txt, runtime/doc/scroll.txt, + runtime/doc/sign.txt, runtime/doc/spell.txt, + runtime/doc/sponsor.txt, runtime/doc/starting.txt, + runtime/doc/syntax.txt, runtime/doc/tabpage.txt, + runtime/doc/tagsrch.txt, runtime/doc/terminal.txt, + runtime/doc/term.txt, runtime/doc/textprop.txt, + runtime/doc/tips.txt, runtime/doc/todo.txt, + runtime/doc/uganda.txt, runtime/doc/undo.txt, + runtime/doc/usr_01.txt, runtime/doc/usr_02.txt, + runtime/doc/usr_03.txt, runtime/doc/usr_04.txt, + runtime/doc/usr_05.txt, runtime/doc/usr_06.txt, + runtime/doc/usr_07.txt, runtime/doc/usr_08.txt, + runtime/doc/usr_09.txt, runtime/doc/usr_10.txt, + runtime/doc/usr_11.txt, runtime/doc/usr_12.txt, + runtime/doc/usr_20.txt, runtime/doc/usr_21.txt, + runtime/doc/usr_22.txt, runtime/doc/usr_23.txt, + runtime/doc/usr_24.txt, runtime/doc/usr_25.txt, + runtime/doc/usr_26.txt, runtime/doc/usr_27.txt, + runtime/doc/usr_28.txt, runtime/doc/usr_29.txt, + runtime/doc/usr_30.txt, runtime/doc/usr_31.txt, + runtime/doc/usr_32.txt, runtime/doc/usr_40.txt, + runtime/doc/usr_41.txt, runtime/doc/usr_43.txt, + runtime/doc/usr_44.txt, runtime/doc/usr_45.txt, + runtime/doc/usr_90.txt, runtime/doc/usr_toc.txt, + runtime/doc/various.txt, runtime/doc/version4.txt, + runtime/doc/version5.txt, runtime/doc/version6.txt, + runtime/doc/version7.txt, runtime/doc/version8.txt, + runtime/doc/visual.txt, runtime/doc/windows.txt, runtime/doc/tags + +Patch 8.1.1281 +Problem: Cannot specify a count with :chistory. +Solution: Add a count to :chistory and :lhistory. (Yegappan Lakshmanan, + closes #4344) +Files: runtime/doc/quickfix.txt, src/ex_cmds.h, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.1.1282 +Problem: Running make in src/po leaves LINGUAS file behind. (Ken Takata) +Solution: Delete LINGUAS after running msgfmt. +Files: src/po/Makefile + +Patch 8.1.1283 +Problem: Delaying half a second after the top-bot message. +Solution: Instead of the delay add "W" to the search count. +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1284 +Problem: Detecting *.tmpl as htmlcheetah is outdated. +Solution: Use the generic name "template". (closes #4348) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1285 +Problem: Test17 is old style. +Solution: Turn into new style test. (Yegappan Lakshmanan, closes #4347) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test17.in, src/testdir/test17.ok, + src/testdir/test17a.in, src/testdir/test_checkpath.vim, + src/testdir/test_gf.vim + +Patch 8.1.1286 +Problem: Running tests leaves XTest_tabpage_cmdheight file behind. +Solution: Delete the right file. (closes #4350) +Files: src/testdir/test_tabpage.vim + +Patch 8.1.1287 +Problem: Cannot build with +eval but without +mouse. +Solution: Add #ifdefs around f_test_setmouse(). (John Marriott) +Files: src/evalfunc.c + +Patch 8.1.1288 +Problem: Search stats don't show for mapped command. +Solution: Remove SEARCH_PEEK from searchit flags. Add a test. (Christian + Brabandt) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1289 +Problem: May not have enough space to add "W" to search stats. +Solution: Reserve a bit more space. (Christian Brabandt) +Files: src/search.c + +Patch 8.1.1290 +Problem: .hgignore and .gitignore are either distributed or in git, not + both. +Solution: Add .gitignore to the distribution and .hgignore to git. Update + the entries. (Christian Brabandt, Ken Takata) +Files: .gitignore, .hgignore, Filelist + +Patch 8.1.1291 +Problem: Not easy to change directory and restore. +Solution: Add the chdir() function. (Yegappan Lakshmanan, closes #4358) +Files: runtime/doc/eval.txt, runtime/doc/todo.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/ex_docmd.c, + src/if_py_both.h, src/proto/ex_docmd.pro, src/structs.h, + src/testdir/test_cd.vim + +Patch 8.1.1292 +Problem: Invalid command line arguments not tested. +Solution: Add a test. (Dominique Pelle, closes #4346) +Files: src/testdir/test_startup.vim + +Patch 8.1.1293 +Problem: MSVC files are no longer useful for debugging. Newer Visual + Studio versions cannot read them. +Solution: Delete the files. (Ken Takata, closes #4357) +Files: Filelist, src/Make_dvc.mak, src/Make_ivc.mak, + runtime/doc/debug.txt, src/INSTALLpc.txt, src/Make_mvc.mak + +Patch 8.1.1294 +Problem: MS-Windows: Some fonts return wrong average char width. +Solution: Compute the average ourselves. (Ken Takata, closes #4356) +Files: src/gui_w32.c + +Patch 8.1.1295 +Problem: When vimrun.exe does not exist external command may fail. +Solution: Use "cmd /c" twice to get the same behavior. (Ken Takata, + closes #4355) +Files: src/os_win32.c + +Patch 8.1.1296 +Problem: Crash when using invalid command line argument. +Solution: Check for options not being initialized. +Files: src/term.c, src/testdir/test_startup.vim + +Patch 8.1.1297 +Problem: Invalid argument test fails without GTK. +Solution: Test -display and --display separately. +Files: src/testdir/test_startup.vim + +Patch 8.1.1298 +Problem: Invalid argument test fails without X clipboard. +Solution: Test -display only with the +xterm_clipboard feature. +Files: src/testdir/test_startup.vim + +Patch 8.1.1299 +Problem: "extends" from 'listchars' is used when 'list' is off. (Hiroyuki + Yoshinaga) +Solution: Only use the "extends" character when 'list' is on. (Hirohito + Higashi, closes #4360) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.1300 +Problem: In a terminal 'ballooneval' does not work right away. +Solution: Flush output after drawing the balloon. Add the key + code. Add a test. +Files: src/ex_cmds2.c, src/testdir/test_balloon.vim, src/misc2.c, + src/testdir/Make_all.mak, + src/testdir/dumps/Test_balloon_eval_term_01.dump + +Patch 8.1.1301 +Problem: When compiled with VIMDLL some messages are not shown. +Solution: Set/reset gui.in_use and gui.starting as needed. (Ken Takata, + closes #4361) +Files: src/gui_w32.c, src/main.c, src/message.c + +Patch 8.1.1302 +Problem: v:beval_text is not tested in Visual mode. +Solution: Add a screenshot of the balloon in Visual mode. +Files: src/testdir/test_balloon.vim, src/normal.c, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump + +Patch 8.1.1303 +Problem: Not possible to hide a balloon. +Solution: Hide the balloon when balloon_show() is called with an empty + string or list. Add balloon_gettext(). +Files: src/evalfunc.c, src/popupmnu.c, src/gui_beval.c, src/gui_w32.c, + src/beval.h, src/testdir/test_balloon.vim, runtime/doc/eval.txt + +Patch 8.1.1304 +Problem: MS-Windows: compiler warning for unused value. +Solution: Adjust #ifdefs. (Ken Takata, closes #4363) +Files: src/gui.c + +Patch 8.1.1305 +Problem: There is no easy way to manipulate environment variables. +Solution: Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto, + closes #2875) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/Make_all.mak, src/testdir/test_environ.vim + +Patch 8.1.1306 +Problem: Borland support is outdated and doesn't work. +Solution: Remove Borland support, there are other (free) compilers + available. (Thomas Dziedzic, Ken Takata, closes #4364) +Files: .gitignore, .hgignore, Filelist, runtime/doc/debug.txt, + runtime/doc/develop.txt, runtime/doc/usr_90.txt, + src/GvimExt/Make_bc5.mak, src/GvimExt/gvimext.cpp, + src/GvimExt/gvimext.rc, src/INSTALLpc.txt, src/Make_bc5.mak, + src/dosinst.c, src/dosinst.h, src/evalfunc.c, src/ex_cmds.c, + src/ex_getln.c, src/gui_w32.c, src/if_ole.cpp, src/if_py_both.h, + src/main.c, src/mark.c, src/message.c, src/misc1.c, src/misc2.c, + src/normal.c, src/option.c, src/os_mswin.c, src/os_w32exe.c, + src/os_win32.c, src/os_win32.h, src/proto.h, src/screen.c, + src/spell.c, src/spellfile.c, src/syntax.c, src/userfunc.c, + src/vim.h, src/vim.rc, src/vimrun.c, src/xxd/Make_bc5.mak, + src/xxd/xxd.c + +Patch 8.1.1307 +Problem: Cannot reconnect to the X server after it restarted. +Solution: Add the :xrestore command. (Adrian Kocis, closes #844) +Files: runtime/doc/index.txt, runtime/doc/various.txt, src/os_unix.c, + src/proto/os_unix.pro, src/globals.h, src/ex_cmds.h, + src/ex_cmdidxs.h, src/ex_docmd.c, src/testdir/test_paste.vim + +Patch 8.1.1308 +Problem: The Normal highlight is not defined when compiled with GUI. +Solution: Always define Normal. (Christian Brabandt, closes #4072) +Files: runtime/doc/syntax.txt, src/syntax.c, + src/testdir/test_highlight.vim + +Patch 8.1.1309 (after 8.1.1308) +Problem: Test for Normal highlight fails on MS-Windows GUI. +Solution: Skip the test for MS-Windows GUI. +Files: src/testdir/test_highlight.vim + +Patch 8.1.1310 +Problem: Named function arguments are never optional. +Solution: Support optional function arguments with a default value. (Andy + Massimino, closes #3952) +Files: runtime/doc/eval.txt, src/structs.h, + src/testdir/test_user_func.vim, src/userfunc.c + +Patch 8.1.1311 +Problem: Aborting an autocmd with an exception is not tested. +Solution: Add a test. Also shows how to abort a command by throwing an + exception. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.1312 +Problem: Coverity warning for using uninitialized variable. +Solution: Clear exarg_T. +Files: src/quickfix.c, src/channel.c, src/ex_cmds2.c + +Patch 8.1.1313 +Problem: Warnings for using localtime() and ctime(). +Solution: Use localtime_r() if available. Avoid using ctime(). +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/evalfunc.c, src/nbdebug.c, src/undo.c, src/memline.c, + src/proto/memline.pro, src/hardcopy.c + +Patch 8.1.1314 +Problem: MSVC makefile is not nicely indented. +Solution: Adjust spaces in preprocessor directives. (Ken Takata) +Files: src/Make_mvc.mak + +Patch 8.1.1315 +Problem: There is always a delay if a termrequest is never answered. +Solution: When the response is not received within two seconds consider the + request to have failed. +Files: src/term.c + +Patch 8.1.1316 +Problem: Duplicated localtime() call. +Solution: Delete one. +Files: src/undo.c + +Patch 8.1.1317 +Problem: Output from Travis can be improved. +Solution: Add section headers. Handle errors better. (Ozaki Kiichi, + closes #4098) +Files: .travis.yml, configure + +Patch 8.1.1318 +Problem: Code for text changes is in a "misc" file. +Solution: Move the code to change.c. +Files: src/misc1.c, src/proto/misc1.pro, src/change.c, + src/proto/change.pro, src/proto.h, src/memline.c, Filelist, + src/Make_cyg_ming.mak, src/Make_dice.mak, src/Make_manx.mak, + src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak, + src/Make_vms.mms, src/Makefile, src/README.md + +Patch 8.1.1319 +Problem: Computing function length name in many places. +Solution: compute name length in call_func(). +Files: src/eval.c, src/userfunc.c, src/channel.c, src/evalfunc.c, + src/ex_cmds2.c, src/regexp.c, src/terminal.c + +Patch 8.1.1320 +Problem: It is not possible to track changes to a buffer. +Solution: Add listener_add() and listener_remove(). No docs or tests yet. +Files: src/structs.h, src/change.c, src/proto/change.pro + +Patch 8.1.1321 +Problem: No docs or tests for listener functions. +Solution: Add help and tests for listener_add() and listener_remove(). + Invoke the callbacks before redrawing. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, + src/testdir/test_listener.vim, src/testdir/Make_all.mak, + src/change.c, src/screen.c, src/evalfunc.c, src/proto/evalfunc.pro + +Patch 8.1.1322 +Problem: Cygwin makefile is not nicely indented. +Solution: Adjust spaces in preprocessor directives. (Ken Takata) +Files: src/Make_cyg_ming.mak + +Patch 8.1.1323 +Problem: 'mouse' option is reset when using GPM mouse. +Solution: Add flag for GPM mouse. +Files: src/term.c + +Patch 8.1.1324 +Problem: Stray comma in VMS makefile. +Solution: Remove the comma. (Naruhiko Nishino, closes #4368) +Files: src/Make_vms.mms + +Patch 8.1.1325 +Problem: Cannot build with +eval but without +channel and +timers. (John + Marriott) +Solution: Adjust #ifdef for get_callback(). +Files: src/evalfunc.c, src/testdir/test_autocmd.vim + +Patch 8.1.1326 +Problem: No test for listener with partial. +Solution: Add a test. Add example to help. +Files: src/testdir/test_listener.vim, runtime/doc/eval.txt + +Patch 8.1.1327 +Problem: Unnecessary scroll after horizontal split. +Solution: Don't adjust to fraction if all the text fits in the window. + (Martin Kunev, closes #4367) +Files: src/testdir/test_window_cmd.vim, src/window.c + +Patch 8.1.1328 +Problem: No test for listener with undo operation. +Solution: Add a test. +Files: src/testdir/test_listener.vim + +Patch 8.1.1329 +Problem: Plans for popup window support are spread out. +Solution: Add a first version of the popup window help. +Files: runtime/doc/popup.txt, runtime/doc/Makefile, runtime/doc/help.txt + +Patch 8.1.1330 +Problem: Using bold attribute in terminal changes the color. (Jason + Franklin) +Solution: Don't set the "bold-highbright" flag in vterm unless the terminal + supports less than 16 colors. +Files: src/terminal.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.1.1331 +Problem: Test 29 is old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #4370) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test29.in, src/testdir/test29.ok, + src/testdir/test_backspace_opt.vim, src/testdir/test_join.vim + +Patch 8.1.1332 +Problem: Cannot flush change listeners without also redrawing. The line + numbers in the list of changes may become invalid. +Solution: Add listener_flush(). Invoke listeners before adding a change + that makes line numbers invalid. +Files: src/evalfunc.c, src/change.c, src/proto/change.pro, + src/screen.c, runtime/doc/eval.txt, src/testdir/test_listener.vim + +Patch 8.1.1333 +Problem: Text properties don't always move after changes. +Solution: Update properties before reporting changes to listeners. Move text + property when splitting a line. +Files: src/change.c, src/ex_cmds.c, src/textprop.c, + src/proto/textprop.pro, src/testdir/test_textprop.vim + +Patch 8.1.1334 +Problem: When buffer is hidden "F" in 'shortmess' is not used. +Solution: Check the "F" flag in 'shortmess' when the buffer is already + loaded. (Jason Franklin) Add test_getvalue() to be able to test + this. +Files: src/buffer.c, src/evalfunc.c, src/testdir/test_options.vim, + runtime/doc/eval.txt + +Patch 8.1.1335 +Problem: Listener callback is called after inserting text. +Solution: Flush the changes before inserting or deleting a line. Store + changes per buffer. +Files: src/change.c, src/proto/change.pro, src/memline.c, + src/structs.h, src/testdir/test_listener.vim + +Patch 8.1.1336 +Problem: Some eval functionality is not covered by tests. +Solution: Add a few more test cases. (Masato Nishihata, closes #4374) +Files: src/testdir/test_bufline.vim, src/testdir/test_cindent.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_delete.vim, + src/testdir/test_expand_func.vim, src/testdir/test_float_func.vim, + src/testdir/test_fnamemodify.vim, src/testdir/test_functions.vim + +Patch 8.1.1337 +Problem: Get empty text prop when splitting line just after text prop. +Solution: Do not create an empty text prop at the start of the line. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.1.1338 +Problem: Hang when concealing the '>' shown for a wide char that doesn't + fit in the last cell. +Solution: Put back the pointer when the '>' is not going to be displayed. + (closes #4377) +Files: src/screen.c + +Patch 8.1.1339 +Problem: Installer needs to product name et al. +Solution: Add a few lines to the NSIS installer script. (Ken Takata) +Files: nsis/gvim.nsi + +Patch 8.1.1340 +Problem: Attributes from 'cursorline' overwrite textprop. +Solution: Combine the attributes. (closes #3912) +Files: src/screen.c, src/textprop.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.1341 +Problem: Text properties are lost when joining lines. +Solution: Move the text properties to the joined line. +Files: src/ops.c, src/textprop.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.1342 +Problem: Using freed memory when joining line with text property. +Solution: Use already computed length. +Files: src/ops.c + +Patch 8.1.1343 +Problem: Text properties not adjusted for Visual block mode delete. +Solution: Call adjust_prop_columns(). (closes #4384) +Files: src/ops.c, src/textprop.c, src/testdir/test_textprop.vim, + src/misc1.c, src/testdir/dumps/Test_textprop_vis_01.dump, + src/testdir/dumps/Test_textprop_vis_02.dump + +Patch 8.1.1344 +Problem: Coverity complains about possibly using a NULL pointer and copying + a string into a fixed size buffer. +Solution: Check for NULL, even though it should not happen. Use + vim_strncpy() instead of strcpy(). +Files: src/change.c, src/memline.c + +Patch 8.1.1345 +Problem: Stuck in sandbox with ":s/../\=Function/gn". +Solution: Don't skip over code to restore sandbox. (Christian Brabandt) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.1346 +Problem: Error for Python exception does not show useful info. +Solution: Show the last line instead of the first one. (Ben Jackson, + closes #4381) +Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok, + src/testdir/test_python2.vim, src/testdir/test_python3.vim, + src/testdir/test_pyx2.vim, src/testdir/test_pyx3.vim + +Patch 8.1.1347 (after 8.1.1327) +Problem: Fractional scroll position not restored after closing window. +Solution: Do restore fraction if topline is not one. +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.1.1348 +Problem: Running tests may cause the window to move. +Solution: Correct the reported window position for the offset with the + position after ":winpos". Works around an xterm bug. +Files: src/testdir/test_edit.vim + +Patch 8.1.1349 +Problem: If writing runs into a conversion error the backup file is + deleted. (Arseny Nasokin) +Solution: Don't delete the backup file is the file was overwritten and a + conversion error occurred. (Christian Brabandt, closes #4387) +Files: src/fileio.c, src/testdir/test_writefile.vim + +Patch 8.1.1350 +Problem: "W" for wrapping not shown when more than 99 matches. +Solution: Adjust check for length. (Masato Nishihata, closes #4388) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1351 +Problem: Text property wrong after :substitute. +Solution: Save for undo before changing any text properties. +Files: src/testdir/test_textprop.vim, src/ex_cmds.c, src/textprop.c, + src/proto/textprop.pro, src/change.c, src/edit.c, src/misc1.c, + src/ops.c + +Patch 8.1.1352 +Problem: Undofile() reports wrong name. (Francisco Giordano) +Solution: Clean up the name before changing path separators. (closes #4392, + closes #4394) +Files: src/evalfunc.c, src/testdir/test_undo.vim + +Patch 8.1.1353 (after 8.1.1352) +Problem: Undo test fails on Mac. +Solution: Expect "private" on the Mac. +Files: src/testdir/test_undo.vim + +Patch 8.1.1354 +Problem: Getting a list of text lines is clumsy. +Solution: Add the =<< assignment. (Yegappan Lakshmanan, closes #4386) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_let.vim + +Patch 8.1.1355 +Problem: Obvious mistakes are accepted as valid expressions. +Solution: Be more strict about parsing numbers. (Yasuhiro Matsumoto, + closes #3981) +Files: src/charset.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_getln.c, src/json.c, src/misc2.c, src/ops.c, src/option.c, + src/proto/charset.pro, src/testdir/test_expr.vim, + src/testdir/test_json.vim + +Patch 8.1.1356 +Problem: Some text in heredoc assignment ends the text. (Ozaki Kiichi) +Solution: Recognize "let v =<<" and skip until the end. +Files: src/userfunc.c, src/testdir/test_let.vim + +Patch 8.1.1357 +Problem: Test 37 is old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #4398) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test37.in, src/testdir/test37.ok, + src/testdir/test_scrollbind.vim + +Patch 8.1.1358 +Problem: Cannot enter character with a CSI byte. +Solution: Only check "gui.in_use" when VIMDLL is defined. (Ken Takata, + closes #4396) +Files: src/getchar.c + +Patch 8.1.1359 +Problem: Text property wrong after :substitute with backslash. +Solution: Adjust text property columns when removing backslashes. + (closes #4397) +Files: src/ex_cmds.c, src/testdir/test_textprop.vim, src/vim.h, + src/textprop.c, src/proto/textprop.pro, src/change.c, src/edit.c, + src/misc1.c, src/ops.c + +Patch 8.1.1360 (after Patch 8.1.1345) +Problem: Buffer left 'nomodifiable' after :substitute. (Ingo Karkat) +Solution: Save the value of 'modifiable' earlier. (Christian Brabandt, + closes #4403) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.1361 +Problem: Python setuptools don't work with Python 3. +Solution: Add dummy implementation for find_module. (Joel Frederico, + closes #4402, closes #3984) +Files: src/if_py_both.h + +Patch 8.1.1362 +Problem: Code and data in tests can be hard to read. +Solution: Use the new heredoc style. (Yegappan Lakshmanan, closes #4400) +Files: src/testdir/test_autocmd.vim, src/testdir/test_balloon.vim, + src/testdir/test_bufline.vim, src/testdir/test_cindent.vim, + src/testdir/test_conceal.vim, src/testdir/test_exit.vim, + src/testdir/test_fold.vim, src/testdir/test_goto.vim, + src/testdir/test_join.vim, src/testdir/test_mksession_utf8.vim, + src/testdir/test_normal.vim, src/testdir/test_profile.vim, + src/testdir/test_quickfix.vim, src/testdir/test_startup.vim, + src/testdir/test_terminal.vim, src/testdir/test_xxd.vim + +Patch 8.1.1363 +Problem: ":vert options" does not make a vertical split. +Solution: Pass the right modifiers in $OPTWIN_CMD. (Ken Takata, + closes #4401) +Files: src/ex_cmds2.c, src/testdir/test_options.vim + +Patch 8.1.1364 +Problem: Design for popup window support needs more details. +Solution: Add details about using a window and buffer. Rename popup_show() + to popup_create() and add popup_show() and popup_hide(). +Files: runtime/doc/popup.txt + +Patch 8.1.1365 +Problem: Source command doesn't check for the sandbox. (Armin Razmjou) +Solution: Check for the sandbox when sourcing a file. +Files: src/getchar.c, src/testdir/test_source.vim + +Patch 8.1.1366 +Problem: Using expressions in a modeline is unsafe. +Solution: Disallow using expressions in a modeline, unless the + 'modelineexpr' option is set. Update help, add more tests. +Files: runtime/doc/options.txt, src/option.c, src/option.h, + src/testdir/test_modeline.vim, src/testdir/test49.in + +Patch 8.1.1367 (after 8.1.1366) +Problem: can set 'modelineexpr' in modeline. +Solution: Add P_SECURE flag. +Files: src/option.c, src/testdir/test_modeline.vim + +Patch 8.1.1368 (after 8.1.1366) +Problem: Modeline test fails with python but without pythonhome. +Solution: Correct test argument. +Files: src/testdir/test_modeline.vim + +Patch 8.1.1369 +Problem: Get E484 when using system() during GUI startup. +Solution: Check "gui.starting". (Ken Takata) +Files: src/os_win32.c + +Patch 8.1.1370 +Problem: Not using the new github feature for donations. +Solution: Add a Sponsor button. (closes #4417) +Files: .github/FUNDING.yml + +Patch 8.1.1371 +Problem: Cannot recover from a swap file. +Solution: Do not expand environment variables in the swap file name. + Do not check the extension when we already know a file is a swap + file. (Ken Takata, closes #4415, closes #4369) +Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, + src/gui.c, src/if_cscope.c, src/main.c, src/memline.c, + src/misc1.c, src/proto/memline.pro, src/proto/misc1.pro, + src/search.c, src/spell.c, src/spellfile.c, src/tag.c, + src/testdir/test_swap.vim, src/vim.h + +Patch 8.1.1372 +Problem: When evaluating 'statusline' the current window is unknown. + (Daniel Hahler) +Solution: Set "g:actual_curwin" for %{} items. Set "g:statusline_winid" + when evaluating %!. (closes #4406, closes #3299) +Files: src/buffer.c, runtime/doc/options.txt, + src/testdir/test_statusline.vim + +Patch 8.1.1373 +Problem: "[p" in Visual mode puts in wrong line. +Solution: Call nv_put() instead of duplicating the functionality. + (closes #4408) +Files: src/normal.c, src/testdir/test_put.vim + +Patch 8.1.1374 +Problem: Check for file changed triggers too often. +Solution: Don't use "b_p_ar" when it is negative. +Files: src/fileio.c + +Patch 8.1.1375 +Problem: Without "TS" in 'shortmess' get a hit-enter prompt often. +Solution: Always truncate the search message. Also avoid putting it in the + message history. (closes #4413) +Files: src/search.c, src/main.c, src/testdir/test_search_stat.vim + +Patch 8.1.1376 +Problem: Warnings for size_t/int mixups. +Solution: Change types, add type casts. (Mike Williams) +Files: src/search.c, src/textprop.c + +Patch 8.1.1377 +Problem: MS-Windows GUI uses wrong shell command for bash. (Robert Bogomip) +Solution: Check that 'shellcmdflag' is "/c". (Ken Takata, closes #4418) +Files: src/os_win32.c + +Patch 8.1.1378 +Problem: Delete() can not handle a file name that looks like a pattern. +Solution: Use readdir() instead of appending "/*" and expanding wildcards. + (Ken Takata, closes #4424, closes #696) +Files: src/testdir/test_functions.vim, src/evalfunc.c, src/fileio.c, + src/proto/fileio.pro + +Patch 8.1.1379 (after 8.1.1374) +Problem: Filechanged test hangs. +Solution: Do not check 'autoread'. +Files: src/fileio.c, src/testdir/test_filechanged.vim + +Patch 8.1.1380 +Problem: MS-Windows building VIMDLL with MSVC: SUBSYSTEM is not set. +Solution: Invert condition. (Ken Takata, closes #4422) +Files: src/Make_mvc.mak + +Patch 8.1.1381 +Problem: MS-Windows: missing build dependency. +Solution: Make gui_dwrite.cpp depend on gui_dwrite.h. (Ken Takata, + closes #4423) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.1382 +Problem: Error when editing test file. +Solution: Remove part of modeline. +Files: src/testdir/test_vimscript.vim, src/testdir/test49.vim, + src/testdir/test49.in + +Patch 8.1.1383 +Problem: Warning for size_t/int mixup. +Solution: Change type. (Mike Williams) +Files: src/search.c + +Patch 8.1.1384 +Problem: Using "int" for alloc() often results in compiler warnings. +Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim + only works with 32 bit ints anyway. +Files: src/misc2.c, src/proto/misc2.pro, src/change.c, src/ex_cmds.c, + src/netbeans.c, src/autocmd.c, src/buffer.c, src/change.c, + src/channel.c, src/charset.c, src/debugger.c, src/dict.c, + src/diff.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_eval.c, + src/ex_getln.c, src/fileio.c, src/findfile.c, src/fold.c, + src/getchar.c, src/gui.c, src/gui_at_fs.c, src/gui_gtk.c, + src/gui_gtk_x11.c, src/gui_motif.c, src/gui_w32.c, src/hashtab.c, + src/if_cscope.c, src/if_perlsfio.c, src/if_python3.c, + src/if_xcmdsrv.c, src/indent.c, src/insexpand.c, src/main.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/ops.c, src/option.c, src/os_amiga.c, src/os_mswin.c, + src/os_unix.c, src/os_vms.c, src/os_win32.c, src/quickfix.c, + src/regexp.c, src/screen.c, src/spell.c, src/spellfile.c, + src/syntax.c, src/term.c, src/undo.c, src/usercmd.c, + src/userfunc.c, src/version.c, src/winclip.c + +Patch 8.1.1385 +Problem: Signed/unsigned compiler warning. +Solution: Use STRLEN() instead of strlen(). +Files: src/fileio.c + +Patch 8.1.1386 +Problem: Unnecessary type casts for lalloc(). +Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size). +Files: src/buffer.c, src/change.c, src/channel.c, src/diff.c, src/edit.c, + src/eval.c, src/ex_cmds.c, src/ex_getln.c, src/fileio.c, + src/getchar.c, src/gui_mac.c, src/insexpand.c, src/gui_w32.c, + src/gui_x11.c, src/menu.c, src/netbeans.c, src/ops.c, + src/os_mswin.c, src/os_amiga.c, src/os_qnx.c, src/os_unix.c, + src/os_win32.c, src/popupmnu.c, src/quickfix.c, src/regexp.c, + src/regexp_nfa.c, src/screen.c, src/search.c, src/sign.c, + src/spell.c, src/spellfile.c, src/syntax.c, src/tag.c, + src/terminal.c, src/textprop.c, src/ui.c, src/undo.c, + src/userfunc.c, src/winclip.c, src/window.c + +Patch 8.1.1387 +Problem: Calling prop_add() in an empty buffer doesn't work. (Dominique + Pelle) +Solution: Open the memline before adding a text property. (closes #4412) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.1.1388 +Problem: Errors when calling prop_remove() for an unloaded buffer. +Solution: Bail out when the buffer is not loaded. Add a few more tests for + failing when the buffer number is invalid. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.1.1389 +Problem: Changes are not flushed when end and start overlap. (Paul Jolly) +Solution: When end of a previous changes overlaps with start of a new + change, first flush listeners. +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.1.1390 +Problem: Search stats are off when using count or offset. +Solution: Recompute the stats when needed. (Masato Nishihata, closes #4410) +Files: src/testdir/test_search_stat.vim, src/search.c + +Patch 8.1.1391 +Problem: No popup window support. +Solution: Add initial code for popup windows. Add the 'wincolor' option. +Files: Filelist, runtime/doc/popup.txt, runtime/doc/options.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/autocmd.c, src/buffer.c, src/ex_cmds.h, + src/ex_cmdidxs.h, src/proto/buffer.pro, src/eval.c src/evalfunc.c + src/feature.h, src/globals.h, src/option.c, src/option.h, + src/popupwin.c, src/proto.h, src/proto/popupwin.pro, + src/proto/window.pro, src/screen.c, src/structs.h, src/terminal.c, + src/testdir/Make_all.mak, src/testdir/dumps/Test_popupwin_01.dump, + src/testdir/test_popupwin.vim, src/vim.h, src/window.c + +Patch 8.1.1392 (after 8.1.1391) +Problem: Build failure in tiny version. +Solution: Define ex_popupclear to ex_ni if not implemented. Add UNUSED. +Files: src/ex_docmd.c, src/window.c + +Patch 8.1.1393 +Problem: Unnecessary type casts. +Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams) +Files: src/channel.c, src/crypt.c, src/dict.c, src/dosinst.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/findfile.c, src/if_ole.cpp, + src/if_py_both.h, src/list.c, src/message.c, src/misc1.c, + src/misc2.c, src/ops.c, src/os_vms.c, src/os_win32.c, + src/quickfix.c, src/regexp_nfa.c, src/screen.c, src/search.c, + src/sign.c, src/syntax.c, src/tag.c, src/term.c, src/terminal.c, + src/textprop.c + +Patch 8.1.1394 +Problem: Not restoring t_F2 in registers test. +Solution: Assign to &t_F2 instead of t_F2. (Andy Massimino, closes #4434) +Files: src/testdir/test_registers.vim + +Patch 8.1.1395 +Problem: Saving for undo may access invalid memory. (Dominique Pelle) +Solution: Set ml_line_len also when returning a constant string. +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.1.1396 +Problem: 'wincolor' does not apply to lines below the buffer. +Solution: Also apply 'wincolor' to the "~" lines and the number column. +Files: src/screen.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_wincolor_01.dump + +Patch 8.1.1397 +Problem: Build fails in tiny version. +Solution: Always define hl_combine_attr(). +Files: src/syntax.c + +Patch 8.1.1398 +Problem: Duplicate line in MSVC build file. +Solution: Remove the line. (Ken Takata, closes #4436) +Files: src/Make_mvc.mak + +Patch 8.1.1399 +Problem: Popup windows not adjusted when switching tabs. +Solution: Save and restore first_tab_popupwin. Fix closing a tabpage. +Files: src/window.c, src/popupwin.c, src/proto/popupwin.pro, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_03.dump, + src/testdir/dumps/Test_popupwin_04.dump + +Patch 8.1.1400 +Problem: Using global pointer for tab-local popups is clumsy. +Solution: Use the pointer in tabpage_T. +Files: src/popupwin.c, src/globals.h, src/eval.c, src/screen.c, + src/window.c + +Patch 8.1.1401 +Problem: Misspelled mkspellmem as makespellmem. +Solution: Drop duplicate help entry, fix test. (Naruhiko Nishino, Yasuhiro + Matsumoto, closes #4437) +Files: runtime/doc/options.txt, src/testdir/test_modeline.vim + +Patch 8.1.1402 +Problem: "timer" option of popup windows not supported. +Solution: Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439) +Files: src/structs.h, src/testdir/test_popupwin.vim, src/popupwin.c, + src/window.c, runtime/doc/popup.txt + +Patch 8.1.1403 +Problem: Cannot build without the timer feature. +Solution: Add #ifdef. +Files: src/structs.h, src/window.c, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1404 +Problem: Cannot change the patch level when building with NSIS. +Solution: Use $PATCHLEVEL if defined. (Christian Brabandt) +Files: nsis/gvim.nsi + +Patch 8.1.1405 +Problem: "highlight" option of popup windows not supported. +Solution: Implement the "highlight" option. +Files: src/option.c, src/proto/option.pro, src/diff.c src/popupwin.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_01.dump, + src/testdir/dumps/Test_popupwin_03.dump + +Patch 8.1.1406 +Problem: popup_hide() and popup_show() not implemented yet. +Solution: Implement the functions. +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, runtime/doc/popup.txt, src/screen.c, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1407 +Problem: Popup_create() does not support text properties. +Solution: Support the third form of the text argument. +Files: src/textprop.c, src/proto/textprop.pro, src/popupwin.c, + src/testdir/test_popupwin.vim, src/screen.c, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_03.dump, + src/testdir/dumps/Test_popupwin_04.dump, + runtime/doc/popup.txt + +Patch 8.1.1408 +Problem: PFL_HIDDEN conflicts with system header file. (Ken Takata) +Solution: Rename to POPF_HIDDEN. +Files: src/popupwin.c, src/screen.c, src/vim.h + +Patch 8.1.1409 +Problem: Coverity warns for using uninitialized memory. +Solution: Add a condition to clearing the growarray. +Files: src/json.c + +Patch 8.1.1410 +Problem: Popup_move() is not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4441) Improve the + positioning and resizing. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/screen.c, src/structs.h, src/proto/popupwin.pro, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_05.dump + +Patch 8.1.1411 +Problem: Coverity warns for divide by zero. +Solution: Make sure width is larger than zero. +Files: src/charset.c + +Patch 8.1.1412 +Problem: Test 30 is old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #4440) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test30.in, src/testdir/test30.ok, + src/testdir/test_fileformat.vim + +Patch 8.1.1413 +Problem: Error when the drive of the swap file was disconnected. +Solution: Try closing and re-opening the swap file. (partly by Joe Orost, + closes #4378) +Files: src/memfile.c, src/structs.h, src/testdir/test_startup.vim + +Patch 8.1.1414 +Problem: Alloc() returning "char_u *" causes a lot of type casts. +Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to + check the simple allocations. +Files: src/autocmd.c, src/blob.c, src/blowfish.c, src/buffer.c, + src/change.c, src/channel.c, src/crypt.c, src/crypt_zip.c, + src/dict.c, src/diff.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, + src/fileio.c, src/findfile.c, src/getchar.c, src/gui_gtk.c, + 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/hardcopy.c, + src/hashtab.c, src/if_cscope.c, src/if_mzsch.c, src/if_perlsfio.c, + src/if_py_both.h, src/if_python3.c, src/if_xcmdsrv.c, + src/insexpand.c, src/list.c, src/mark.c, src/mbyte.c, + src/memfile.c, src/memfile_test.c, src/memline.c, src/message.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_vms.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/sign.c, + src/spell.c, src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, + src/terminal.c, src/textprop.c, src/ui.c, src/undo.c, + src/userfunc.c, src/version.c, src/winclip.c, src/window.c, + src/vim.h, src/testdir/test_cscope.vim + +Patch 8.1.1415 (after 8.1.1414) +Problem: Build error in MS-Windows GUI. +Solution: Fix the LALLOC_MULT() argument. +Files: src/gui_w32.c + +Patch 8.1.1416 +Problem: Popup_getposition() not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4449) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1417 +Problem: MS-Windows: resolve() does not resolve all components of the path. + (David Briscoe) +Solution: Do not bail out for a reparse point. (Yasuhiro Matsumoto, + closes #4211, closes #4447) +Files: src/os_mswin.c, src/testdir/test_functions.vim + +Patch 8.1.1418 +Problem: Win_execute() is not implemented yet. +Solution: Implement it. +Files: src/evalfunc.c, src/popupwin.c, src/testdir/test_execute_func.vim, + runtime/doc/popup.txt, runtime/doc/eval.txt + +Patch 8.1.1419 +Problem: Listener callbacks may be called recursively. +Solution: Set "updating_screen" while listener callbacks are invoked. +Files: src/change.c, src/screen.c, src/proto/screen.pro, src/ui.c + +Patch 8.1.1420 +Problem: Popup window size only uses first line length. +Solution: Use the longest line. (Ben Jackson, closes #4451) Also deal with + wrapping lines. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1421 +Problem: Drawing "~" line in popup window. +Solution: Just draw text in the last line of the popup window. +Files: src/screen.c, src/structs.h, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_05.dump, + src/testdir/dumps/Test_popupwin_06.dump + +Patch 8.1.1422 +Problem: Popup_getoptions() not implemented yet. +Solution: Implement it. (closes #4452) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1423 +Problem: Popup windows use options from current window and buffer. +Solution: Clear all local options when creating a popup window. +Files: src/popupwin.c, src/option.c, src/proto/option.pro, + src/testdir/test_popupwin.vim + +Patch 8.1.1424 +Problem: Crash when popup menu is deleted while waiting for char. +Solution: Bail out when pum_array was cleared. +Files: src/popupmnu.c + +Patch 8.1.1425 +Problem: Win_execute() does not set window pointers properly. +Solution: Use switch_win_noblock(). Also execute autocommands in a popup + window. +Files: src/window.c, src/proto/window.pro, src/evalfunc.c, src/autocmd.c + +Patch 8.1.1426 +Problem: No test for syntax highlight in popup window. +Solution: Add a screenshot test. Update associated documentation. Avoid + 'buftype' being reset by setbufvar(). +Files: runtime/doc/eval.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_10.dump, + src/testdir/dumps/Test_popupwin_11.dump + +Patch 8.1.1427 (after 8.1.1426) +Problem: Popup window screenshot test fails. +Solution: Add missing change to popup window code. +Files: src/popupwin.c + +Patch 8.1.1428 +Problem: Popup_atcursor() not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4456) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1429 +Problem: "pos" option of popup window not supported yet. +Solution: Implement the option. Rename popup_getposition() to + popup_getpos(). +Files: src/structs.h, src/popupwin.c, src/proto/popupwin.pro, + runtime/doc/popup.txt + +Patch 8.1.1430 +Problem: Popup window option "wrap" not supported. +Solution: Implement it. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_wrap.dump, + src/testdir/dumps/Test_popupwin_nowrap.dump + +Patch 8.1.1431 +Problem: Popup window listed as "Scratch". +Solution: List them as "Popup". +Files: src/buffer.c, src/popupwin.c, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt, runtime/doc/windows.txt + +Patch 8.1.1432 (after 8.1.1429) +Problem: Can't build with eval feature. +Solution: Add missing rename. +Files: src/evalfunc.c + +Patch 8.1.1433 +Problem: Win_execute() may leave popup window focused, eventually leading + to a crash. (Bjorn Linse) +Solution: When previous window was closed, go to the first window. +Files: src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1434 +Problem: Test 3 is old style. +Solution: Turn into a new style test. (Yegappan Lakshmanan, closes #4460) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test3.in, src/testdir/test3.ok, + src/testdir/test_cindent.vim + +Patch 8.1.1435 +Problem: Memory usage test is a bit too flaky. +Solution: Adjust the tolerances a bit. (Christian Brabandt) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1436 +Problem: Writefile test fails when run under /tmp. +Solution: Adjust 'backupskip'. (Kenta Sato, closes #4462) +Files: src/testdir/test_writefile.vim + +Patch 8.1.1437 +Problem: Code to handle callbacks is duplicated. +Solution: Add callback_T and functions to deal with it. +Files: src/structs.h, src/evalfunc.c, src/proto/evalfunc.pro, + src/change.c, src/channel.c, src/proto/channel.pro, src/buffer.c, + src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/ex_cmds2.c, src/popupwin.c + +Patch 8.1.1438 +Problem: Some commands cause trouble in a popup window. +Solution: Add NOT_IN_POPUP_WINDOW. +Files: src/macros.h, src/popupwin.c, src/proto/popupwin.pro, + src/ex_docmd.c, src/ex_cmds2.c, src/window.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1439 +Problem: Json_encode() is very slow for large results. +Solution: In the growarray use a growth of at least 50%. (Ken Takata, + closes #4461) +Files: src/misc2.c + +Patch 8.1.1440 +Problem: Win_execute() test fails. +Solution: Adjust the expected error number. Move to popup test. +Files: src/testdir/test_execute_func.vim, src/testdir/test_popupwin.vim + +Patch 8.1.1441 +Problem: Popup window filter not yet implemented. +Solution: Implement the popup filter. +Files: src/structs.h, runtime/doc/popup.txt, src/popupwin.c, + src/proto/popupwin.pro, src/window.c, src/getchar.c, src/screen.c, + src/misc2.c, src/proto/misc2.pro, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1442 +Problem: Popup windows not considered when the Vim window is resized. + (Ben Jackson) +Solution: Reallocate the w_lines structure. (closes #4467) +Files: src/screen.c + +Patch 8.1.1443 +Problem: Popup window padding and border not implemented yet. +Solution: Implement padding and border. Add core position and size to + popup_getpos(). +Files: src/structs.h, src/popupwin.c, src/screen.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, runtime/doc/popup.txt + +Patch 8.1.1444 +Problem: Not using double line characters for popup border. +Solution: Use double line characters if using utf-8. +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1445 +Problem: Popup window border highlight not implemented yet. +Solution: Implement the "borderhighlight" option. +Files: src/structs.h, src/popupwin.c, src/window.c, src/screen.c, + src/testdir/test_popupwin.vim, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_22.dump + +Patch 8.1.1446 +Problem: Popup window callback not implemented yet. +Solution: Implement the callback. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/evalfunc.c, src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1447 +Problem: Not allowed to create an empty popup. +Solution: Remove restriction that there is some text. (closes #4470) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1448 +Problem: Statusline is sometimes drawn on top of popup. +Solution: Redraw popups after the statusline. (Naruhiko Nishino, + closes #4468) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_behind.dump + +Patch 8.1.1449 +Problem: Popup text truncated at end of screen. +Solution: Move popup left if needed. Add the "fixed" property to disable + that. (Ben Jackson, closes #4466) +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1450 +Problem: Popup window positioning wrong when using padding or borders. +Solution: Fix computing the position. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_corners.dump + +Patch 8.1.1451 +Problem: CTRL-L does not clear screen with a popup window. +Solution: Do not change the type to NOT_VALID. Redraw all windows. + (closes #4471) +Files: src/screen.c + +Patch 8.1.1452 +Problem: Line and col property of popup windows not properly checked. +Solution: Check for "+" or "-" sign. +Files: src/popupwin.c, src/dict.c, src/proto/dict.pro, + src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1453 +Problem: Popup window "moved" property not implemented yet. +Solution: Implement it. +Files: src/main.c, src/edit.c, src/gui.c, src/globals.h, src/structs.h, + src/screen.c, src/popupwin.c, src/proto/popupwin.pro, + src/testdir/test_popupwin.vim, runtime/doc/popup.txt + +Patch 8.1.1454 +Problem: Build failure without the conceal feature. +Solution: Remove #ifdef. +Files: src/autocmd.c + +Patch 8.1.1455 +Problem: Popup_atcursor() not completely implemented. +Solution: Add the default for the "moved" property. +Files: src/popupwin.c, src/normal.c, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1456 +Problem: WinBar not redrawn after scrolling one line. +Solution: Exclude the winbar height when deciding what to redraw. + (closes #4473) +Files: src/screen.c, src/testdir/test_winbar.vim + +Patch 8.1.1457 +Problem: Cannot reuse a buffer when loading a screen dump. +Solution: Add the "bufnr" option. +Files: runtime/doc/eval.txt, src/structs.h, src/channel.c, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.1458 +Problem: Crash when using gtags. (issue #4102) +Solution: Check for negative row or col in screen_puts_len(). (Christian + Brabandt) +Files: src/screen.c + +Patch 8.1.1459 +Problem: Popup window border looks bad when 'ambiwidth' is "double". + (Yasuhiro Matsumoto) +Solution: Only use line drawing characters when 'ambiwidth' is "single". + (Ken Takata, closes #4477) +Files: src/screen.c + +Patch 8.1.1460 +Problem: Popup window border characters may be wrong. +Solution: Reset the border characters for each popup. Correct use of + 'ambiwidth'. +Files: src/screen.c + +Patch 8.1.1461 +Problem: Tests do not run or are not reliable on some systems. +Solution: Use "findstr" instead of "grep" on MS-Windows. Clear + PROMPT_COMMAND in the terminal test. Delete temp file. Wait for + output after executing a debug command. (Yegappan Lakshmanan, + closes #4479) +Files: src/testdir/test_debugger.vim, src/testdir/test_environ.vim, + src/testdir/test_filetype.vim, src/testdir/test_source.vim, + src/testdir/test_terminal.vim + +Patch 8.1.1462 +Problem: MS-Windows: using special character requires quoting. +Solution: Add quotes. (Ken Takata) +Files: src/testdir/test_environ.vim + +Patch 8.1.1463 +Problem: Gcc warns for uninitialized variable. +Solution: Put usage inside "if". (Ken Takata) +Files: src/textprop.c + +Patch 8.1.1464 +Problem: Only 4-digit rgb termresponse is recognized. +Solution: Also recognize 2-digit rgb response. (closes #4486) +Files: src/term.c, src/test_termcodes.vim + +Patch 8.1.1465 +Problem: Allocating wrong amount of memory. (Yegappan Lakshmanan) +Solution: Use sizeof() for right type of struct. +Files: src/memfile_test.c + +Patch 8.1.1466 +Problem: Not updating priority on existing sign. +Solution: Set the sign priority. Add a test. (Yegappan Lakshmanan) +Files: src/sign.c, src/testdir/test_signs.vim, runtime/doc/eval.txt, + runtime/doc/sign.txt + +Patch 8.1.1467 (after 8.1.1465) +Problem: Cscope test fails. +Solution: Update expected text. +Files: src/testdir/test_cscope.vim + +Patch 8.1.1468 +Problem: The generated desktop files may be invalid. +Solution: Check validity with desktop-file-validate. (Christian Brabandt, + Will Thompson, closes #4480) +Files: src/po/Makefile + +Patch 8.1.1469 +Problem: No test for checking the cursor style response. +Solution: Add a simple test. Also include the missing part of 8.1.1464. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.1470 +Problem: New Unicode character U+32FF missing from double-width table. +Solution: Add the character. +Files: src/mbyte.c + +Patch 8.1.1471 +Problem: 'background' not correctly set for 2-digit rgb termresponse. +Solution: Adjust what digit to use. (closes #4495) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.1472 +Problem: Add_termcap_entry() is not tested. +Solution: Add a simple test. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1473 +Problem: New resolve() implementation causes problem for plugins. +Solution: Only resolve a reparse point after checking it is needed. (Ken + Takata, closes #4492) +Files: src/os_mswin.c, src/testdir/test_functions.vim + +Patch 8.1.1474 +Problem: 'ttybuiltin' is not tested. +Solution: At least test that it doesn't break things. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1475 +Problem: Search string not displayed when 'rightleft' is set. +Solution: Clear the right part of the old text. (closes #4488, closes #4489) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.1.1476 +Problem: No statistics displayed after running tests. +Solution: Summarize the test results. (Christian Brabandt, closes #4391) + Also make it possible to report a skipped file. +Files: src/Makefile, src/testdir/Makefile, src/testdir/summarize.vim, + src/testdir/runtest.vim, src/testdir/test_arabic.vim, + src/testdir/test_autochdir.vim, src/testdir/test_balloon.vim + +Patch 8.1.1477 +Problem: Test summary fails in the tiny version. +Solution: set 'nocompatible'. +Files: Filelist, src/testdir/summarize.vim + +Patch 8.1.1478 +Problem: Still an error when running tests with the tiny version. +Solution: Do not try reading test.log +Files: src/testdir/Makefile, src/testdir/summarize.vim + +Patch 8.1.1479 +Problem: Change included for debugging only. +Solution: Restore the REDIR_TEST_TO_NULL line. +Files: src/testdir/Makefile + +Patch 8.1.1480 +Problem: Desktop file check doesn't run on CI. +Solution: Install the desktop-file-utils packages. (Christian Brabandt, + closes #4498) +Files: .travis.yml + +Patch 8.1.1481 +Problem: Length for two-digit rgb termresponse is off by one. +Solution: Adjust the length. (closes #4494) +Files: src/term.c + +Patch 8.1.1482 +Problem: No test for wincol() depending on the 'number' option. +Solution: Add a couple of tests. (Christian Brabandt, closes #4500) +Files: src/testdir/test_gui.vim + +Patch 8.1.1483 +Problem: Skipped tests are not properly listed. +Solution: Throw a "Skipped" exception instead of using ":finish" or ":return". +Files: src/testdir/test_breakindent.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_balloon.vim, src/testdir/test_conceal.vim, + src/testdir/test_debugger.vim, src/testdir/test_diffmode.vim, + src/testdir/test_fold.vim, src/testdir/test_highlight.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_search.vim, src/testdir/test_startup.vim, + src/testdir/test_startup_utf8.vim, src/testdir/test_syntax.vim, + src/testdir/test_tabpage.vim, src/testdir/test_termencoding.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim + +Patch 8.1.1484 +Problem: Some tests are slow. +Solution: Add timing to the test messages. Fix double free when quitting in + VimLeavePre autocmd. +Files: src/testdir/runtest.vim, src/eval.c + +Patch 8.1.1485 +Problem: Double free when garbage_collect() is used in autocommand. +Solution: Have garbage collection also set the copyID in funccal_stack. +Files: src/eval.c, src/userfunc.c + +Patch 8.1.1486 +Problem: A listener change is merged even when it adds a line. (Paul Jolly) +Solution: Do not merge a change that adds or removes a line. (closes #4490) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.1.1487 +Problem: Older msgfmt cannot generate proper .desktop file. +Solution: Add a configure check to not use this msgfmt version. (Ken Takata) +Files: src/configure.ac, src/auto/configure + +Patch 8.1.1488 +Problem: Summary of tests has incorrect failed count. +Solution: Add to the failed count instead of setting it. (Christian Brabandt) +Files: src/testdir/summarize.vim + +Patch 8.1.1489 +Problem: Sign order wrong when priority was changed. +Solution: Reorder signs when priority is changed. (Yegappan Lakshmanan, + closes #4502) +Files: src/quickfix.c, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1490 +Problem: When a single test fails the exit code is not set. (Daniel Hahler) +Solution: Add an exit command. (closes #4506) +Files: src/testdir/Makefile + +Patch 8.1.1491 +Problem: When skipping over code after an exception was thrown expression + evaluation is aborted after a function call. (Ingo Karkat) +Solution: Do not fail if not executing the expression. (closes #4507) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.1492 +Problem: MS-Windows: when "!" is in 'guioptions' ":!start" fails. +Solution: Do not use a terminal window when the shell command begins with + "!start". (Yasuhiro Matsumoto, closes #4504) +Files: src/misc2.c, src/os_win32.c + +Patch 8.1.1493 +Problem: Redrawing with popups is slow and causes flicker. +Solution: Avoid clearing and redrawing using a zindex mask. +Files: src/globals.h, src/screen.c, src/proto/screen.pro, src/popupwin.c, + src/popupmnu.c + +Patch 8.1.1494 (after 8.1.1493) +Problem: Build failure. +Solution: Add missing changes. +Files: src/structs.h + +Patch 8.1.1495 (after 8.1.1494) +Problem: Memory access error. +Solution: Use the correct size for clearing the popup mask. +Files: src/screen.c + +Patch 8.1.1496 +Problem: Popup window height is not recomputed. +Solution: Recompute the height when needed. +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_06.dump + +Patch 8.1.1497 +Problem: Accessing memory beyond allocated space. +Solution: Check column before accessing popup mask. +Files: src/screen.c + +Patch 8.1.1498 +Problem: ":write" increments b:changedtick even though nothing changed. + (Daniel Hahler) +Solution: Only increment b:changedtick if the modified flag is reset. +Files: src/change.c, src/proto/change.pro, runtime/doc/eval.txt, + src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, + src/undo.c + +Patch 8.1.1499 +Problem: Ruler not updated after popup window was removed. +Solution: use popup_mask in screen_puts(). +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_08.dump + +Patch 8.1.1500 +Problem: Wrong shell command when building with VIMDLL and "!" in + 'guioptions'. +Solution: Add check for GUI in use. (Ken Takata) +Files: src/misc2.c + +Patch 8.1.1501 +Problem: New behavior of b:changedtick not tested. +Solution: Add a few test cases. (Daniel Hahler) +Files: src/testdir/test_changedtick.vim + +Patch 8.1.1502 +Problem: Cannot play any sound. +Solution: Use libcanberra if available. Add sound functions. +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/Makefile, src/sound.c, src/proto/sound.pro, src/proto.h, + src/evalfunc.c, src/feature.h, runtime/doc/eval.txt, Filelist, + src/version.c, src/testdir/test_sound.vim, src/testdir/silent.wav, + src/testdir/Make_all.mak, .travis.yml + +Patch 8.1.1503 +Problem: Sound test fails on Travis. +Solution: Set AUDIODEV to "null". +Files: .travis.yml + +Patch 8.1.1504 +Problem: Sound test still fails on Travis. +Solution: Add more lines to the install section. +Files: .travis.yml + +Patch 8.1.1505 +Problem: Running "make clean" twice gives errors. +Solution: Add "-f" to "rm". (closes #4516) +Files: src/testdir/Makefile + +Patch 8.1.1506 +Problem: Syntax error in Travis config. +Solution: Set AUDIODEV in another section. +Files: .travis.yml + +Patch 8.1.1507 +Problem: Sound test still fails on Travis. +Solution: Try another dummy sound approach. +Files: .travis.yml + +Patch 8.1.1508 +Problem: Sound keeps failing on Travis. +Solution: Throw a skipped exception in the test. +Files: src/testdir/test_sound.vim + +Patch 8.1.1509 +Problem: Cmdline_row can become negative, causing a crash. +Solution: Make sure cmdline_row does not become negative. (closes #4102) +Files: src/misc1.c + +Patch 8.1.1510 +Problem: A plugin cannot easily expand a command like done internally. +Solution: Add the expandcmd() function. (Yegappan Lakshmanan, closes #4514) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_expand.vim + +Patch 8.1.1511 +Problem: Matches in a popup window are not displayed properly. +Solution: Do display matches in a popup window. (closes #4517) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_matches.dump + +Patch 8.1.1512 +Problem: ch_evalexpr() hangs when used recursively. (Paul Jolly) +Solution: Change ch_block_id from a single number to a list of IDs to wait + on. +Files: src/channel.c, src/structs.h + +Patch 8.1.1513 +Problem: All popup functionality is in functions, except :popupclear. +Solution: Add popup_clear() for consistency. Also rename sound_stopall() to + sound_clear(). +Files: src/ex_cmds.h, src/ex_cmdidxs.h, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/sound.c, src/proto/sound.pro, + src/testdir/test_popupwin.vim src/testdir/test_sound.vim, + runtime/doc/eval.txt runtime/doc/popup.txt + +Patch 8.1.1514 (after 8.1.1492) +Problem: MS-Windows: wrong shell command with ! in 'guioptions'. +Solution: Do not check for ! in 'guioptions' when applying 'shellxquote'. + (Yasuhiro Matsumoto, closes #4519) +Files: src/misc2.c + +Patch 8.1.1515 +Problem: Memory leak reported for sound when build with EXITFREE. +Solution: Free sound stuff when exiting. +Files: src/misc2.c + +Patch 8.1.1516 +Problem: Time reported for a test measured wrong. +Solution: Move the computation to the end of RunTheTest(). (Ozaki Kiichi, + closes #4520) +Files: src/testdir/runtest.vim + +Patch 8.1.1517 +Problem: When a popup changes all windows are redrawn. +Solution: Only update the lines that were affected. Add a file for + profiling popup windows efficiency. +Files: src/screen.c, src/proto/screen.pro, src/ui.c, src/popupwin.c, + src/globals.h, src/testdir/popupbounce.vim, Filelist + +Patch 8.1.1518 +Problem: Crash when setting 'columns' while a popup is visible. +Solution: Recompute all positions when clearing the screen. (closes #4467) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_04a.dump + +Patch 8.1.1519 +Problem: 'backupskip' may contain duplicates. +Solution: Add the P_NODUP flag. (Tom Ryder) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.1.1520 +Problem: Popup windows are ignored when dealing with mouse position +Solution: Find the mouse position inside a popup window. Allow for modeless + selection. +Files: src/ui.c, src/proto/ui.pro, src/popupwin.c, + src/proto/popupwin.pro, src/screen.c, src/beval.c, src/edit.c, + src/evalfunc.c, src/gui.c, src/normal.c, src/structs.h + +Patch 8.1.1521 +Problem: When a popup window is closed the buffer remains. +Solution: Wipe out the buffer. +Files: src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1522 +Problem: Popup_notification() not implemented yet. +Solution: Implement it. +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + src/testdir/dumps/Test_popupwin_notify_01.dump, + src/testdir/dumps/Test_popupwin_notify_02.dump + +Patch 8.1.1523 +Problem: Cannot show range of buffer lines in popup window. +Solution: Add the "firstline" property. (closes #4523) +Files: src/popupwin.c, src/structs.h, runtime/doc/popup.txt, + src/testdir/test_popupwin.vim, + testdir/dumps/Test_popupwin_firstline.dump + +Patch 8.1.1524 +Problem: Tests are silently skipped. +Solution: Throw an exception for skipped tests in more places. +Files: src/testdir/test_assert.vim, src/testdir/test_paste.vim, + src/testdir/shared.vim, src/testdir/test_crypt.vim, + src/testdir/test_cscope.vim, src/testdir/test_digraph.vim, + src/testdir/test_float_func.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/test_history.vim, + src/testdir/test_langmap.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, src/testdir/test_lua.vim, + src/testdir/test_makeencoding.vim, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_menu.vim, + src/testdir/test_mksession.vim, + src/testdir/test_mksession_utf8.vim, + src/testdir/test_netbeans.vim, src/testdir/test_paste.vim, + src/testdir/test_perl.vim, src/testdir/test_profile.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_quotestar.vim, src/testdir/test_reltime.vim, + src/testdir/test_ruby.vim, src/testdir/test_sha256.vim, + src/testdir/test_shortpathname.vim, src/testdir/test_signals.vim, + src/testdir/test_signs.vim, src/testdir/test_spell.vim, + src/testdir/test_syntax.vim, src/testdir/test_tcl.vim, + src/testdir/test_termcodes.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal_fail.vim, + src/testdir/test_textobjects.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_vartabs.vim, + src/testdir/test_winbar.vim, src/testdir/test_windows_home.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1525 +Problem: Cannot move a popup window with the mouse. +Solution: Add the "drag" property and make it possible to drag a popup + window by its border. +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/ui.c, + src/window.c, src/proto/window.pro, runtime/doc/popup.txt + +Patch 8.1.1526 +Problem: No numerical value for the patchlevel. +Solution: Add v:versionlong. +Files: src/version.c, src/eval.c, src/vim.h, runtime/doc/eval.txt, + src/testdir/test_eval_stuff.vim + +Patch 8.1.1527 +Problem: When moving a popup window over the command line it is not + redrawn. +Solution: Redraw the command line. Move popup redrawing code to the popupwin + file. +Files: src/screen.c, src/proto/screen.pro, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump + +Patch 8.1.1528 +Problem: Popup_any_visible() is unused. +Solution: Remove it. +Files: src/popupwin.c, src/proto/popupwin.pro + +Patch 8.1.1529 +Problem: Libcanberra is linked with even when not used. +Solution: Have configure check for libcanberra only when wanted. + (suggestions by Libor Bukata) +Files: src/feature.h, src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.1.1530 +Problem: Travis config is not optimal. +Solution: Remove system conditions. Do not use excluding matrix. Cache OSX + results. (Ozaki Kiichi, closes #4521) +Files: .travis.yml + +Patch 8.1.1531 +Problem: Clipboard type name is inconsistent. +Solution: Rename VimClipboard to Clipboard_T. +Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/gui_mac.c, + src/proto/gui_mac.pro, src/gui_x11.c, src/proto/gui_x11.pro, + src/ops.c, src/proto/ops.pro, src/os_qnx.c, src/proto/os_qnx.pro, + src/os_unix.c, src/proto/os_unix.pro, src/ui.c, src/proto/ui.pro, + src/winclip.c, src/proto/winclip.pro, src/globals.h, src/proto.h + +Patch 8.1.1532 (after 8.1.1531) +Problem: Build fails. +Solution: Add missing changes. +Files: src/vim.h + +Patch 8.1.1533 +Problem: GUI build fails on Mac. +Solution: Change VimClipboard type in non-C file. +Files: src/os_macosx.m + +Patch 8.1.1534 +Problem: Modeless selection in popup window selects too much. +Solution: Restrict the selection to inside of the popup window. +Files: src/vim.h, src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_select_01.dump, + src/testdir/dumps/Test_popupwin_select_02.dump + +Patch 8.1.1535 (after 8.1.1534) +Problem: Popup select test fails on Mac. +Solution: Skip test if clipboard feature not available. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1536 (after 8.1.1534) +Problem: Popup select test still fails on Mac. +Solution: Set 'clipboard' to "autoselect" +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1537 +Problem: Using "tab" for popup window can be confusing. +Solution: Use "tabpage". (Hirohito Higashi, closes #4532) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1538 +Problem: Cannot specify highlighting for notifications. +Solution: Use the PopupNotification group if it exists. Add a minimal width + to notifications. +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_notify_01.dump, + src/testdir/dumps/Test_popupwin_notify_02.dump + +Patch 8.1.1539 +Problem: Not easy to define a variable and lock it. +Solution: Add ":const". (Ryuichi Hayashida, closes #4541) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmdidxs.h, src/ex_cmds.h, + src/proto/eval.pro, src/testdir/Make_all.mak, + src/testdir/test_const.vim + +Patch 8.1.1540 (after 8.1.1539) +Problem: Cannot build without the +eval feature. +Solution: Define ex_const if needed. +Files: src/ex_docmd.c + +Patch 8.1.1541 +Problem: Check for ASAN is not reliable. +Solution: Check the version output. (Dominique Pelle, closes #4543) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1542 +Problem: An OptionSet autocommand does not get enough info. +Solution: Add v:option_command, v:option_oldlocal and v:option_oldglobal. + (Latrice Wilgus, closes #4118) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, + runtime/doc/version8.txt, src/eval.c, src/option.c, src/structs.h, + src/testdir/test_autocmd.vim, src/vim.h + +Patch 8.1.1543 +Problem: Const test fails with small features. +Solution: Don't unlet non-existing variables. +Files: src/testdir/test_const.vim + +Patch 8.1.1544 +Problem: Some balloon tests don't run when they can. +Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi, + closes #4538) Change the feature check into a command for + consistency. +Files: Filelist, src/testdir/Make_all.mak, src/testdir/check.vim, + src/testdir/test_arabic.vim, src/testdir/test_balloon.vim, + src/testdir/test_balloon_gui.vim, src/testdir/test_crypt.vim, + src/testdir/test_cscope.vim, src/testdir/test_digraph.vim, + src/testdir/test_float_func.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/test_history.vim, + src/testdir/test_langmap.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, src/testdir/test_lua.vim, + src/testdir/test_makeencoding.vim, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_menu.vim, + src/testdir/test_mksession.vim, + src/testdir/test_mksession_utf8.vim, + src/testdir/test_netbeans.vim, src/testdir/test_paste.vim, + src/testdir/test_perl.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim, + src/testdir/test_pyx2.vim, src/testdir/test_pyx3.vim, + src/testdir/test_quickfix.vim, src/testdir/test_quotestar.vim, + src/testdir/test_reltime.vim, src/testdir/test_ruby.vim, + src/testdir/test_sha256.vim, src/testdir/test_shortpathname.vim, + src/testdir/test_signals.vim, src/testdir/test_signs.vim, + src/testdir/test_spell.vim, src/testdir/test_syntax.vim, + src/testdir/test_tcl.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal_fail.vim, + src/testdir/test_textobjects.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_vartabs.vim, + src/testdir/test_winbar.vim, src/testdir/test_windows_home.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1545 +Problem: When the screen is too small there is no message about that. + (Daniel Hahler) +Solution: Do not use :cquit. (closes #4534) +Files: src/testdir/runtest.vim + +Patch 8.1.1546 +Problem: In some tests 'tags' is set but not restored. (Daniel Hahler) +Solution: Restore 'tags'. (closes #4535) +Files: src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim, + src/testdir/test_options.vim, src/testdir/test_tagcase.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.1.1547 +Problem: Functionality of bt_nofile() is confusing. +Solution: Split into bt_nofile() and bt_nofilename(). +Files: src/buffer.c, src/proto/buffer.pro, src/evalfunc.c, src/ex_cmds.c, + src/ex_docmd.c, src/fileio.c, src/popupmnu.c, src/quickfix.c + +Patch 8.1.1548 +Problem: Popup_dialog() is not implemented. +Solution: Implement popup_dialog() and popup_filter_yesno(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, src/globals.h, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + +Patch 8.1.1549 (after 8.1.1547) +Problem: Quickfix test fails. +Solution: Negate result of bt_quickfix(). +Files: src/quickfix.c + +Patch 8.1.1550 +Problem: When a popup has left padding text may be cut off. +Solution: Add the border and padding when computing the size. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1551 +Problem: Warning for shadowing popup_dragwin. (Dominique Pelle) +Solution: Add missing change. +Files: src/ui.c + +Patch 8.1.1552 +Problem: Cursor position is wrong after sign column appears or disappears. + (Yegappan Lakshmanan) +Solution: Call changed_line_abv_curs() instead of changed_cline_bef_curs(). +Files: src/sign.c, src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_01.dump, + src/testdir/dumps/Test_sign_cursor_02.dump + +Patch 8.1.1553 +Problem: Not easy to change the text in a popup window. +Solution: Add popup_settext(). (Ben Jackson, closes #4549) + Also display a space for an empty popup. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, + src/testdir/dumps/Test_popup_settext_01.dump, + src/testdir/dumps/Test_popup_settext_02.dump, + src/testdir/dumps/Test_popup_settext_03.dump, + src/testdir/dumps/Test_popup_settext_04.dump, + src/testdir/dumps/Test_popup_settext_05.dump, + src/testdir/dumps/Test_popup_settext_06.dump, + src/testdir/test_popupwin.vim + +Patch 8.1.1554 (after 8.1.1539) +Problem: Docs and tests for :const can be improved. +Solution: Improve documentation, add a few more tests. (Ryuichi Hayashida, + closes #4551) +Files: runtime/doc/eval.txt, src/testdir/test_const.vim + +Patch 8.1.1555 +Problem: NOT_IN_POPUP_WINDOW is confusing. (Andy Massimino) +Solution: Rename to ERROR_IF_POPUP_WINDOW(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/macros.h, + src/ex_cmds2.c, src/ex_docmd.c, src/window.c + +Patch 8.1.1556 +Problem: The command displayed to show a failing screenshot does not include + the "testdir" directory. +Solution: Prefix the directory name so that it can be copy-pasted. +Files: src/testdir/screendump.vim + +Patch 8.1.1557 +Problem: Compiler warning for unused variables in tiny version. (Tony + Mechelynck) +Solution: Add #ifdef. +Files: src/option.c + +Patch 8.1.1558 +Problem: Popup_menu() and popup_filter_menu() are not implemented yet. +Solution: Implement the functions. Fix that centering didn't take the border + and padding into account. +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/evalfunc.c, src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_03.dump, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump + +Patch 8.1.1559 +Problem: Popup window title property not implemented yet. +Solution: Implement the title property. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h + src/window.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_title.dump + +Patch 8.1.1560 +Problem: Popup window hidden option not implemented yet. +Solution: Implement the hidden option. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1561 +Problem: Popup_setoptions() is not implemented yet. +Solution: Implement popup_setoptions(). Also add more fields to + popup_getoptions(). +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/dict.c, src/proto/dict.pro, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/runtest.vim + +Patch 8.1.1562 +Problem: Popup window not always redrawn after popup_setoptions(). +Solution: Force a redraw. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_23.dump + +Patch 8.1.1563 +Problem: Crash when using closures. +Solution: Set reference in varlist of funccal when running the garbage + collector. (Ozaki Kiichi, closes #4554, closes #4547) +Files: src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.1.1564 +Problem: Sign column takes up space. (Adam Stankiewicz) +Solution: Optionally put signs in the number column. (Yegappan Lakshmanan, + closes #4555, closes #4515) +Files: runtime/doc/options.txt, src/option.c, src/screen.c, + src/testdir/test_signs.vim + +Patch 8.1.1565 +Problem: MS-Windows: no sound support. +Solution: Add sound support for MS-Windows. (Yasuhiro Matsumoto, Ken Takata, + closes #4522) +Files: runtime/doc/eval.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/sound.c, src/testdir/test_sound.vim + +Patch 8.1.1566 +Problem: Error message when terminal closes while it is not in the current + tab. +Solution: Also set "do_set_w_closing" when using the special autocommand + window. (closes #4552) +Files: src/terminal.c + +Patch 8.1.1567 +Problem: Localtime_r() does not respond to $TZ changes. +Solution: If $TZ changes then call tzset(). (Tom Ryder) +Files: src/auto/configure, src/config.h.in, src/configure.ac, + src/evalfunc.c, src/memline.c, src/proto/memline.pro, + src/testdir/test_functions.vim, src/undo.c + +Patch 8.1.1568 (after 8.1.1567) +Problem: Strftime() test fails on MS-Windows. +Solution: Skip the check for using the $TZ environment variable. +Files: src/testdir/test_functions.vim + +Patch 8.1.1569 +Problem: Cannot build with signs but without diff feature. +Solution: Move #ifdef. (Tom Ryder) +Files: src/screen.c + +Patch 8.1.1570 +Problem: Icon signs not displayed properly in the number column. +Solution: Display them properly. (Yegappan Lakshmanan, closes #4559) +Files: src/gui.c, src/screen.c, src/testdir/test_signs.vim + +Patch 8.1.1571 +Problem: textprop highlight starts too early if just after a tab. +Solution: Check if still drawing a previous character. (closes #4558) +Files: src/screen.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_tab.dump + +Patch 8.1.1572 (after 8.1.1569) +Problem: Compiler warnings with tiny build. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.1573 (after 8.1.1571) +Problem: Textprop test fails if screenshots do not work. +Solution: Add check for screenshots working. +Files: src/testdir/test_textprop.vim + +Patch 8.1.1574 +Problem: Tabpage option not yet implemented for popup window. +Solution: Implement tabpage option, also for popup_getoptions(). +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1575 +Problem: Callbacks may be garbage collected. +Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564) +Files: src/buffer.c, src/channel.c, src/eval.c, src/ex_cmds2.c, + src/popupwin.c, src/proto/buffer.pro, src/proto/popupwin.pro, + src/terminal.c, src/testdir/test_listener.vim, + src/testdir/test_popupwin.vim, src/testdir/test_prompt_buffer.vim, + src/userfunc.c + +Patch 8.1.1576 +Problem: Compiler warning for unused argument. +Solution: Add "UNUSED" annotation. (Dominique Pelle, closes #4570) +Files: src/ui.c + +Patch 8.1.1577 +Problem: Command line redrawn for +arabic without Arabic characters. + (Dominique Pelle) +Solution: Check if there actually are any Arabic characters. Do redraw + after displaying incsearch. (closes #4569) +Files: src/ex_getln.c + +Patch 8.1.1578 +Problem: MS-Windows: pathdef.c should depend on build options. +Solution: Generate pathdef.c in the object directory. Fix dependencies. + (Ken Takata, closes #4565) +Files: .gitignore, .hgignore, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.1579 +Problem: Dict and list could be GC'ed while displaying error in a timer. + (Yasuhiro Matsumoto) +Solution: Block garbage collection when executing a timer. Add + test_garbagecollect_soon(). Add "no_wait_return" to + test_override(). (closes #4571) +Files: src/dict.c, src/testdir/test_timers.vim, src/evalfunc.c, + runtime/doc/eval.txt + +Patch 8.1.1580 +Problem: Cannot make part of a popup transparent. +Solution: Add the "mask" option. +Files: runtime/doc/popup.txt, src/popupwin.c, src/screen.c, + src/structs.h, src/window.c, src/ui.c, src/vim.h, src/globals.h, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump + +Patch 8.1.1581 +Problem: Shared functions for testing are disorganised. +Solution: Group functions in script files. (Ozaki Kiichi, closes #4573) +Files: Filelist, src/testdir/screendump.vim, src/testdir/shared.vim, + src/testdir/term_util.vim, src/testdir/test_mksession.vim, + src/testdir/test_suspend.vim, src/testdir/test_terminal.vim, + src/testdir/test_timers.vim, src/testdir/view_util.vim + +Patch 8.1.1582 +Problem: Cannot build with +textprop but without +timers. +Solution: Add #ifdef. (Ola Söder, closes #4574) +Files: src/popupwin.c + +Patch 8.1.1583 +Problem: Set_ref_in_list() only sets ref in items. +Solution: Rename to set_ref_in_list_items() to avoid confusion. +Files: src/eval.c, src/proto/eval.pro, src/if_lua.c, src/popupwin.c, + src/userfunc.c, src/if_py_both.h + +Patch 8.1.1584 +Problem: The evalfunc.c file is getting too big. +Solution: Move channel and job related functions to channel.c. +Files: src/channel.c, src/evalfunc.c, src/proto/channel.pro + +Patch 8.1.1585 +Problem: :let-heredoc does not trim enough. +Solution: Trim indent from the contents based on the indent of the first + line. Use let-heredoc in more tests. +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_balloon.vim, + src/testdir/test_cindent.vim, src/testdir/test_const.vim, + src/testdir/test_debugger.vim, src/testdir/test_functions.vim, + src/testdir/test_goto.vim, src/testdir/test_gui.vim, + src/testdir/test_highlight.vim, src/testdir/test_join.vim, + src/testdir/test_let.vim, src/testdir/test_memory_usage.vim, + src/testdir/test_messages.vim, + src/testdir/test_mksession_utf8.vim, src/testdir/test_normal.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_quickfix.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1586 +Problem: Error number used in two places. +Solution: Renumber one. (Ken Takata) +Files: runtime/doc/popup.txt, src/popupwin.c + +Patch 8.1.1587 +Problem: Redraw problem when sign icons in the number column. +Solution: Clear and redraw when changing related options. Right align the + sign icon in the GUI. (Yegappan Lakshmanan, closes #4578) +Files: src/gui.c, src/option.c + +Patch 8.1.1588 +Problem: In :let-heredoc line continuation is recognized. +Solution: Do not consume line continuation. (Ozaki Kiichi, closes #4580) +Files: src/autocmd.c, src/digraph.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_getln.c, src/normal.c, src/ops.c, src/proto/autocmd.pro, + src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, + src/proto/ex_getln.pro, src/proto/userfunc.pro, + src/testdir/test_let.vim, src/testdir/test_startup.vim, + src/userfunc.c + +Patch 8.1.1589 +Problem: Popup window does not indicate scroll position. +Solution: Add a scrollbar. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_scroll_1.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1590 +Problem: Popup window test fails. +Solution: Add "scrollbar" to expected result. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1591 +Problem: On error garbage collection may free memory in use. +Solution: Reset may_garbage_collect when evaluating expression mapping. + Add tests. (Ozaki Kiichi, closes #4579) +Files: src/ex_cmds2.c, src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim + +Patch 8.1.1592 +Problem: May start file dialog while exiting. +Solution: Ignore the "browse" modifier when exiting. (Ozaki Kiichi, + closes #4582) +Files: src/ex_cmds.c, src/terminal.c + +Patch 8.1.1593 +Problem: Filetype not detected for C++ header files without extension. +Solution: Recognize the file by the Emacs file mode. (Dmitry Ilyin, + closes #4593) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.1.1594 +Problem: May still start file dialog while exiting. +Solution: Ignore the "browse" modifier in another place when exiting. + (Ozaki Kiichi, closes #4582) +Files: src/ex_cmds.c + +Patch 8.1.1595 +Problem: MS-Windows with VIMDLL: colors wrong in the GUI. +Solution: Do not set the terminal colors when not using the GUI. (Ken + Takata, closes #4588) +Files: src/syntax.c + +Patch 8.1.1596 +Problem: When resizing the screen may draw popup in wrong position. (Masato + Nishihata) +Solution: Check the popup is not outside of the screen. (fixes #4592) +Files: src/popupwin.c + +Patch 8.1.1597 +Problem: Cannot scroll a popup window with the mouse. +Solution: If the popup window has a scrollbar let the mouse scroll wheel + scroll the window. +Files: runtime/doc/popup.txt, src/normal.c, src/popupwin.c, src/screen.c, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_scroll_1.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump, + src/testdir/dumps/Test_popupwin_scroll_7.dump + +Patch 8.1.1598 +Problem: Update to test file missing. +Solution: Update the popup window test file. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1599 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Add a dummy assignment. +Files: src/popupwin.c, src/normal.c + +Patch 8.1.1600 +Problem: Cannot specify highlighting for popup window scrollbar. +Solution: Add "scrollbarhighlight" and "thumbhighlight" options. +Files: src/popupwin.c, src/structs.h, src/window.c, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump, + src/testdir/dumps/Test_popupwin_scroll_7.dump + +Patch 8.1.1601 +Problem: Missing changes to popup window test file. +Solution: Add those changes. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1602 +Problem: Popup window cannot overflow on the left or right. +Solution: Only set the "fixed" option when it is in the dict. Set w_leftcol + to allow for the popup overflowing on the left and use it when + applying the mask. +Files: src/popupwin.c + +Patch 8.1.1603 +Problem: Crash when using unknown highlighting in text property. +Solution: Check for zero highlight ID. +Files: src/screen.c, src/testdir/test_textprop.vim + +Patch 8.1.1604 +Problem: Popup window scroll test is flaky. +Solution: Add a delay between scroll events. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1605 +Problem: Vim may delay processing messages on a json channel. (Pontus + Leitzler) +Solution: Try parsing json when checking if there is readahead. +Files: src/channel.c + +Patch 8.1.1606 +Problem: On a narrow screen ":hi" output is confusing. +Solution: Insert a space between highlight group name and "xxx". (Masato + Nishihaga, closes #4599) +Files: src/syntax.c, src/testdir/test_highlight.vim + +Patch 8.1.1607 +Problem: Popup window scrollbar does not respond to click. +Solution: Mouse click in scrollbar scrolls by one line. +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/ui.c, + src/normal.c, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_scroll_8.dump, + src/testdir/dumps/Test_popupwin_scroll_9.dump + +Patch 8.1.1608 +Problem: The evalfunc.c file is too big. +Solution: Move sign functionality to sign.c. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/sign.c, + src/proto/sign.pro + +Patch 8.1.1609 +Problem: The user cannot easily close a popup window. +Solution: Add the "close" property. (mostly by Masato Nishihata, + closes #4601) +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/structs.h, src/testdir/dumps/Test_popupwin_close_01.dump, + src/testdir/dumps/Test_popupwin_close_02.dump, + src/testdir/dumps/Test_popupwin_close_03.dump, + src/testdir/test_popupwin.vim, src/ui.c + +Patch 8.1.1610 +Problem: There is no way to add or load a buffer without side effects. +Solution: Add the bufadd() and bufload() functions. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.1.1611 +Problem: Bufadd() reuses existing buffer without a name. +Solution: When the name is empty always create a new buffer. +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.1.1612 +Problem: Cannot show an existing buffer in a popup window. +Solution: Support buffer number argument in popup_create(). +Files: src/buffer.c, src/proto/buffer.pro, src/evalfunc.c, + src/popupwin.c, src/vim.h, src/normal.c, src/screen.c, src/ui.c, + src/window.c, src/testdir/test_popupwin.vim, runtime/doc/popup.txt + +Patch 8.1.1613 +Problem: Popup window test fails with Athena and Motif. +Solution: Compute the highlight attribute when the GUI is not active. +Files: src/syntax.c + +Patch 8.1.1614 +Problem: 'numberwidth' can only go up to 10. +Solution: Allow up to 20. (Charlie Stanton, closes #4584) +Files: runtime/doc/options.txt, src/option.c, src/screen.c, + src/testdir/gen_opt_test.vim, src/testdir/test_options.vim + +Patch 8.1.1615 +Problem: Crash when passing buffer number to popup_create(). (Yasuhiro + Matsumoto) +Solution: Initialize the window properly. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1616 +Problem: Build failure with gcc on Amiga. +Solution: Add missing header includes. (Ola Söder, closes #4603) +Files: src/os_amiga.h + +Patch 8.1.1617 +Problem: No test for popup window with mask and position fixed. +Solution: Add a couple of screenshots. Fix detected problems. +Files: src/popupwin.c, src/structs.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump + +Patch 8.1.1618 +Problem: Amiga-like systems quickly run out of stack. +Solution: Reserve a Megabyte stack. (Ola Söder, closes #4608) +Files: src/os_amiga.c + +Patch 8.1.1619 +Problem: Tests are not run with GUI on Travis. +Solution: Add a testgui job. (Ozaki Kiichi, closes #4609) +Files: .travis.yml, src/testdir/test_highlight.vim, + src/testdir/test_mapping.vim, src/testdir/test_timers.vim + +Patch 8.1.1620 +Problem: No test for popup window with border and mask. +Solution: Add this popup window, fix problems. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump + +Patch 8.1.1621 +Problem: Amiga: time.h included twice. +Solution: Remove include from evalfunc.c, move outside of #ifdef in + os_amiga.h. (Ola Söder, closes #4607) +Files: src/evalfunc.c, src/os_amiga.h + +Patch 8.1.1622 +Problem: Wrong width if displaying a lot of lines in a popup window. +Solution: Accurately compute the line overflow. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_firstline.dump + +Patch 8.1.1623 +Problem: Display wrong with signs in narrow number column. +Solution: Increase the numbercolumn width if needed. (Yegappan Lakshmanan, + closes #4606) +Files: src/option.c, src/screen.c, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1624 +Problem: When testing in the GUI may try to run gvim in a terminal. +Solution: Add the -v argument. (Yee Cheng Chin, closes #4605) Don't skip + tests that work now. +Files: src/testdir/shared.vim, src/testdir/term_util.vim, + src/testdir/test_mapping.vim, src/testdir/test_timers.vim + +Patch 8.1.1625 +Problem: Script line numbers are not exactly right. +Solution: Handle heredoc and continuation lines better. (Ozaki Kiichi, + closes #4611, closes #4511) +Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, + src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.1.1626 +Problem: No test for closing a popup window with a modified buffer. +Solution: Add a test. Add "popups" to getbufinfo(). +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1627 +Problem: Header file contains mixed comment style. +Solution: Use // style comments. +Files: src/structs.h + +Patch 8.1.1628 +Problem: Popup window functions not in list of functions. +Solution: Add popup window functions to the list of functions. Reorganise + the popup window help. +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, + runtime/doc/usr_41.txt + +Patch 8.1.1629 +Problem: Terminal function help is in the wrong file. +Solution: Move the function details to terminal.txt. +Files: runtime/doc/eval.txt, runtime/doc/terminal.txt + +Patch 8.1.1630 +Problem: Various small problems. +Solution: Various small improvements. +Files: src/gui_beval.c, src/list.c, src/menu.c, src/message.c, + src/misc2.c, src/testdir/test_terminal.vim, src/os_vms_conf.h, + src/testdir/Make_vms.mms + +Patch 8.1.1631 +Problem: Displaying signs is inefficient. +Solution: Avoid making multiple calls to get information about a placed + sign. (Yegappan Lakshmanan, closes #4586) +Files: src/proto/sign.pro, src/screen.c, src/sign.c, src/structs.h + +Patch 8.1.1632 +Problem: Build with EXITFREE but without +arabic fails. +Solution: Rename the function and adjust #ifdefs. (closes #4613) +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/misc2.c + +Patch 8.1.1633 +Problem: Cannot generate prototypes with X11 but without GUI. +Solution: Include X11/Intrinsic.h. +Files: src/gui.h + +Patch 8.1.1634 +Problem: Terminal test fails when term_getansicolors() is missing. + Diff test fails without +rightleft. (Dominique Pelle) +Solution: Check if term_getansicolors() is supported. (closes #4597) +Files: src/testdir/test_terminal.vim, src/testdir/test_diffmode.vim + +Patch 8.1.1635 +Problem: Warnings for unused variables in small version. (John Marriott) +Solution: Adjust #ifdefs. +Files: src/screen.c + +Patch 8.1.1636 +Problem: Crash when popup has fitting scrollbar. (Trygve Aaberge) +Solution: Don't divide by zero if the scrollbar just fits. (closes #4615) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1637 +Problem: After running tests and clean the XfakeHOME directory remains. +Solution: Use "rm -rf". (Hirohito Higashi) +Files: src/testdir/Makefile, src/testdir/Make_amiga.mak + +Patch 8.1.1638 +Problem: Running tests leaves some files behind. +Solution: Delete the files. (Ozaki Kiichi, closes #4617) +Files: src/testdir/test_functions.vim, src/testdir/test_popupwin.vim + +Patch 8.1.1639 +Problem: Changing an autoload name into a script file name is inefficient. +Solution: Remember the last replaced #. (Ozaki Kiichi, closes #4618) +Files: src/eval.c + +Patch 8.1.1640 +Problem: The CursorHold autocommand takes down a balloon. (Paul Jolly) +Solution: Ignore the CursorHold pseudo-key. +Files: src/getchar.c, src/testdir/test_balloon.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump + +Patch 8.1.1641 +Problem: Garbage collection may run at a wrong moment. (Trygve Aaberge) +Solution: Postpone garbage collection while parsing messages. (closes #4620) +Files: src/misc2.c + +Patch 8.1.1642 (after 8.1.0374) +Problem: May use uninitialized variable. (Patrick Palka) +Solution: Initialize variables earlier. (closes #4623) +Files: src/screen.c, src/testdir/test_number.vim + +Patch 8.1.1643 +Problem: Sign placement is wrong when 'foldcolumn' is set. +Solution: Adjust the column computation. (Yee Cheng Chin, closes #4627) +Files: src/gui.c + +Patch 8.1.1644 +Problem: Sound test does not work on Travis. +Solution: Use "sg" command to enable audio. (Ozaki Kiichi, closes #4624) +Files: .travis.yml + +Patch 8.1.1645 +Problem: Cannot use a popup window for a balloon. +Solution: Add popup_beval(). Add the "mousemoved" property. Add the + screenpos() function. +Files: src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/proto/move.pro, src/beval.c, src/proto/beval.pro, + src/evalfunc.c, src/popupmnu.c, src/normal.c, + src/testdir/test_popupwin.vim, src/testdir/test_cursor_func.vim, + runtime/doc/popup.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, + src/testdir/dumps/Test_popupwin_beval_1.dump, + src/testdir/dumps/Test_popupwin_beval_2.dump, + src/testdir/dumps/Test_popupwin_beval_3.dump + +Patch 8.1.1646 (after 8.1.1645) +Problem: build failure +Solution: Add changes to structure. +Files: src/structs.h + +Patch 8.1.1647 +Problem: Build error with GTK and hangulinput feature, im_get_status() + defined twice. (Dominique Pelle) +Solution: Adjust im_get_status(). (closes #4628) +Files: src/hangulin.c, src/mbyte.c + +Patch 8.1.1648 +Problem: MS-Windows: build error with normal features. +Solution: Adjust #ifdef for find_word_under_cursor(). +Files: src/beval.c, src/proto/beval.pro + +Patch 8.1.1649 +Problem: Illegal memory access when closing popup window. +Solution: Get w_next before closing the window. +Files: src/popupwin.c + +Patch 8.1.1650 +Problem: Warning for using uninitialized variable. (Tony Mechelynck) +Solution: Simplify the code by always using the mouse coordinates. +Files: src/beval.c + +Patch 8.1.1651 +Problem: Suspend test is flaky on some systems. +Solution: Wait for the shell prompt to show. (Yee Cheng Chin, closes #4632) +Files: src/testdir/test_suspend.vim + +Patch 8.1.1652 +Problem: GUI: popup window doesn't close on mouse movement. (Paul Jolly) +Solution: Generate mouse-move events when a popup window is visible. +Files: src/gui.c, src/globals.h + +Patch 8.1.1653 +Problem: Ubsan warns for possibly passing NULL pointer. +Solution: Skip code when length is zero. (Dominique Pelle, closes #4631) +Files: src/channel.c + +Patch 8.1.1654 +Problem: GUI: screen updates from 'balloonexpr' are not displayed. +Solution: Update the screen if needed. Also avoid the cursor being + displayed in the wrong position. +Files: src/beval.c + +Patch 8.1.1655 +Problem: Popup window border drawn wrong with multibyte char. (Marcin + Szamotulski) +Solution: Correct check in mb_fix_col(). (closes #4635) +Files: src/mbyte.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_24.dump + +Patch 8.1.1656 +Problem: Popup window width is wrong when using Tabs. (Paul Jolly) +Solution: Count tabs correctly. (closes #4637) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_11.dump + +Patch 8.1.1657 +Problem: Terminal: screen updates from 'balloonexpr' are not displayed. +Solution: Update the screen if needed. Fix the word position for + "mousemoved". +Files: src/beval.c, src/proto/beval.pro, src/popupwin.c, src/normal.c, + src/proto/normal.pro + +Patch 8.1.1658 +Problem: Debug statements included in patch. +Solution: Remove the debug statements. +Files: src/normal.c, src/popupwin.c + +Patch 8.1.1659 +Problem: Popup window "mousemoved" values not correct. +Solution: Convert text column to mouse column. +Files: src/popupwin.c, runtime/doc/popup.txt + +Patch 8.1.1660 +Problem: Assert_fails() does not fail inside try/catch. +Solution: Set trylevel to zero. (Ozaki Kiichi, closes #4639) +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 8.1.1661 +Problem: Cannot build with +textprop but without +balloon_eval. +Solution: Adjust #ifdefs. (closes #4645) +Files: src/proto.h + +Patch 8.1.1662 +Problem: Cannot build uninstal.exe with some version of MinGW. +Solution: Add -lole32. (Rene Nyffenegger, closes #4646) +Files: src/Make_cyg_ming.mak + +Patch 8.1.1663 +Problem: Compiler warning for using size_t. +Solution: Add type cast. (Mike Williams) +Files: src/popupwin.c + +Patch 8.1.1664 +Problem: GUI resize may cause changing Rows at a bad time. (Dominique + Pelle) +Solution: Postpone resizing while updating the screen. +Files: src/term.c + +Patch 8.1.1665 +Problem: Crash when popup window with mask is below the screen. +Solution: Correct boundary check. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_5.dump + +Patch 8.1.1666 +Problem: Click in popup window scrollbar with border doesn't scroll. +Solution: Correct column for the border. (Naruhiko Nishino, closes #4650) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_9.dump + +Patch 8.1.1667 +Problem: Flags for Ex commands may clash with other symbols. +Solution: Prepend with EX_. +Files: src/ex_cmds.h, src/evalfunc.c, src/ex_docmd.c, src/ex_getln.c, + src/usercmd.c, src/syntax.c + +Patch 8.1.1668 +Problem: Popup window test is a bit flaky on some systems. +Solution: Clear the command line. (Naruhiko Nishino, closes #4656) +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1669 +Problem: Travis: test results section is closed even when some tests + failed. +Solution: Only close the section on success. (Daniel Hahler, closes #4659) +Files: .travis.yml + +Patch 8.1.1670 +Problem: Sign column not always properly aligned. +Solution: Use "col" only after it was calculated. (Yee Cheng Chin, + closes #4649) +Files: src/gui.c + +Patch 8.1.1671 +Problem: Copying a blob may result in it being locked. +Solution: Reset v_lock. (Ken Takata, closes #4648) +Files: src/blob.c, src/testdir/test_blob.vim + +Patch 8.1.1672 (after 8.1.1667) +Problem: "make cmdidxs" doesn't work. +Solution: Update macro names. (Naruhiko Nishino, closes #4660) +Files: src/create_cmdidxs.vim + +Patch 8.1.1673 +Problem: Cannot easily find the popup window at a certain position. +Solution: Add popup_locate(). +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1674 +Problem: Script to check a colorscheme can be improved. +Solution: Match the whole group name. Don't warn for what is usually omitted. +Files: runtime/colors/tools/check_colors.vim + +Patch 8.1.1675 +Problem: Listener list not correctly updated on listener_remove(). +Solution: Only set "prev" when not removing a listener. Return one if the + listener was found and removed. +Files: src/change.c + +Patch 8.1.1676 +Problem: "maxwidth" of popup window does not always work properly. +Solution: Adjust the computation. (Naruhiko Nishino, closes #4653) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump + +Patch 8.1.1677 +Problem: Tests get stuck when running into an existing swapfile. +Solution: Set v:swapchoice to "q" and report an error. (Daniel Hahler, + closes #4644) +Files: src/testdir/runtest.vim + +Patch 8.1.1678 +Problem: When using popup_menu() does not scroll to show the selected line. +Solution: Scroll the text. (Naruhiko Nishino, closes #4651) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump + +Patch 8.1.1679 +Problem: Test using SwapExists autocommand file may fail. +Solution: Remove the SwapExists autocommand. +Files: src/testdir/test_window_cmd.vim + +Patch 8.1.1680 +Problem: The command table is not well aligned. +Solution: Adjust indent. +Files: src/ex_cmds.h + +Patch 8.1.1681 +Problem: Insert stray "{" when listener gets buffer line. (Paul Jolly) +Solution: Flush the cached line after invoking listeners. (closes #4455) +Files: src/memline.c, src/testdir/test_listener.vim + +Patch 8.1.1682 +Problem: Placing a larger number of signs is slow. +Solution: Add functions for dealing with a list of signs. (Yegappan + Lakshmanan, closes #4636) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/sign.pro, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1683 +Problem: Dictionary with string keys is longer than needed. +Solution: Use *{key: val} for literal keys. +Files: runtime/doc/eval.txt, src/eval.c, src/dict.c, src/proto/dict.pro, + src/testdir/test_listdict.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump, + src/testdir/dumps/Test_popupwin_mask_5.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1684 +Problem: Profiling functionality is spread out. +Solution: Put profiling functionality in profiler.c. (Yegappan Lakshmanan, + closes #4666) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_dice.mak, + src/Make_manx.mak, src/Make_morph.mak, src/Make_mvc.mak, + src/Make_sas.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/ex_cmds2.c, src/globals.h, src/profiler.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/profiler.pro, + src/proto/userfunc.pro, src/structs.h, src/userfunc.c + +Patch 8.1.1685 +Problem: Missing file in distributed file list. +Solution: Add profiler.pro +Files: Filelist + +Patch 8.1.1686 +Problem: "*" of "*{" is recognized as multiply operator. (Yasuhiro + Matsumoto) +Solution: Check for the "{". +Files: src/eval.c, src/testdir/test_listdict.vim + +Patch 8.1.1687 +Problem: The evalfunc.c file is too big. +Solution: Move testing support to a separate file. +Files: Filelist, src/evalfunc.c, src/eval.c, src/proto/eval.pro, + src/testing.c, src/proto/testing.pro, src/Make_cyg_ming.mak, + src/Make_morph.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/README.md, src/proto.h + +Patch 8.1.1688 +Problem: Old makefiles are no longer useful. +Solution: Delete the makefiles, they most likely don't work anyway. +Files: Filelist, src/Make_dice.mak, src/Make_manx.mak, src/Make_sas.mak + +Patch 8.1.1689 +Problem: Profiling code is spread out. +Solution: Move more profiling code to profiler.c. (Yegappan Lakshmanan, + closes #4668) +Files: src/ex_cmds2.c, src/profiler.c, src/proto/ex_cmds2.pro, + src/proto/profiler.pro, src/proto/userfunc.pro, src/structs.h, + src/userfunc.c + +Patch 8.1.1690 +Problem: Default padding for popup window menu is too much. +Solution: Only add padding left and right. +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump + +Patch 8.1.1691 +Problem: Diff test fails on some systems. (Elimar Riesebieter) +Solution: Add a term_wait() call. +Files: src/testdir/test_diffmode.vim + +Patch 8.1.1692 +Problem: Using *{} for literal dict is not backwards compatible. (Yasuhiro + Matsumoto) +Solution: Use ~{} instead. +Files: runtime/doc/eval.txt runtime/doc/popup.txt, src/eval.c, + src/testdir/test_listdict.vim src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump, + src/testdir/dumps/Test_popupwin_mask_5.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1693 +Problem: Syntax coloring and highlighting is in one big file. +Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan, + closes #4674) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/globals.h, src/highlight.c, src/proto.h, + src/proto/highlight.pro, src/proto/syntax.pro, src/structs.h, + src/syntax.c + +Patch 8.1.1694 +Problem: The RUN_VIM variable is longer than needed. +Solution: Shorten RUN_VIM. (Daniel Hahler, closes #4643) +Files: src/testdir/Makefile, src/testdir/shared.vim + +Patch 8.1.1695 +Problem: Windows 10: crash when cursor is at bottom of terminal. +Solution: Position the cursor before resizing. (Yasuhiro Matsumoto, + closes #4679) +Files: src/os_win32.c + +Patch 8.1.1696 +Problem: MSVC: link command line is too long. +Solution: Use the @<< mechanism to pass the arguments via a file. (Christian + Brabandt) +Files: src/Make_mvc.mak + +Patch 8.1.1697 +Problem: Cannot build with MSVC. +Solution: Remove the backslashes after the @<< mechanism. +Files: src/Make_mvc.mak + +Patch 8.1.1698 +Problem: Appveyor build with MSVC fails. +Solution: Remove the sed command +Files: ci/appveyor.bat + +Patch 8.1.1699 +Problem: Highlight_ga can be local instead of global. +Solution: Move highlight_ga into highlight.c. (Yegappan Lakshmanan, + closes #4675) +Files: src/globals.h, src/highlight.c, src/proto/highlight.pro, + src/structs.h, src/syntax.c + +Patch 8.1.1700 +Problem: Listener callback called for the wrong buffer. +Solution: Invoke listeners before calling ml_append_int(). +Files: src/memline.c + +Patch 8.1.1701 +Problem: Appveyor build with MSVC fails puts progress bar in log. +Solution: Adjust the sed command. (Ken Takata) +Files: ci/appveyor.bat + +Patch 8.1.1702 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize it. (Christian Brabandt) +Files: src/gui.c + +Patch 8.1.1703 +Problem: Breaking out of loop by checking window pointer is insufficient. +Solution: Check the window ID and the buffer number. (closes #4683) +Files: src/misc2.c + +Patch 8.1.1704 +Problem: C-R C-W does not work after C-G when using 'incsearch'. +Solution: Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.1705 +Problem: Using ~{} for a literal dict is not nice. +Solution: Use #{} instead. +Files: runtime/doc/eval.txt runtime/doc/popup.txt, src/eval.c, + src/testdir/test_listdict.vim src/testdir/test_popupwin.vim + +Patch 8.1.1706 +Problem: Typo in #ifdef. +Solution: Change PROT to PROTO. +Files: src/beval.c + +Patch 8.1.1707 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Change the logic to make sure no NULL pointer is used. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1708 +Problem: Coverity warns for using uninitialized variable. +Solution: Set the start col when col is set. +Files: src/beval.c + +Patch 8.1.1709 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Make sure no NULL pointer is used. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1710 +Problem: Coverity found dead code. +Solution: Remove merging of listener changes. +Files: src/change.c + +Patch 8.1.1711 +Problem: Listener callback called at the wrong moment +Solution: Invoke listeners before calling ml_delete_int(). (closes #4657) +Files: src/memline.c + +Patch 8.1.1712 +Problem: Signs in number column cause text to be misaligned. +Solution: Improve alignment. (Yasuhiro Matsumoto, closes #4694) +Files: src/screen.c, src/testdir/test_signs.vim + +Patch 8.1.1713 +Problem: Highlighting cursor line only works with popup_menu(). +Solution: Add the "cursorline" property. (Naruhiko Nishino, closes #4671) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/dumps/Test_popupwin_cursorline_1.dump, + src/testdir/dumps/Test_popupwin_cursorline_2.dump, + src/testdir/dumps/Test_popupwin_cursorline_3.dump, + src/testdir/dumps/Test_popupwin_cursorline_4.dump, + src/testdir/dumps/Test_popupwin_cursorline_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_6.dump, + src/testdir/dumps/Test_popupwin_menu_filter_1.dump, + src/testdir/dumps/Test_popupwin_menu_filter_2.dump, + src/testdir/dumps/Test_popupwin_menu_filter_3.dump, + src/testdir/dumps/Test_popupwin_menu_filter_4.dump, + src/testdir/test_popupwin.vim, src/vim.h + +Patch 8.1.1714 +Problem: Cannot preview a file in a popup window. +Solution: Add the 'previewpopup' option. +Files: runtime/doc/windows.txt, runtime/doc/options.txt, src/popupwin.c, + src/proto/popupwin.pro, src/option.c, src/option.h, src/ex_cmds.c, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/ex_docmd.c, src/testdir/gen_opt_test.vim + +Patch 8.1.1715 +Problem: Emoji characters are seen as word characters for spelling. (Gautam + Iyer) +Solution: Exclude class 3 from word characters. +Files: src/spell.c + +Patch 8.1.1716 +Problem: Old style comments are wasting space +Solution: Use new style comments in option header file. (closes #4702) +Files: src/option.h + +Patch 8.1.1717 +Problem: Last char in menu popup window highlighted. +Solution: Do not highlight an extra character twice. +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.1718 +Problem: Popup menu highlighting does not look good. +Solution: Highlight the whole window line. Fix that sign line HL is not + displayed in a window with a background color. +Files: src/popupwin.c, src/sign.c, src/proto/sign.pro, src/screen.c, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.1719 +Problem: Popup too wide when 'showbreak' is set. +Solution: Set window width when computing line length. (closes #4701) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_showbreak.dump + +Patch 8.1.1720 +Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani) +Solution: Check for reg_toolong. (closes #4703) +Files: src/regexp.c, src/testdir/test_regexp_utf8.vim + +Patch 8.1.1721 +Problem: Build failure with normal features without netbeans interface. +Solution: Enable signs when using the text properties feature. +Files: src/feature.h + +Patch 8.1.1722 +Problem: Error when scriptversion is 2 a making a dictionary access. +Solution: Parse the subscript even when not evaluating the sub-expression. + (closes #4704) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.1723 +Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya) +Solution: Require the marker does not start with a lower case character. + (closes #4705) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_let.vim + +Patch 8.1.1724 +Problem: Too much overhead checking for CTRL-C while processing text. +Solution: Increase BREAKCHECK_SKIP. Remove the difference for when built + with the GUI. (suggested by Andy Massimino, closes #4708) +Files: src/misc1.c, src/screen.c, src/feature.h + +Patch 8.1.1725 +Problem: MS-Windows: E325 message may use incorrect date format. +Solution: Convert strftime() result to 'encoding'. Also make the message + translatable. (Ken Takata, closes #4685, closes #4681) +Files: src/memline.c + +Patch 8.1.1726 +Problem: The eval.txt help file is too big. +Solution: Split off testing support to testing.txt. Move function details + to where the functionality is explained. +Files: runtime/doc/Makefile, runtime/doc/eval.txt, + runtime/doc/testing.txt, runtime/doc/sign.txt, + runtime/doc/textprop.txt, runtime/doc/help.txt, + runtime/doc/channel.txt, runtime/doc/tags + +Patch 8.1.1727 +Problem: Code for viminfo support is spread out. +Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/buffer.c, + src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/globals.h, + src/proto.h, src/proto/buffer.pro, src/proto/eval.pro, + src/proto/ex_cmds.pro, src/proto/viminfo.pro, src/structs.h, + src/viminfo.c + +Patch 8.1.1728 +Problem: Wrong place for command line history viminfo support. +Solution: Move it to viminfo.c. +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/viminfo.c, + src/structs.h + +Patch 8.1.1729 +Problem: Heredoc with trim not properly handled in function. +Solution: Allow for missing indent. (FUJIWARA Takuya, closes #4713) +Files: src/userfunc.c, src/testdir/test_let.vim + +Patch 8.1.1730 +Problem: Wrong place for mark viminfo support. +Solution: Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716) +Files: src/README.md, src/mark.c, src/proto/mark.pro, + src/proto/viminfo.pro, src/structs.h, src/viminfo.c + +Patch 8.1.1731 +Problem: Command line history not read from viminfo on startup. +Solution: Get history length after initializing it. +Files: src/viminfo.c, src/testdir/test_viminfo.vim + +Patch 8.1.1732 +Problem: Completion in cmdwin does not work for buffer-local commands. +Solution: Use the right buffer. (closes #4711) +Files: src/usercmd.c, src/testdir/test_ins_complete.vim + +Patch 8.1.1733 +Problem: The man ftplugin leaves an empty buffer behind. +Solution: Don't make new window and edit, use split. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.1.1734 +Problem: The evalfunc.c file is too big. +Solution: Move some functions to other files. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/json.c, + src/proto/json.pro src/window.c, src/proto/window.pro, + src/highlight.c, src/proto/highlight.pro, src/globals.h + +Patch 8.1.1735 (after 8.1.1734) +Problem: Can't build with tiny features. +Solution: Add missing #ifdefs. +Files: src/json.c, src/highlight.c + +Patch 8.1.1736 +Problem: Viminfo support is spread out. +Solution: Move more viminfo code to viminfo.c. (Yegappan Lakshmanan, + closes #4717) Reorder code to make most functions static. +Files: src/fileio.c, src/ops.c, src/option.c, src/proto/ops.pro, + src/proto/option.pro, src/proto/search.pro, src/proto/viminfo.pro, + src/search.c, src/structs.h, src/viminfo.c, src/ex_cmds.c, + src/proto/ex_cmds.pro + +Patch 8.1.1737 +Problem: :args command that outputs one line gives more prompt. +Solution: Only output line break if needed. (Daniel Hahler, closes #4715) +Files: src/version.c, src/testdir/test_arglist.vim + +Patch 8.1.1738 +Problem: Testing lambda with timer is slow. +Solution: Do not test timer accuracy, only that it works. (Daniel Hahler, + closes #4723) +Files: src/testdir/test_lambda.vim + +Patch 8.1.1739 +Problem: Deleted match highlighting not updated in other window. +Solution: Mark the window for refresh. (closes #4720) Also fix that + ambi-width check clears with wrong attributes. +Files: src/term.c, src/highlight.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_matchdelete_1.dump + +Patch 8.1.1740 +Problem: Exepath() doesn't work for "bin/cat". +Solution: Check for any path separator. (Daniel Hahler, closes #4724, + closes #4710) +Files: src/evalfunc.c, src/os_unix.c, src/testdir/test_functions.vim + +Patch 8.1.1741 +Problem: Cleared/added match highlighting not updated in other window. + (Andy Massimino) +Solution: Mark the right window for refresh. +Files: src/highlight.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_matchclear_1.dump, + src/testdir/dumps/Test_matchadd_1.dump + +Patch 8.1.1742 +Problem: Still some match functions in evalfunc.c. +Solution: Move them to highlight.c. +Files: src/evalfunc.c, src/highlight.c, src/proto/highlight.pro, + src/ex_docmd.c + +Patch 8.1.1743 +Problem: 'hlsearch' and match highlighting in the wrong place. +Solution: Move highlighting from inside screen functions to highlight.c. +Files: src/screen.c, src/highlight.c, src/proto/highlight.pro + +Patch 8.1.1744 +Problem: Build error without the conceal feature. +Solution: Define variables also without the conceal feature. +Files: src/screen.c + +Patch 8.1.1745 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. Change comments to new style. +Files: src/highlight.c + +Patch 8.1.1746 +Problem: ":dl" is seen as ":dlist" instead of ":delete". +Solution: Do not use cmdidxs2[] if the length is 1. (closes #4721) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim, + src/testdir/Make_all.mak + +Patch 8.1.1747 +Problem: Compiler warning for unused variables. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.1748 (after 8.1.1737) +Problem: :args output is not aligned. +Solution: Output a line break after the last item in a row. +Files: src/version.c + +Patch 8.1.1749 +Problem: Coverity warns for using negative index. +Solution: Move using index inside "if". +Files: src/viminfo.c + +Patch 8.1.1750 +Problem: Depending on the terminal width :version may miss a line break. +Solution: Add a line break when needed. +Files: src/version.c + +Patch 8.1.1751 +Problem: When redrawing popups plines_win() may be called often. +Solution: Pass a cache to mouse_comp_pos(). +Files: src/ui.c, src/proto/ui.pro, src/beval.c, src/evalfunc.c, + src/popupwin.c + +Patch 8.1.1752 +Problem: Resizing hashtable is inefficient. +Solution: Avoid resizing when the final size is predictable. +Files: src/hashtab.c, src/proto/hashtab.pro, src/popupwin.c + +Patch 8.1.1753 +Problem: Use of popup window mask is inefficient. +Solution: Precompute and cache the mask. +Files: src/popupwin.c + +Patch 8.1.1754 (after 8.1.1753) +Problem: Build failure. +Solution: Add missing change to window struct. +Files: src/structs.h + +Patch 8.1.1755 +Problem: Leaking memory when using a popup window mask. +Solution: Free the cached mask. +Files: src/window.c + +Patch 8.1.1756 +Problem: Autocommand that splits window messes up window layout. +Solution: Disallow splitting a window while closing one. In ":all" give an + error when moving a window will not work. +Files: src/buffer.c, src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.1.1757 +Problem: Text added with appendbufline() to another buffer isn't displayed. +Solution: Update topline. (partly by Christian Brabandt, closes #4718) +Files: src/evalfunc.c, src/testdir/test_bufline.vim, + src/testdir/dumps/Test_appendbufline_1.dump + +Patch 8.1.1758 +Problem: Count of g$ not used correctly when text is not wrapped. +Solution: Do use the count. (Christian Brabandt, closes #4729, closes #4566) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.1.1759 +Problem: No mode char for terminal mapping from maparg(). +Solution: Check for TERMINAL mode. (closes #4735) +Files: src/getchar.c, src/testdir/test_maparg.vim + +Patch 8.1.1760 +Problem: Extra line break for wrapping output of :args. +Solution: Avoid the extra line break. (Daniel Hahler, closes #4737) +Files: src/version.c, src/testdir/test_arglist.vim + +Patch 8.1.1761 +Problem: Filetype "vuejs" causes problems for some users. +Solution: Rename to "vue". +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1762 +Problem: Some filetype rules are in the wrong place. +Solution: Move to the right place. Add a few more tests. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1763 +Problem: Evalfunc.c is still too big. +Solution: Move dict and list functions to a better place. +Files: src/evalfunc.c, src/dict.c, src/proto/dict.pro, src/list.c, + src/proto/list.pro, src/blob.c, src/proto/blob.pro + +Patch 8.1.1764 +Problem: ":browse oldfiles" is not tested. +Solution: Add a test. +Files: src/testdir/test_viminfo.vim + +Patch 8.1.1765 +Problem: get(func, dict, def) does not work properly. +Solution: Handle NULL dict better. (Takuya Fujiwara, closes #4734) +Files: src/evalfunc.c, src/testdir/test_getvar.vim, + src/testdir/test_partial.vim + +Patch 8.1.1766 +Problem: Code for writing session file is spread out. +Solution: Put it in one file. (Yegappan Lakshmanan, closes #4728) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/ex_docmd.c, src/misc2.c, src/proto.h, + src/proto/eval.pro, src/proto/misc2.pro, src/proto/session.pro, + src/session.c + +Patch 8.1.1767 +Problem: FEAT_SESSION defined separately. +Solution: Make FEAT_SESSION depend on FEAT_EVAL. +Files: src/feature.h, src/session.c, src/evalfunc.c, src/ex_docmd.c, + src/gui_gtk_x11.c, src/proto.h + +Patch 8.1.1768 +Problem: Man plugin changes setting in current window. +Solution: Set options later. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.1.1769 +Problem: 'shellslash' is also used for completion. +Solution: Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612) +Files: runtime/doc/options.txt, src/ex_getln.c, src/insexpand.c, + src/option.c, src/option.h, src/structs.h, + src/testdir/test_ins_complete.vim + +Patch 8.1.1770 +Problem: Cannot get the window ID of the popup preview window. +Solution: Add popup_getpreview(). +Files: src/evalfunc.c, src/popupwin.c, src/proto/popupwin.pro, + runtime/doc/eval.txt, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump + +Patch 8.1.1771 +Problem: Options test fails on MS-Windows. +Solution: Add correct and incorrect values for 'completeslash'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.1.1772 +Problem: Options test still fails on MS-Windows. +Solution: Check buffer-local value of 'completeslash'. +Files: src/option.c + +Patch 8.1.1773 +Problem: The preview popup window may be too far to the right. +Solution: Keep it inside the screen. Also keep the close button and + scrollbar visible if possible. +Files: src/popupwin.c, src/proto/popupwin.pro, src/ex_cmds.c, + src/screen.c, src/vim.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump + +Patch 8.1.1774 +Problem: Test is silently skipped. +Solution: Throw "Skipped". +Files: src/testdir/test_ins_complete.vim + +Patch 8.1.1775 +Problem: Error message may be empty in filetype test. +Solution: Use v:exception instead. (Daniel Hahler, closes #4744) +Files: src/testdir/test_filetype.vim + +Patch 8.1.1776 +Problem: Text added with a job to another buffer isn't displayed. +Solution: Update topline after adding a line. (closes #4745) +Files: src/channel.c, src/testdir/test_channel.vim, src/testdir/check.vim, + src/testdir/dumps/Test_job_buffer_scroll_1.dump + +Patch 8.1.1777 +Problem: Useless checks for job feature in channel test. +Solution: Remove the checks. Remove ch_log() calls. +Files: src/testdir/test_channel.vim + +Patch 8.1.1778 +Problem: Not showing the popup window right border is confusing. +Solution: Also show the border when there is no close button. (closes #4747) +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1779 +Problem: Not showing the popup window right border is confusing. +Solution: Also show the border when 'wrap' is off. (closes #4747) +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1780 +Problem: Warning for file no longer available is repeated every time Vim is + focused. (Brian Armstrong) +Solution: Only give the message once. (closes #4748) +Files: src/fileio.c + +Patch 8.1.1781 +Problem: Amiga: no builtin OS readable version info. +Solution: Add a "version" variable. (Ola Söder, closes #4753) +Files: src/os_amiga.c + +Patch 8.1.1782 +Problem: MS-Windows: system() has temp file error with 'noshelltemp'. +Solution: Check s_dont_use_vimrun. (Ken Takata, closes #4754) +Files: src/os_win32.c + +Patch 8.1.1783 +Problem: MS-Windows: compiler test may fail when using %:S. +Solution: Reset 'shellslash'. +Files: src/testdir/test_compiler.vim + +Patch 8.1.1784 +Problem: MS-Windows: resolve() does not work if serial nr duplicated. +Solution: Use another method to get the full path. (Ken Takata, closes #4661) +Files: src/os_mswin.c + +Patch 8.1.1785 +Problem: Map functionality mixed with character input. +Solution: Move the map functionality to a separate file. (Yegappan + Lakshmanan, closes #4740) Graduate the +localmap feature. +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/buffer.c, src/feature.h, src/evalfunc.c, src/ex_docmd.c, + src/getchar.c, src/map.c, src/proto.h, src/proto/getchar.pro, + src/proto/map.pro, src/version.c, src/structs.h + +Patch 8.1.1786 +Problem: Double click in popup scrollbar starts selection. +Solution: Ignore the double click. +Files: src/ui.c, src/popupwin.c, src/proto/popupwin.pro + +Patch 8.1.1787 +Problem: Cannot resize a popup window. +Solution: Allow for resizing by dragging the lower right corner. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, src/vim.h, + src/ui.c src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump, + src/testdir/dumps/Test_popupwin_drag_03.dump, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump + +Patch 8.1.1788 (after 8.1.1787) +Problem: missing changes in proto file +Solution: Update proto file. +Files: src/proto/popupwin.pro + +Patch 8.1.1789 +Problem: Cannot see file name of preview popup window. +Solution: Add the file name as the title. +Files: src/ex_cmds.c, src/popupwin.c, src/proto/popupwin.pro, + src/fileio.c, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump + +Patch 8.1.1790 +Problem: :mkvimrc is not tested. +Solution: Add a test. +Files: src/testdir/test_mksession.vim + +Patch 8.1.1791 +Problem: 'completeslash' also applies to globpath(). +Solution: Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro + Matsumoto, closes #4760) +Files: src/testdir/test_ins_complete.vim, src/ex_getln.c, src/evalfunc.c, + src/vim.h + +Patch 8.1.1792 +Problem: The vgetorpeek() function is too long. +Solution: Split off the part that handles mappings. +Files: src/getchar.c + +Patch 8.1.1793 +Problem: Mixed comment style in globals. +Solution: Use // comments where appropriate. +Files: src/globals.h + +Patch 8.1.1794 (after 8.1.1792) +Problem: Tests are flaky. +Solution: Undo the change to vgetorpeek(). +Files: src/getchar.c + +Patch 8.1.1795 +Problem: No syntax HL after splitting windows with :bufdo. (Yasuhiro + Matsumoto) +Solution: Trigger Syntax autocommands in buffers that are active. + (closes #4761) +Files: src/vim.h, src/option.c, src/ex_cmds2.c, + src/testdir/test_syntax.vim + +Patch 8.1.1796 +Problem: :argdo is not tested +Solution: Add a test. +Files: src/testdir/test_arglist.vim + +Patch 8.1.1797 (after 8.1.1794) +Problem: The vgetorpeek() function is too long. +Solution: Split off the part that handles mappings, with fix. +Files: src/getchar.c + +Patch 8.1.1798 +Problem: Warning for unused variable in tiny version. (Tony Mechelynck) +Solution: Move inside #ifdef. Reformat code. +Files: src/getchar.c + +Patch 8.1.1799 +Problem: Cannot avoid mapping for a popup window. +Solution: Add the "mapping" property, default TRUE. +Files: runtime/doc/popup.txt, src/getchar.c, src/popupwin.c, src/vim.h, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1800 +Problem: Function call functions have too many arguments. +Solution: Pass values in a funcexe_T struct. +Files: src/eval.c, src/structs.h, src/userfunc.c, src/proto/userfunc.pro, + src/list.c, src/regexp.c, src/terminal.c, src/change.c, + src/ex_cmds2.c, src/popupwin.c, src/channel.c + +Patch 8.1.1801 +Problem: Cannot build without the +eval feature. +Solution: Always define funcexe_T. +Files: src/structs.h + +Patch 8.1.1802 +Problem: Missing change to call_callback(). +Solution: Add missing change. +Files: src/sound.c + +Patch 8.1.1803 +Problem: All builtin functions are global. +Solution: Add the method call operator ->. Implemented for a limited number + of functions. +Files: runtime/doc/eval.txt, src/eval.c, src/structs.h, src/userfunc.c, + src/globals.h, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_method.vim, src/testdir/Make_all.mak + +Patch 8.1.1804 +Problem: No test for display updating without a scroll region. +Solution: Add a test. +Files: src/testdir/test_display.vim, src/testdir/check.vim, + src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_scroll_no_region_1.dump, + src/testdir/dumps/Test_scroll_no_region_2.dump, + src/testdir/dumps/Test_scroll_no_region_3.dump + +Patch 8.1.1805 +Problem: Au_did_filetype is declared twice. +Solution: Remove it from autocmd.c. (closes #4767) +Files: src/globals.h, src/autocmd.c + +Patch 8.1.1806 +Problem: Test for display updating doesn't check without statusline. +Solution: Add screenshots without a status line. +Files: src/testdir/test_display.vim, + src/testdir/dumps/Test_scroll_no_region_4.dump, + src/testdir/dumps/Test_scroll_no_region_5.dump, + src/testdir/dumps/Test_scroll_no_region_6.dump + +Patch 8.1.1807 +Problem: More functions can be used as a method. +Solution: Add append(), appendbufline(), assert_equal(), etc. + Also add the :eval command. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_method.vim, src/ex_cmds.h, src/ex_eval.c, + src/proto/ex_eval.pro, src/ex_cmdidxs.h + +Patch 8.1.1808 +Problem: Build failure for tiny version. +Solution: Define ex_eval to ex_ni. Clean up the ordering a bit. +Files: src/ex_docmd.c + +Patch 8.1.1809 +Problem: More functions can be used as a method. +Solution: Add has_key(), split(), str2list(), etc. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_method.vim, + src/testdir/test_diffmode.vim, src/testdir/test_syntax.vim, + src/testdir/test_system.vim + +Patch 8.1.1810 +Problem: Popup_getoptions() is missing an entry for "mapping". +Solution: Add the entry. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1811 +Problem: Popup window color cannot be set to "Normal". +Solution: Check for non-empty 'wincolor' instead of zero attribute. + (closes #4772) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1812 +Problem: Reading a truncated undo file hangs Vim. +Solution: Check for reading EOF. (closes #4769) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.1.1813 +Problem: ATTENTION prompt for a preview popup window. +Solution: Close the popup window if aborting the buffer load. Avoid getting + the ATTENTION dialog. +Files: src/tag.c, src/ex_cmds.c, src/memline.c, src/vim.h, + runtime/doc/windows.txt + +Patch 8.1.1814 +Problem: A long title in a popup window overflows. +Solution: Truncate the title. (closes #4770) +Files: src/testdir/test_popupwin.vim, src/popupwin.c, + src/testdir/dumps/Test_popupwin_longtitle_1.dump, + src/testdir/dumps/Test_popupwin_longtitle_2.dump + +Patch 8.1.1815 +Problem: Duplicating info for internal functions. +Solution: Use one table to list internal functions. +Files: src/evalfunc.c + +Patch 8.1.1816 +Problem: Cannot use a user defined function as a method. +Solution: Pass the base as the first argument to the user defined function + after "->". (partly by FUJIWARA Takuya) +Files: src/eval.c, src/userfunc.c, src/testdir/test_user_func.vim, + src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/foo.vim + +Patch 8.1.1817 +Problem: Github contribution text is incomplete. +Solution: Update the text. +Files: CONTRIBUTING.md + +Patch 8.1.1818 +Problem: Unused variable. +Solution: Remove the variable. (Mike Williams) +Files: src/sound.c + +Patch 8.1.1819 +Problem: :pedit does not work with a popup preview window. +Solution: Avoid aborting with an error. (fixes #4777) Also double check + that after prepare_tagpreview() the current window is not a + popup window. +Files: src/ex_docmd.c, src/popupmenu.c, src/search.c, src/tag.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_6.dump, + src/testdir/dumps/Test_popupwin_previewpopup_7.dump, + src/testdir/dumps/Test_popupwin_previewpopup_8.dump + +Patch 8.1.1820 +Problem: Using expr->FuncRef() does not work. +Solution: Make FuncRef work as a method. +Files: src/eval.c, src/userfunc.c, src/testdir/test_method.vim + +Patch 8.1.1821 +Problem: No test for wrong number of method arguments. +Solution: Add a test. +Files: src/testdir/test_method.vim + +Patch 8.1.1822 +Problem: Confusing error message when range is not allowed. +Solution: With ADDR_NONE give e_norange. Change e_invaddr to e_invrange for + consistency. +Files: src/ex_docmd.c, src/globals.h, src/testdir/test_excmd.vim + +Patch 8.1.1823 +Problem: Command line history code is spread out. +Solution: Put the code in a new file. (Yegappan Lakshmanan, closes #4779) + Also graduate the +cmdline_hist feature. +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/cmdhist.c, src/ex_getln.c, src/proto.h, src/proto/cmdhist.pro, + src/proto/ex_getln.pro, src/version.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_docmd.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/search.c, src/tag.c, src/usercmd.c, + src/viminfo.c, src/feature.h, src/globals.h + +Patch 8.1.1824 +Problem: Crash when correctly spelled word is very long. (Ben Kraft) +Solution: Check word length before copying. (closes #4778) +Files: src/spell.c, src/testdir/test_spell.vim + +Patch 8.1.1825 +Problem: Allocating more memory than needed for extended structs. +Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, + closes #4785) +Files: src/dict.c + +Patch 8.1.1826 +Problem: Tests use hand coded feature and option checks. +Solution: Use the commands from check.vim in more tests. +Files: src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_balloon.vim, src/testdir/test_breakindent.vim, + src/testdir/test_bufline.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_conceal.vim, src/testdir/test_cscope.vim, + src/testdir/test_debugger.vim, src/testdir/test_filechanged.vim, + src/testdir/test_fold.vim, src/testdir/test_functions.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, + src/testdir/test_highlight.vim, src/testdir/test_mapping.vim, + src/testdir/test_match.vim, src/testdir/test_memory_usage.vim, + src/testdir/test_options.vim, src/testdir/test_paste.vim, + src/testdir/test_popup.vim, src/testdir/test_search.vim, + src/testdir/test_signals.vim, src/testdir/test_startup.vim, + src/testdir/test_syntax.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_timers.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1827 +Problem: Allocating more memory than needed for extended structs. +Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, + closes #4786) +Files: src/getchar.c, src/regexp.c, src/sign.c, src/structs.h, + src/syntax.c, src/textprop.c, src/userfunc.c + +Patch 8.1.1828 +Problem: Not strict enough checking syntax of method invocation. +Solution: Check there is no white space inside ->method(. +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_method.vim + +Patch 8.1.1829 +Problem: Difference in screenshots. +Solution: Update screenshots. Change checks in a few more tests. + (closes #4789) +Files: src/testdir/test_balloon_gui.vim, + src/testdir/test_shortpathname.vim, + src/testdir/test_windows_home.vim, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump + +Patch 8.1.1830 +Problem: Travis does not report error when tests fail. +Solution: Explicitly do "exit 1". +Files: .travis.yml + +Patch 8.1.1831 +Problem: Confusing skipped message. +Solution: Drop "run" from "run start the GUI". +Files: src/testdir/check.vim + +Patch 8.1.1832 +Problem: Win_execute() does not work in other tab. (Rick Howe) +Solution: Take care of the tab. (closes #4792) +Files: src/testdir/test_execute_func.vim, src/evalfunc.c, src/window.c, + src/proto/window.pro + +Patch 8.1.1833 +Problem: Allocating a bit too much when spellbadword() does not find a bad + word. +Solution: Reset "len" when going to the next word. (Daniel Hahler, + closes #4788) +Files: src/evalfunc.c + +Patch 8.1.1834 +Problem: Cannot use a lambda as a method. +Solution: Implement ->{lambda}(). (closes #4768) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_method.vim + +Patch 8.1.1835 +Problem: Cannot use printf() as a method. +Solution: Pass the base as the second argument to printf(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_method.vim + +Patch 8.1.1836 +Problem: Inaccurate memory estimate for Amiga-like OS. +Solution: Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797) +Files: src/os_amiga.c + +Patch 8.1.1837 +Problem: Popup test fails if clipboard is supported but not working. +Solution: Add the "clipboard_working" feature. Also use Check commands + instead of "if" and "throw". And remove stray ch_logfile(). +Files: src/testdir/test_popupwin.vim, src/evalfunc.c, + runtime/doc/eval.txt + +Patch 8.1.1838 +Problem: There is :spellwrong and :spellgood but not :spellrare. +Solution: Add :spellrare. (Martin Tournoij, closes #4291) +Files: runtime/doc/spell.txt, src/ex_cmdidxs.h, src/ex_cmds.h, + src/normal.c, src/proto/spellfile.pro, src/spellfile.c, + src/spell.h, src/testdir/Make_all.mak, + src/testdir/test_normal.vim, src/testdir/test_spellfile.vim + +Patch 8.1.1839 +Problem: Insufficient info when test fails because of screen size. +Solution: Report the detected screen size. +Files: src/testdir/runtest.vim + +Patch 8.1.1840 +Problem: Testing: WorkingClipboard() is not accurate. +Solution: Check feature clipboard_working instead. +Files: src/testdir/shared.vim, src/testdir/test_paste.vim, + src/testdir/test_quotestar.vim, src/testdir/test_termcodes.vim + +Patch 8.1.1841 +Problem: No test for Ex shift commands. +Solution: Add a test. (Dominique Pelle, closes #4801) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_shift.vim + +Patch 8.1.1842 +Problem: Test listed as flaky should no longer be flaky. +Solution: Remove Test_popup_and_window_resize from the list of flaky tests. + (Daniel Hahler, close #4807) +Files: src/testdir/runtest.vim + +Patch 8.1.1843 +Problem: Might be freeing memory that was not allocated. +Solution: Have next_fenc() set the fenc_alloced flag. (closes #4804) +Files: src/fileio.c + +Patch 8.1.1844 +Problem: Buffer no longer unloaded when adding text properties to it. +Solution: Do not create the memfile. (closes #4808) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.1.1845 +Problem: May use NULL pointer when running out of memory. +Solution: Do not clear popup buffers when NULL. (closes #4802) +Files: src/screen.c + +Patch 8.1.1846 +Problem: Inconsistently using GetVimCommand() and v:progpath. (Daniel + Hahler) +Solution: Use GetVimCommand(). (closes #4806) +Files: src/testdir/test_autocmd.vim, src/testdir/test_gui.vim, + src/testdir/test_normal.vim, src/testdir/test_profile.vim, + src/testdir/test_suspend.vim, src/testdir/test_system.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1847 +Problem: Suspend test is failing. +Solution: Do not use GetVimCommandClean(). +Files: src/testdir/test_suspend.vim + +Patch 8.1.1848 +Problem: 'langmap' is not used for CTRL-W command in terminal. +Solution: Push the command in the typeahead buffer instead of the stuff + buffer. (closes #4814) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.1849 +problem: Some insert complete functions in the wrong file. +Solution: Move complete functions to insexpand.c. (Yegappan Lakshmanan, + closes #4815) +Files: src/evalfunc.c, src/insexpand.c, src/proto/insexpand.pro + +Patch 8.1.1850 +Problem: Focus may remain in popup window. +Solution: Change focus if needed. +Files: src/popupmnu.c + +Patch 8.1.1851 +Problem: Crash when sound_playfile() callback plays sound. +Solution: Invoke callback later from event loop. +Files: src/testdir/test_sound.vim, src/ui.c, src/sound.c, + src/proto/sound.pro, src/feature.h, src/os_unix.c, src/ex_docmd.c, + src/misc2.c + +Patch 8.1.1852 +Problem: Timers test is flaky. +Solution: Accept a larger count. Add test to list of flaky tests. +Files: src/testdir/test_timers.vim, src/testdir/runtest.vim + +Patch 8.1.1853 +Problem: Timers test is still flaky. +Solution: Compute the time to sleep more accurately. +Files: src/ex_docmd.c + +Patch 8.1.1854 +Problem: Now another timer test is flaky. +Solution: Add test to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.1855 +Problem: Another failing timer test. +Solution: Assert that timers are finished by the end of the test. Rename + test functions to make them easier to find. +Files: src/testdir/test_timers.vim, src/testdir/runtest.vim + +Patch 8.1.1856 +Problem: popup preview test fails sometimes. (Christian Brabandt) +Solution: Clear the command line. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_6.dump + +Patch 8.1.1857 +Problem: Cannot use modifier with multibyte character. +Solution: Allow using a multibyte character, although it doesn't work + everywhere. +Files: src/misc2.c, src/testdir/test_mapping.vim + +Patch 8.1.1858 +Problem: Test for multibyte mapping fails on some systems. +Solution: Test in another way. +Files: src/testdir/test_mapping.vim + +Patch 8.1.1859 +Problem: Timer test sometimes fails on Mac. +Solution: Show more info when it fails. +Files: src/testdir/test_timers.vim + +Patch 8.1.1860 +Problem: Map timeout test is flaky. +Solution: Add test to list of flaky tests. Increase timeout. +Files: src/testdir/runtest.vim, src/testdir/test_mapping.vim + +Patch 8.1.1861 +Problem: Only some assert functions can be used as a method. +Solution: Allow using most assert functions as a method. +Files: runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim + +Patch 8.1.1862 +Problem: Coverity warns for not using return value. +Solution: Add "(void)" to avoid the warning. +Files: src/normal.c + +Patch 8.1.1863 +Problem: Confusing error when using a builtin function as method while it + does not support that. +Solution: Add a specific error message. +Files: src/vim.h, src/evalfunc.c, src/userfunc.c, + src/testdir/test_method.vim + +Patch 8.1.1864 +Problem: Still a timer test that is flaky on Mac. +Solution: Adjust the sleep times. +Files: src/testdir/test_timers.vim + +Patch 8.1.1865 +Problem: Spellrare and spellrepall in the wrong order. +Solution: Put spellrare below spellrepall. (closes #4820) +Files: runtime/doc/spell.txt, src/ex_cmds.h + +Patch 8.1.1866 +Problem: Modeless selection in GUI does not work properly. +Solution: Avoid going beyond the end of the line. (closes #4783) +Files: src/ui.c + +Patch 8.1.1867 +Problem: Still a timer test that is flaky on Mac. +Solution: Loop with a sleep instead of one fixed sleep. +Files: src/testdir/test_timers.vim + +Patch 8.1.1868 +Problem: Multibyte characters in 'listchars' don't work correctly if + 'linebreak' is also enabled. (Martin Tournoij) +Solution: Make it work correctly. (Christian Brabandt, closes #4822, + closes #4812) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.1869 +Problem: Code for the argument list is spread out. +Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan, + closes #4819) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/arglist.c, src/buffer.c, src/evalfunc.c, src/ex_cmds2.c, + src/ex_docmd.c, src/proto.h, src/proto/arglist.pro, + src/proto/buffer.pro, src/proto/ex_cmds2.pro, + src/proto/ex_docmd.pro + +Patch 8.1.1870 +Problem: Using :pedit from a help file sets the preview window to help + filetype. (Wang Shidong) +Solution: Do not set "keep_help_flag". (closes #3536) +Files: src/ex_docmd.c, src/testdir/test_window_cmd.vim + +Patch 8.1.1871 (after 8.1.1866) +Problem: Modeless selection in GUI still not correct. +Solution: Fix max_col. +Files: src/ui.c + +Patch 8.1.1872 +Problem: When Vim exits because of a signal, VimLeave is not triggered. + (Daniel Hahler) +Solution: Unblock autocommands when triggering VimLeave. (closes #4818) +Files: src/main.c + +Patch 8.1.1873 (after 8.1.1872) +Problem: Cannot build tiny version. +Solution: Remove #ifdef for is_autocmd_blocked(). +Files: src/autocmd.c + +Patch 8.1.1874 +Problem: Modeless selection in popup window overlaps scrollbar. +Solution: Subtract scrollbar from max_col. (closes #4773) +Files: src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_select_01.dump + +Patch 8.1.1875 +Problem: Cannot get size and position of the popup menu. +Solution: Add pum_getpos(). (Ben Jackson, closes #4827) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_popup.vim + +Patch 8.1.1876 +Problem: proto file missing from distribution +Solution: Add the file. +Files: Filelist + +Patch 8.1.1877 +Problem: Graduated features scattered. +Solution: Put graduated and obsolete features together. +Files: src/feature.h + +Patch 8.1.1878 +Problem: Negative float before method not parsed correctly. +Solution: Apply "!" and "-" in front of expression before using ->. +Files: src/eval.c, src/proto/eval.pro, src/userfunc.c, + src/testdir/test_method.vim + +Patch 8.1.1879 +Problem: More functions can be used as methods. +Solution: Make float functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_float_func.vim + +Patch 8.1.1880 +Problem: Cannot show extra info for completion in a popup window. +Solution: Add the "popup" entry in 'completeopt'. +Files: runtime/doc/options.txt, src/popupmnu.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/ex_docmd.c, src/search.c, src/tag.c, + src/popupwin.c, src/proto/popupwin.pro, src/option.c, src/vim.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_3.dump, + src/testdir/dumps/Test_popupwin_infopopup_4.dump + +Patch 8.1.1881 +Problem: Popup window test fails in some configurations. +Solution: Check that screendumps can be made. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1882 +Problem: Cannot specify properties of the info popup window. +Solution: Add the 'completepopup' option. Default to PmenuSel highlight. +Files: runtime/doc/options.txt, runtime/doc/insert.txt, src/option.c, + src/popupwin.c, src/proto/popupwin.pro, src/option.h, + src/testdir/test_popupwin.vim, src/screen.c, + src/testdir/dumps/Test_popupwin_infopopup_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_3.dump + +Patch 8.1.1883 +Problem: Options test fails. +Solution: Add entry for 'completepopup'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.1.1884 +Problem: Cannot use mouse scroll wheel in popup in Insert mode. Mouse + clicks in popup close the popup menu. +Solution: Check if the mouse is in a popup window. Do not let mouse events + close the popup menu. (closes #4544) +Files: src/edit.c, src/popupmnu.c, src/insexpand.c + +Patch 8.1.1885 +Problem: Comments in libvterm are inconsistent. +Solution: Use // comments. Also update the table of combining characters. +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/mouse.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/libvterm/src/rect.h, + 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/src/termscreen.c + +Patch 8.1.1886 +Problem: Command line expansion code is spread out. +Solution: Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/cmdexpand.c, src/evalfunc.c, src/ex_getln.c, src/proto.h, + src/proto/cmdexpand.pro, src/proto/ex_getln.pro, src/structs.h + +Patch 8.1.1887 +Problem: The +cmdline_compl feature is not in the tiny version. +Solution: Graduate the +cmdline_compl feature. +Files: src/cmdexpand.c, src/arglist.c, src/autocmd.c, src/buffer.c, + src/cmdhist.c, src/eval.c, src/evalfunc.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/feature.h, src/highlight.c, + src/if_cscope.c, src/map.c, src/menu.c, src/misc1.c, src/misc2.c, + src/option.c, src/sign.c, src/syntax.c, src/tag.c, src/term.c, + src/usercmd.c, src/userfunc.c, src/version.c, src/globals.h, + src/option.h, src/structs.h, runtime/doc/cmdline.txt + +Patch 8.1.1888 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_vimscript.vim, src/testdir/test_balloon_gui.vim, + src/testdir/test_popup.vim, src/testdir/test_functions.vim, + src/testdir/test_hide.vim, src/testdir/test_arglist.vim + +Patch 8.1.1889 +Problem: Coverity warns for using a NULL pointer. +Solution: Use zero for column if pos is NULL. +Files: src/netbeans.c + +Patch 8.1.1890 +Problem: Ml_get error when deleting fold marker. +Solution: Check that the line number is not below the last line. Adjust the + fold when deleting the empty line. (Christian Brabandt, + closes #4834) +Files: src/fold.c, src/normal.c, src/testdir/test_fold.vim + +Patch 8.1.1891 +Problem: Functions used in one file are global. +Solution: Add "static". (Yegappan Lakshmanan, closes #4840) +Files: src/autocmd.c, src/buffer.c, src/change.c, src/channel.c, + src/charset.c, src/dict.c, src/digraph.c, src/eval.c, + src/ex_cmds.c, src/ex_eval.c, src/fileio.c, src/findfile.c, + src/getchar.c, src/gui.c, src/indent.c, src/json.c, src/list.c, + src/mark.c, src/menu.c, src/message.c, src/misc1.c, src/misc2.c, + src/ops.c, src/option.c, src/popupwin.c, src/profiler.c, + src/proto/autocmd.pro, src/proto/buffer.pro, src/proto/change.pro, + src/proto/channel.pro, src/proto/charset.pro, src/proto/dict.pro, + src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/ex_eval.pro, + src/proto/fileio.pro, src/proto/findfile.pro, + src/proto/getchar.pro, src/proto/gui.pro, src/proto/indent.pro, + src/proto/json.pro, src/proto/list.pro, src/proto/mark.pro, + src/proto/menu.pro, src/proto/message.pro, src/proto/misc1.pro, + src/proto/misc2.pro, src/proto/ops.pro, src/proto/option.pro, + src/proto/popupwin.pro, src/proto/profiler.pro, + src/proto/quickfix.pro, src/proto/spell.pro, src/proto/term.pro, + src/proto/textprop.pro, src/proto/ui.pro, src/proto/undo.pro, + src/proto/window.pro, src/quickfix.c, src/regexp.c, src/spell.c, + src/term.c, src/textprop.c, src/ui.c, src/undo.c, src/window.c + +Patch 8.1.1892 +Problem: Missing index entry and option menu for 'completepopup'. +Solution: Add the entries. Adjust #ifdefs to avoid dead code. +Files: runtime/doc/quickref.txt, runtime/optwin.vim, src/option.c, + src/option.h, src/popupwin.c + +Patch 8.1.1893 +Problem: Script to summarize test results can be improved. +Solution: Use "silent" for substitute to avoid reporting number of matches. + Remove duplicate "set nocp". (Daniel Hahler, closes #4845) +Files: src/testdir/summarize.vim + +Patch 8.1.1894 +Problem: Not checking for out-of-memory of autoload_name(). +Solution: Check for NULL. (Dominique Pelle, closes #4846) +Files: src/eval.c + +Patch 8.1.1895 +Problem: Using NULL pointer when out of memory. +Solution: Bail out or skip the code using the pointer. (Zu-Ming Jiang, + closes #4805, closes #4843, closes #4939, closes #4844) +Files: src/message.c, src/highlight.c, src/buffer.c, src/ops.c + +Patch 8.1.1896 +Problem: Compiler warning for unused variable. +Solution: Add #ifdef. (John Marriott) Missing part of 8.1.1892. +Files: src/popupmnu.c + +Patch 8.1.1897 +Problem: May free memory twice when out of memory. +Solution: Check that backslash_halve_save() returns a different pointer. + (Dominique Pelle, closes #4847) +Files: src/cmdexpand.c, src/misc1.c + +Patch 8.1.1898 +Problem: Crash when out of memory during startup. +Solution: When out of memory message given during initialisation bail out. + (closes #4842) +Files: src/misc2.c + +Patch 8.1.1899 +Problem: sign_place() does not work as documented. +Solution: Make it accept line numbers like line(). (Yegappan Lakshmanan, + closes #4848) +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1900 +Problem: Sign test fails in the GUI. +Solution: Catch and ignore the exception. +Files: src/testdir/test_signs.vim + +Patch 8.1.1901 +Problem: The +insert_expand feature is not always available. +Solution: Graduate the +insert_expand feature. +Files: src/feature.h, src/autocmd.c, src/buffer.c, src/change.c, + src/charset.c, src/edit.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_getln.c, src/getchar.c, src/gui.c, src/highlight.c, + src/indent.c, src/insexpand.c, src/misc2.c, src/move.c, + src/option.c, src/popupmnu.c, src/screen.c, src/search.c, + src/spell.c, src/tag.c, src/term.c, src/userfunc.c, src/version.c, + src/globals.h, src/option.h, src/proto.h, src/structs.h, + src/vim.h, runtime/doc/change.txt, runtime/doc/index.txt, + runtime/doc/insert.txt, runtime/doc/options.txt + +Patch 8.1.1902 +Problem: Cannot have an info popup without a border. +Solution: Add the "border" item to 'completepopup'. +Files: src/popupwin.c, src/proto/popupwin.pro, src/popupmnu.c, + src/testdir/test_popupwin.vim, src/testdir/gen_opt_test.vim, + src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump + +Patch 8.1.1903 +Problem: Cannot build without the +eval feature. +Solution: Add missing #ifdefs +Files: src/insexpand.c, src/popupmnu.c + +Patch 8.1.1904 +Problem: Cannot have an info popup align with the popup menu. +Solution: Add the "align" item to 'completepopup'. +Files: src/popupwin.c, src/popupmnu.c, src/vim.h, + runtime/doc/insert.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_align_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_align_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_align_3.dump + +Patch 8.1.1905 +Problem: Cannot set all properties of the info popup. +Solution: Add popup_findinfo(). Rename popup_getpreview() to + popup_findpreview(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/ex_cmds.c, + src/ex_docmd.c, src/popupmnu.c, src/evalfunc.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_align_3.dump + +Patch 8.1.1906 +Problem: Info popup size is sometimes incorrect. +Solution: Compute the position and size after setting the content. +Files: src/popupmnu.c + +Patch 8.1.1907 +Problem: Wrong position for info popup with scrollbar on the left. +Solution: Take the scrollbar into account. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_3.dump, + src/testdir/dumps/Test_popupwin_cursorline_4.dump, + src/testdir/dumps/Test_popupwin_cursorline_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_6.dump, + src/testdir/dumps/Test_popupwin_menu_filter_1.dump, + src/testdir/dumps/Test_popupwin_menu_filter_2.dump, + src/testdir/dumps/Test_popupwin_menu_filter_3.dump, + src/testdir/dumps/Test_popupwin_menu_filter_4.dump + +Patch 8.1.1908 +Problem: Every popup window consumes a buffer number. +Solution: Recycle buffers only used for popup windows. Do not list popup + window buffers. +Files: src/popupwin.c, src/window.c, src/vim.h, src/buffer.c, + src/proto/buffer.pro, src/ex_docmd.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1909 +Problem: More functions can be used as methods. +Solution: Make a few more functions usable as a method. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_bufline.vim, src/testdir/test_assert.vim + +Patch 8.1.1910 +Problem: Redrawing too much when toggling 'relativenumber'. +Solution: Only clear when 'signcolumn' is set to "number". (Yegappan + Lakshmanan, closes #4852) +Files: src/option.c + +Patch 8.1.1911 +Problem: More functions can be used as methods. +Solution: Make a few more functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test69.in, + src/testdir/test69.ok, src/testdir/test_functions.vim + +Patch 8.1.1912 +Problem: More functions can be used as methods. +Solution: Make channel and job functions usable as a method. +Files: runtime/doc/channel.txt, src/evalfunc.c, + src/testdir/test_channel.vim + +Patch 8.1.1913 +Problem: Not easy to compute the space on the command line. +Solution: Add v:echospace. (Daniel Hahler, closes #4732) +Files: src/vim.h, src/eval.c, src/option.c, runtime/doc/eval.txt, + src/testdir/test_messages.vim + +Patch 8.1.1914 +Problem: Command line expansion code is spread out. +Solution: Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855) +Files: src/cmdexpand.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.1.1915 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_cd.vim, + src/testdir/test_cindent.vim, src/testdir/test_match.vim, + src/testdir/test_popup.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_method.vim, src/testdir/test_bufline.vim, + src/testdir/test_diffmode.vim + +Patch 8.1.1916 +Problem: Trying to allocate negative amount of memory when closing a popup. +Solution: Check the rows are not out of bounds. Don't finish a selection if + it was never started. +Files: src/ui.c + +Patch 8.1.1917 +Problem: Non-current window is not redrawn when moving popup. (Ben Jackson) +Solution: Redraw all windows under a popup. (closes #4860) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump, + src/testdir/dumps/Test_popupwin_drag_03.dump + +Patch 8.1.1918 +Problem: Redrawing popups is inefficient. +Solution: Fix the logic to compute what window lines to redraw. Make it + work below the last line. Remove redrawing all windows. +Files: src/popupwin.c + +Patch 8.1.1919 +Problem: Using current window option values when passing a buffer to + popup_create(). +Solution: Clear the window-local options. (closes #4857) +Files: src/option.c, src/proto/option.pro, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1920 +Problem: Cannot close a popup by the X when a filter consumes all events. +Solution: Check for a click on the close button before invoking filters. + (closes #4858) +Files: src/popupwin.c, src/proto/popupwin.pro, src/ui.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_close_04.dump, + src/testdir/dumps/Test_popupwin_close_05.dump + +Patch 8.1.1921 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_expand.vim, + src/testdir/test_expand_func.vim, src/testdir/test_expr.vim, + src/testdir/test_findfile.vim, src/testdir/test_fnameescape.vim, + src/testdir/test_fnamemodify.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_search.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1922 +Problem: In diff mode global operations can be very slow. +Solution: Do not call diff_redraw() many times, call it once when redrawing. + And also don't update folds multiple times. +Files: src/globals.h, src/diff.c, src/proto/diff.pro, src/screen.c, + src/fold.c + +Patch 8.1.1923 +Problem: Some source files are not in a normal encoding. +Solution: Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1 + to utf-8. (Daniel Hahler, closes #4731) +Files: src/hangulin.c, src/digraph.c, .travis.yml + +Patch 8.1.1924 +Problem: Using empty string for current buffer is unexpected. +Solution: Make the argument optional for bufname() and bufnr(). +Files: src/evalfunc.c, src/testdir/test_arglist.vim, runtime/doc/eval.txt + +Patch 8.1.1925 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufline.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cd.vim, src/testdir/test_changelist.vim, + src/testdir/test_cmdline.vim, src/testdir/test_edit.vim, + src/testdir/test_environ.vim, src/testdir/test_file_perm.vim, + src/testdir/test_getvar.vim, src/testdir/test_jumplist.vim, + src/testdir/test_put.vim, src/testdir/test_stat.vim + +Patch 8.1.1926 +Problem: Cursorline not redrawn when putting a line above the cursor. +Solution: Redraw when the cursor line is below a change. (closes #4862) +Files: src/change.c + +Patch 8.1.1927 +Problem: Code for dealing with script files is spread out. +Solution: Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/cmdexpand.c, src/ex_cmds2.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/scriptfile.pro, src/scriptfile.c + +Patch 8.1.1928 +Problem: Popup windows don't move with the text when making changes. +Solution: Add the 'textprop' property to the popup window options, position + the popup relative to a text property. (closes #4560) + No tests yet. +Files: runtime/doc/popup.txt, src/textprop.c, src/proto/textprop.pro, + src/structs.h, src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/proto/move.pro, src/window.c + +Patch 8.1.1929 +Problem: No tests for text property popup window. +Solution: Add a few tests. +Files: src/testdir/Make_all.mak, src/textprop.c, + src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_01.dump, + src/testdir/dumps/Test_popup_textprop_02.dump, + src/testdir/dumps/Test_popup_textprop_03.dump, + src/testdir/dumps/Test_popup_textprop_04.dump, + src/testdir/dumps/Test_popup_textprop_05.dump, + src/testdir/dumps/Test_popup_textprop_06.dump + +Patch 8.1.1930 +Problem: Cannot recognize .jsx and .tsx files. +Solution: Recognize them as javascriptreact and typescriptreact. + (closes #4830) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim, + runtime/syntax/javascriptreact.vim, + runtime/indent/javascriptreact.vim, + runtime/ftplugin/javascriptreact.vim + +Patch 8.1.1931 (after 8.1.1930) +Problem: Syntax test fails. +Solution: Add new javascriptreact type to completions. +Files: src/testdir/test_syntax.vim + +Patch 8.1.1932 +Problem: Ml_get errors after using append(). (Alex Genco) +Solution: Do not update the cursor twice. (closes #1737) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.1.1933 +Problem: The eval.c file is too big. +Solution: Move code related to variables to evalvars.c. (Yegappan + Lakshmanan, closes #4868) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/globals.h, + src/proto.h, src/proto/eval.pro, src/proto/evalvars.pro, src/vim.h + +Patch 8.1.1934 +Problem: Not enough tests for text property popup window. +Solution: Add a few more tests. +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_corn_1.dump, + src/testdir/dumps/Test_popup_textprop_corn_2.dump, + src/testdir/dumps/Test_popup_textprop_corn_3.dump, + src/testdir/dumps/Test_popup_textprop_corn_4.dump + +Patch 8.1.1935 (after 8.1.1934) +Problem: Test for text property popup window is flaky. +Solution: Remove the undo message +Files: src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_corn_4.dump + +Patch 8.1.1936 +Problem: Not enough tests for text property popup window. +Solution: Add a few more tests. Make negative offset work. Close all + popups when window closes. +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_07.dump, + src/testdir/dumps/Test_popup_textprop_off_1.dump, + src/testdir/dumps/Test_popup_textprop_off_2.dump, + src/testdir/dumps/Test_popup_textprop_corn_5.dump, + src/testdir/dumps/Test_popup_textprop_corn_6.dump + +Patch 8.1.1937 (after 8.1.1930) +Problem: Errors when using javascriptreact. +Solution: Use ":runtime" instead of ":source". (closes #4875) +Files: runtime/syntax/javascriptreact.vim, + runtime/indent/javascriptreact.vim, + runtime/ftplugin/javascriptreact.vim + +Patch 8.1.1938 +Problem: May crash when out of memory. +Solution: Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871) +Files: src/userfunc.c + +Patch 8.1.1939 +Problem: Code for handling v: variables in generic eval file. +Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan, + closes #4872) +Files: src/eval.c, src/evalvars.c, src/proto/eval.pro, + src/proto/evalvars.pro + +Patch 8.1.1940 (after 8.1.1939) +Problem: Script tests fail. +Solution: Don't set vimvars type in set_vim_var_nr(). +Files: src/eval.c, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.1.1941 +Problem: getftype() test fails on Mac. +Solution: Skip /dev/fd/. +Files: src/testdir/test_stat.vim + +Patch 8.1.1942 +Problem: Shadow directory gets outdated when files are added. +Solution: Add the "shadowupdate" target and add a few comments. +Files: src/Makefile + +Patch 8.1.1943 +Problem: More code can be moved to evalvars.c. +Solution: Move it, clean up comments. Also move some window related + functions to window.c. (Yegappan Lakshmanan, closes #4874) +Files: src/eval.c, src/evalfunc.c, src/evalvars.c, src/proto/eval.pro, + src/proto/evalvars.pro, src/proto/window.pro, src/window.c + +Patch 8.1.1944 +Problem: Leaking memory when using sound callback. +Solution: Free the callback queue item. +Files: src/sound.c + +Patch 8.1.1945 +Problem: Popup window "firstline" cannot be reset. +Solution: Allow for setting "firstline" to zero. Fix that the text jumps to + the top when using win_execute(). (closes #4876) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump + +Patch 8.1.1946 +Problem: Memory error when profiling a function without a script ID. +Solution: Check for missing script ID. (closes #4877) +Files: src/testdir/test_profile.vim, src/profiler.c + +Patch 8.1.1947 +Problem: When executing one test the report doesn't show it. +Solution: Adjust the regexp. (Daniel Hahler, closes #4879) +Files: src/testdir/summarize.vim + +Patch 8.1.1948 +Problem: Mouse doesn't work in Linux console and causes 100% CPU. (James P. + Harvey) +Solution: Loop in WaitForCharOrMouse() when gpm_process_wanted is set. + (closes #4828) +Files: src/os_unix.c + +Patch 8.1.1949 +Problem: Cannot scroll a popup window to the very bottom. +Solution: Scroll to the bottom when the "firstline" property was set to -1. + (closes #4577) Allow resetting min/max width/height. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/dict.c, src/proto/dict.pro, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_firstline_1.dump, + src/testdir/dumps/Test_popupwin_firstline_2.dump, + src/testdir/dumps/Test_popupwin_scroll_10.dump + +Patch 8.1.1950 +Problem: Using NULL pointer after an out-of-memory. +Solution: Check for NULL pointer. (Dominique Pelle, closes #4881) +Files: src/syntax.c + +Patch 8.1.1951 +Problem: Mouse double click test is a bit flaky. +Solution: Add to list of flaky tests. Update a couple of comments. +Files: src/testdir/runtest.vim, src/testdir/shared.vim, + src/testdir/test_substitute.vim + +Patch 8.1.1952 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_tagjump.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_terminal.vim, src/testdir/test_getvar.vim, + src/testdir/test_escaped_glob.vim, + src/testdir/test_glob2regpat.vim + +Patch 8.1.1953 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_blob.vim, + src/testdir/test_breakindent.vim, src/testdir/test_delete.vim, + src/testdir/test_functions.vim, src/testdir/test_getcwd.vim, + src/testdir/test_history.vim, src/testdir/test_listdict.vim, + src/testdir/test_syn_attr.vim, src/testdir/test_termcodes.vim, + src/testdir/test_true_false.vim + +Patch 8.1.1954 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_arglist.vim, src/testdir/test_functions.vim, + src/testdir/test_json.vim, src/testdir/test_lispwords.vim, + src/testdir/test_listener.vim, src/testdir/test_lua.vim, + src/testdir/test_utf8.vim + +Patch 8.1.1955 +Problem: Tests contain typos. +Solution: Correct the typos. (Dominique Pelle) +Files: src/testdir/popupbounce.vim, src/testdir/runtest.vim, + src/testdir/screendump.vim, src/testdir/test49.vim, + src/testdir/test_autocmd.vim, src/testdir/test_cindent.vim, + src/testdir/test_const.vim, src/testdir/test_popupwin.vim, + src/testdir/test_quickfix.vim, src/testdir/test_search.vim, + src/testdir/test_tabpage.vim, src/testdir/test_tcl.vim + +Patch 8.1.1956 +Problem: Screenshot tests may use a different encoding. (Dominique Pelle) +Solution: Always set 'encoding' to "utf-8" when running Vim in a terminal. + (closes #4884) +Files: src/testdir/shared.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_behind.dump + +Patch 8.1.1957 +Problem: More code can be moved to evalvars.c. +Solution: Move code to where it fits better. (Yegappan Lakshmanan, + closes #4883) +Files: src/eval.c, src/evalvars.c, src/ex_getln.c, src/globals.h, + src/if_py_both.h, src/proto/eval.pro, src/proto/evalvars.pro, + src/proto/ex_getln.pro, src/proto/scriptfile.pro, + src/scriptfile.c, src/session.c, src/viminfo.c + +Patch 8.1.1958 +Problem: Old style comments taking up space. +Solution: Change to new style comments. +Files: src/vim.h + +Patch 8.1.1959 +Problem: When using "firstline" in popup window text may jump when + redrawing it. (Nick Jensen) +Solution: Set 'scrolloff' to zero in a popup window. (closes #4882) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump + +Patch 8.1.1960 +Problem: Fold code is spread out. +Solution: Move fold functions to fold.c. +Files: src/evalfunc.c, src/fold.c, src/proto/fold.pro + +Patch 8.1.1961 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. Add a test for + mapcheck(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test70.in, + src/testdir/test_functions.vim, src/testdir/test_getcwd.vim, + src/testdir/test_maparg.vim, src/testdir/test_match.vim + +Patch 8.1.1962 +Problem: Leaking memory when using tagfunc(). +Solution: Free the user_data. (Dominique Pelle, closes #4886) +Files: src/window.c + +Patch 8.1.1963 +Problem: Popup window filter may be called recursively when using a Normal + mode command. (Nick Jensen) +Solution: Prevent recursiveness. (closes #4887) Also restore KeyTyped. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1964 +Problem: Crash when using nested map() and filter(). +Solution: Do not set the v:key type to string without clearing the pointer. + (closes #4888) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 8.1.1965 +Problem: The search count message is not displayed when using a mapping. + (Gary Johnson) +Solution: Ignore cmd_silent for showing the search count. (Christian + Brabandt) +Files: src/search.c + +Patch 8.1.1966 +Problem: Some code in options.c fits better elsewhere. +Solution: Move functions from options.c to other files. (Yegappan + Lakshmanan, closes #4889) +Files: src/evalfunc.c, src/globals.h, src/indent.c, src/map.c, + src/option.c, src/proto/map.pro, src/proto/option.pro, + src/proto/quickfix.pro, src/proto/screen.pro, src/proto/spell.pro, + src/proto/window.pro, src/quickfix.c, src/screen.c, src/spell.c, + src/window.c + +Patch 8.1.1967 +Problem: Line() only works for the current window. +Solution: Add an optional argument for the window to use. +Files: runtime/eval.txt, src/evalfunc.c, src/testdir/test_popupwin.vim + +Patch 8.1.1968 +Problem: Crash when using nested map(). +Solution: Clear the pointer in prepare_vimvar(). (Ozaki Kiichi, + closes #4890, closes #4891) +Files: src/evalvars.c, src/testdir/test_filter_map.vim, + src/testdir/test_functions.vim + +Patch 8.1.1969 +Problem: Popup window filter is used in all modes. +Solution: Add the "filtermode" property. +Files: src/popupwin.c, src/vim.h, src/map.c, src/proto/map.pro, + src/structs.h, runtime/doc/popup.txt, + src/testdir/test_popupwin.vim + +Patch 8.1.1970 +Problem: Search stat space wrong, no test for 8.1.1965. +Solution: Fix check for cmd_silent. Add a test. (Christian Brabandt) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1971 +Problem: Manually enabling features causes build errors. (John Marriott) +Solution: Adjust #ifdefs. +Files: src/proto.h, src/popupmnu.c, src/buffer.c, src/quickfix.c, + src/ui.c + +Patch 8.1.1972 +Problem: No proper test for getchar(). +Solution: Add a test with special characters. +Files: src/testdir/test_functions.vim + +Patch 8.1.1973 +Problem: Cannot build without the quickfix feature. +Solution: Remove #ifdef for qf_info_T. +Files: src/structs.h + +Patch 8.1.1974 +Problem: Coverity warns for using pointer as array. +Solution: Call var2fpos() directly instead of using f_line(). +Files: src/evalfunc.c + +Patch 8.1.1975 +Problem: MS-Windows GUI responds slowly to timer. +Solution: Break out of wait loop when timer was added or input is available. + (closes #4893) +Files: src/gui_w32.c + +Patch 8.1.1976 +Problem: Travis log always shows test output. +Solution: Change script to avoid if/else. (Ozaki Kiichi, closes #4892) +Files: .travis.yml + +Patch 8.1.1977 +Problem: Terminal debugger plugin may hang. +Solution: Wait longer when still reading symbols. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.1978 +Problem: The eval.c file is too big. +Solution: Move filter() and map() to list.c. +Files: src/eval.c, src/proto/eval.pro, src/list.c, src/proto/list.pro, + src/evalfunc.c + +Patch 8.1.1979 +Problem: Code for handling file names is spread out. +Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME. +Files: src/filepath.c, Filelist, src/Make_cyg_ming.mak, + src/Make_morph.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/README.md, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/feature.h, src/findfile.c, src/if_cscope.c, + src/message.c, src/misc1.c, src/proto.h, src/proto/eval.pro, + src/proto/evalvars.pro src/proto/filepath.pro, + src/proto/findfile.pro, src/proto/message.pro, src/regexp.c, + src/version.c + +Patch 8.1.1980 +Problem: Fix for search stat not tested. +Solution: Add a screenshot test. (Christian Brabandt) +Files: src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_1.dump, + src/testdir/dumps/Test_searchstat_2.dump + +Patch 8.1.1981 +Problem: The evalfunc.c file is too big. +Solution: Move undo functions to undo.c. Move cmdline functions to + ex_getln.c. Move some container functions to list.c. +Files: src/evalfunc.c, src/undo.c, src/proto/undo.pro, src/ex_getln.c, + src/proto/ex_getln.pro, src/list.c, src/proto/list.pro + +Patch 8.1.1982 +Problem: More functions can be used as methods. +Solution: Make popup functions usable as a method. +Files: runtime/doc/popup.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1983 +Problem: Compiler nags for uninitialized variable and unused function. +Solution: Add unnecessary initialization. Move function inside #ifdef. +Files: src/memline.c, src/channel.c + +Patch 8.1.1984 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_perl.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim + +Patch 8.1.1985 +Problem: Code for dealing with paths is spread out. +Solution: Move path related functions from misc1.c to filepath.c. + Remove NO_EXPANDPATH. +Files: src/misc1.c, src/proto/misc1.pro, src/filepath.c, + src/evalfunc.c, src/globals.h, src/misc2.c, src/os_unix.c, + src/os_unix.h, src/proto/filepath.pro, src/scriptfile.c, + src/proto/misc2.pro, src/proto/scriptfile.pro, src/vim.h + +Patch 8.1.1986 +Problem: More functions can be used as methods. +Solution: Make textprop functions usable as a method. +Files: runtime/doc/textprop.txt, src/evalfunc.c, + src/testdir/test_textprop.vim + +Patch 8.1.1987 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_clientserver.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/testdir/test_reltime.vim, src/testdir/test_rename.vim + +Patch 8.1.1988 +Problem: :startinsert! does not work the same way as "A". +Solution: Use the same code to move the cursor. (closes #4896) +Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, + src/testdir/test_edit.vim + +Patch 8.1.1989 +Problem: The evalfunc.c file is still too big. +Solution: Move f_pathshorten() to filepath.c. Move f_cscope_connection() to + if_cscope.c. Move diff_ functions to diff.c. Move timer_ + functions to ex_cmds2.c. move callback functions to evalvars.c. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/filepath.c, + src/proto/filepath.pro, src/if_cscope.c, src/proto/if_cscope.pro, + src/diff.c, src/proto/diff.pro, src/ex_cmds2.c, + src/proto/ex_cmds2.pro, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.1.1990 +Problem: Cannot build with eval but without cscope. +Solution: Always include if_cscope.pro. +Files: src/proto.h + +Patch 8.1.1991 +Problem: Still cannot build with eval but without cscope. +Solution: Move f_cscope_connection() outside of #ifdef. +Files: src/if_cscope.c + +Patch 8.1.1992 +Problem: The search stat moves when wrapping at the end of the buffer. +Solution: Put the "W" in front instead of at the end. +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1993 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufline.vim, src/testdir/test_charsearch.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_diffmode.vim, + src/testdir/test_environ.vim, src/testdir/test_functions.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_popupwin.vim, src/testdir/test_search.vim, + src/testdir/test_searchpos.vim, src/testdir/test_utf8.vim + +Patch 8.1.1994 +Problem: MS-Windows: cannot build with eval but without cscope +Solution: Adjust the makefiles to always build if_cscope.obj. +Files: src/Make_mvc.mak, src/Make_cyg_ming.mak + +Patch 8.1.1995 +Problem: More functions can be used as methods. +Solution: Make sign functions usable as a method. +Files: runtime/doc/sign.txt, src/evalfunc.c, src/testdir/test_signs.vim + +Patch 8.1.1996 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_put.vim, + src/testdir/test_quickfix.vim, src/testdir/test_sha256.vim, + src/testdir/test_tabpage.vim, src/testdir/test_tagjump.vim, + src/testdir/test_vartabs.vim + +Patch 8.1.1997 +Problem: No redraw after a popup window filter is invoked. +Solution: Redraw if needed. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_menu_filter_5.dump + +Patch 8.1.1998 +Problem: Redraw even when no popup window filter was invoked. +Solution: Only redraw when must_redraw was set to a larger value. +Files: src/popupwin.c + +Patch 8.1.1999 +Problem: Calling both PlaySoundW() and PlaySoundA(). +Solution: Only use PlaySoundW(). (Dan Thompson, closes #4903) +Files: src/sound.c + +Patch 8.1.2000 +Problem: Plugin cannot get the current IME status. +Solution: Add the getimstatus() function. (closes #4904) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/mbyte.c, + src/proto/mbyte.pro, src/testdir/test_iminsert.vim + +Patch 8.1.2001 +Problem: Some source files are too big. +Solution: Move buffer and window related functions to evalbuffer.c and + evalwindow.c. (Yegappan Lakshmanan, closes #4898) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/buffer.c, src/channel.c, src/evalbuffer.c, src/evalfunc.c, + src/evalwindow.c, src/proto.h, src/proto/buffer.pro, + src/proto/evalbuffer.pro, src/proto/evalfunc.pro, + src/proto/evalwindow.pro, src/proto/window.pro, src/window.c + +Patch 8.1.2002 +Problem: Version number 2000 missing. +Solution: Add the number in the list of patches. +Files: src/version.c + +Patch 8.1.2003 +Problem: MS-Windows: code page 65001 is not recognized. +Solution: Use utf-8 for code page 65001. (Dan Thompson, closes #4902) +Files: src/mbyte.c + +Patch 8.1.2004 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_breakindent.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_sound.vim, + src/testdir/test_spell.vim, src/testdir/test_substitute.vim, + src/testdir/test_swap.vim, src/testdir/test_utf8.vim + +Patch 8.1.2005 +Problem: The regexp.c file is too big. +Solution: Move the backtracking engine to a separate file. (Yegappan + Lakshmanan, closes #4905) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, + src/regexp.c, src/regexp_bt.c + +Patch 8.1.2006 +Problem: Build failure with huge features but without channel feature. +Solution: Add #ifdef. (Dominique Pelle, closes #4906) +Files: src/ui.c + +Patch 8.1.2007 +Problem: No test for what 8.1.1926 fixes. +Solution: Add a test case. +Files: src/testdir/test_highlight.vim + +Patch 8.1.2008 +Problem: Error for invalid range when using listener and undo. (Paul Jolly) +Solution: Do not change the cursor before the lines are restored. + (closes #4908) +Files: src/undo.c, src/testdir/test_listener.vim + +Patch 8.1.2009 +Problem: Cursorline highlighting not updated in popup window. (Marko + Mahnič) +Solution: Check if the cursor position changed. (closes #4912) +Files: src/popupwin.c, src/structs.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_cursorline_7.dump + +Patch 8.1.2010 +Problem: New file uses old style comments. +Solution: Change to new style comments. (Yegappan Lakshmanan, closes #4910) +Files: src/regexp_bt.c + +Patch 8.1.2011 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. Make the window + command test faster. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim, src/testdir/test_gui.vim, + src/testdir/test_messages.vim, src/testdir/test_options.vim, + src/testdir/test_quickfix.vim, src/testdir/test_taglist.vim, + src/testdir/test_termcodes.vim, src/testdir/test_timers.vim, + src/testdir/test_vimscript.vim, src/testdir/test_viminfo.vim, + src/testdir/test_window_cmd.vim + +Patch 8.1.2012 +Problem: More functions can be used as methods. +Solution: Make terminal functions usable as a method. Fix term_getattr(). +Files: runtime/doc/terminal.txt, src/evalfunc.c, src/terminal.c + src/testdir/test_mksession.vim, src/testdir/test_terminal.vim + +Patch 8.1.2013 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_cursor_func.vim, + src/testdir/test_execute_func.vim, src/testdir/test_functions.vim, + src/testdir/test_listchars.vim, src/testdir/test_timers.vim, + src/testdir/test_undo.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_window_id.vim + +Patch 8.1.2014 +Problem: Terminal altscreen test fails sometimes. +Solution: Use WaitFor(). +Files: src/testdir/test_terminal.vim + +Patch 8.1.2015 +Problem: Terminal altscreen test still fails sometimes. +Solution: Write the escape sequence in a file. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2016 +Problem: Terminal altscreen test now fails on MS-Windows. +Solution: Skip the test on MS-Windows +Files: src/testdir/test_terminal.vim + +Patch 8.1.2017 +Problem: Cannot execute commands after closing the cmdline window. +Solution: Also trigger BufEnter and WinEnter. (closes #4762) +Files: runtime/doc/autocmd.txt, runtime/doc/cmdline.txt, src/ex_getln.c, + src/testdir/test_cmdline.vim + +Patch 8.1.2018 +Problem: Using freed memory when out of memory and displaying message. +Solution: Make a copy of the message first. +Files: src/main.c, src/message.c, src/normal.c + +Patch 8.1.2019 +Problem: 'cursorline' always highlights the whole line. +Solution: Add 'cursorlineopt' to specify what is highlighted. + (Ozaki Kiichi, closes #4693) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/doc/syntax.txt, runtime/optwin.vim, src/option.c, + src/option.h, src/screen.c, src/structs.h, + src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, + src/testdir/test_alot.vim, src/testdir/test_cursorline.vim + +Patch 8.1.2020 +Problem: It is not easy to change the window layout. +Solution: Add win_splitmove(). (Andy Massimino, closes #4561) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/evalwindow.c, + src/proto/evalwindow.pro, src/testdir/test_window_cmd.vim + +Patch 8.1.2021 +Problem: Some global functions can be local to the file. +Solution: Add "static". (Yegappan Lakshmanan, closes #4917) +Files: src/ex_cmds2.c, src/filepath.c, src/hangulin.c, src/mbyte.c, + src/misc1.c, src/os_unix.c, src/proto/ex_cmds2.pro, + src/proto/filepath.pro, src/proto/hangulin.pro, + src/proto/mbyte.pro, src/proto/misc1.pro, src/proto/os_unix.pro, + src/proto/terminal.pro, src/proto/undo.pro, src/pty.c, + src/terminal.c, src/undo.c + +Patch 8.1.2022 +Problem: The option.c file is too big. +Solution: Move option definitions to a separate file. (Yegappan Lakshmanan, + closes #4918) +Files: Filelist, src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, + src/option.c, src/optiondefs.h + +Patch 8.1.2023 +Problem: No test for synIDattr() returning "strikethrough". +Solution: Extend the synIDattr() test. (Jaskaran Singh, closes #4929) +Files: src/testdir/test_syn_attr.vim + +Patch 8.1.2024 +Problem: Delete call commented out for debugging. +Solution: Restore the delete call. (Christian Brabandt) +Files: src/testdir/test_undo.vim + +Patch 8.1.2025 +Problem: MS-Windows: Including shlguid.h causes problems for msys2. +Solution: Do not include shlguid.h. (closes #4913) +Files: src/GvimExt/gvimext.h + +Patch 8.1.2026 +Problem: Possibly using uninitialized memory. +Solution: Check if "dict" is NULL. (closes #4925) +Files: src/ops.c + +Patch 8.1.2027 +Problem: MS-Windows: problem with ambiwidth characters. +Solution: handle ambiguous width characters in ConPTY on Windows 10 (1903). + (Nobuhiro Takasaki, closes #4411) +Files: src/Make_mvc.mak, src/Make_cyg_ming.mak, src/libvterm/src/parser.c, + src/libvterm/src/state.c, src/libvterm/src/termscreen.c, + src/libvterm/src/unicode.c, src/libvterm/src/vterm_internal.h, + src/misc2.c, src/os_win32.c, src/proto/misc2.pro, + src/proto/os_win32.pro + +Patch 8.1.2028 +Problem: Options test script does not work. +Solution: Use optiondefs.h for input. +Files: src/testdir/Makefile, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak + +Patch 8.1.2029 +Problem: Cannot control 'cursorline' highlighting well. +Solution: Add "screenline". (Christian Brabandt, closes #4933) +Files: runtime/doc/options.txt, src/change.c, src/main.c, src/option.c, + src/option.h, src/optiondefs.h, src/screen.c, src/structs.h, + src/highlight.c, src/testdir/dumps/Test_Xcursorline_1.dump, + src/testdir/dumps/Test_Xcursorline_2.dump, + src/testdir/dumps/Test_Xcursorline_3.dump, + src/testdir/dumps/Test_Xcursorline_4.dump, + src/testdir/dumps/Test_Xcursorline_5.dump, + src/testdir/dumps/Test_Xcursorline_6.dump, + src/testdir/dumps/Test_Xcursorline_7.dump, + src/testdir/dumps/Test_Xcursorline_8.dump, + src/testdir/dumps/Test_Xcursorline_9.dump, + src/testdir/dumps/Test_Xcursorline_10.dump, + src/testdir/dumps/Test_Xcursorline_11.dump, + src/testdir/dumps/Test_Xcursorline_12.dump, + src/testdir/dumps/Test_Xcursorline_13.dump, + src/testdir/dumps/Test_Xcursorline_14.dump, + src/testdir/dumps/Test_Xcursorline_15.dump, + src/testdir/dumps/Test_Xcursorline_16.dump, + src/testdir/dumps/Test_Xcursorline_17.dump, + src/testdir/dumps/Test_Xcursorline_18.dump, + src/testdir/gen_opt_test.vim, src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_yank_01.dump, + src/testdir/dumps/Test_wincolor_01.dump, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.2030 +Problem: Tests fail when build with normal features and terminal. + (Dominique Pelle) +Solution: Disable tests that won't work. (closes #4932) +Files: src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.1.2031 +Problem: Cursor position wrong when resizing and using conceal. +Solution: Set the flags that the cursor position is valid when setting the + row and column during redrawing. (closes #4931) +Files: src/screen.c, src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_resize_01.dump, + src/testdir/dumps/Test_conceal_resize_02.dump + +Patch 8.1.2032 +Problem: Scrollbar thumb wrong in popup window. +Solution: Adjust thumb size and position when scrolled. +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_scroll_2.dump + +Patch 8.1.2033 +Problem: Cannot build with tiny features. +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.2034 +Problem: Dark theme of GTK 3 not supported. +Solution: Add the "d" flag in 'guioptions'. (Jonathan Conder, closes #4934) +Files: runtime/doc/options.txt, src/feature.h, src/gui.c, + src/gui_gtk_x11.c, src/option.h, src/proto/gui_gtk_x11.pro, + src/testdir/test_gui.vim + +Patch 8.1.2035 +Problem: Recognizing octal numbers is confusing. +Solution: Introduce scriptversion 4: do not use octal and allow for single + quote inside numbers. +Files: runtime/doc/eval.txt, src/vim.h, src/eval.c, src/scriptfile.c, + src/evalfunc.c, src/testdir/test_eval_stuff.vim, + src/testdir/test_functions.vim + +Patch 8.1.2036 (after 8.1.2035) +Problem: The str2nr() tests fail. +Solution: Add missing part of patch. +Files: src/charset.c + +Patch 8.1.2037 +Problem: Can call win_gotoid() in cmdline window. +Solution: Disallow switching windows. (Yasuhiro Matsumoto, closes #4940) +Files: src/evalwindow.c, src/testdir/test_cmdline.vim + +Patch 8.1.2038 +Problem: has('vimscript-4') is always 0. +Solution: Add "vimscript-4" to the feature table. (Naruhiko Nishino, + closes #4941) +Files: src/evalfunc.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.2039 +Problem: Character from 'showbreak' does not use 'wincolor'. (Nick Jensen) +Solution: Mix with 'wincolor'. (closes #4938) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_showbreak.dump + +Patch 8.1.2040 +Problem: No highlighting of current line in quickfix window. +Solution: Combine with line_attr. +Files: src/screen.c, src/testdir/test_quickfix.vim, + src/testdir/dumps/Test_quickfix_cwindow_1.dump, + src/testdir/dumps/Test_quickfix_cwindow_2.dump + +Patch 8.1.2041 (after 8.1.2040) +Problem: No test for diff mode with syntax highlighting. +Solution: Add a test case. +Files: src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_syntax_1.dump + +Patch 8.1.2042 +Problem: The evalfunc.c file is too big. +Solution: Move getchar() and parse_queued_messages() to getchar.c. +Files: src/getchar.c, src/proto/getchar.pro, src/evalfunc.c, src/misc2.c, + src/proto/misc2.pro + +Patch 8.1.2043 +Problem: Not sufficient testing for quoted numbers. +Solution: Add a few more test cases. +Files: src/testdir/test_functions.vim, src/testdir/test_eval_stuff.vim + +Patch 8.1.2044 +Problem: No easy way to process postponed work. (Paul Jolly) +Solution: Add the SafeState autocommand event. +Files: runtime/doc/autocmd.txt, src/main.c, src/proto/main.pro, + src/vim.h, src/autocmd.c, src/channel.c, src/edit.c, + src/ex_getln.c + +Patch 8.1.2045 +Problem: The option.c file is too big. +Solution: Split off the code dealing with strings. (Yegappan Lakshmanan, + closes #4937) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/option.c, src/option.h, src/optiondefs.h, src/optionstr.c, + src/ops.c, src/os_unix.c, src/proto.h, src/proto/option.pro, + src/proto/optionstr.pro + +Patch 8.1.2046 +Problem: SafeState may be triggered at the wrong moment. +Solution: Move it up higher to after where messages are processed. Add a + SafeStateAgain event to trigger there. +Files: runtime/doc/autocmd.txt, src/main.c, src/proto/main.pro, + src/getchar.c, src/channel.c, src/autocmd.c, src/vim.h + +Patch 8.1.2047 +Problem: Cannot check the current state. +Solution: Add the state() function. +Files: runtime/doc/eval.txt, src/misc1.c, src/proto/misc1.pro, + src/evalfunc.c, src/proto/evalfunc.pro, src/main.c, + src/proto/main.pro, src/channel.c, src/proto/channel.pro, + src/userfunc.c, src/proto/userfunc.pro + +Patch 8.1.2048 +Problem: Not clear why SafeState and SafeStateAgain are not triggered. +Solution: Add log statements. +Files: src/getchar.c, src/main.c, src/proto/main.pro + +Patch 8.1.2049 (after 8.1.2048) +Problem: Cannot build tiny version. +Solution: Add #ifdefs. +Files: src/main.c + +Patch 8.1.2050 +Problem: Popup window test fails in some configurations. (James McCoy) +Solution: Clear the command line. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_10.dump + +Patch 8.1.2051 +Problem: Double-click test is a bit flaky. +Solution: Correct entry in list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2052 +Problem: Using "x" before a closed fold may delete that fold. +Solution: Do not translate 'x' do "dl". (Christian Brabandt, closes #4927) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.1.2053 +Problem: SafeStateAgain not triggered if callback uses feedkeys(). +Solution: Check for safe state in the input loop. Make log messages easier + to find. Add 'S' flag to state(). +Files: src/main.c, src/proto/main.pro, src/getchar.c, + runtime/doc/eval.txt + +Patch 8.1.2054 +Problem: Compiler test for Perl may fail. +Solution: Accept any error line number. (James McCoy, closes #4944) +Files: src/testdir/test_compiler.vim + +Patch 8.1.2055 +Problem: Not easy to jump to function line from profile. +Solution: Use "file:99" instead of "file line 99" so that "gf" works. + (Daniel Hahler, closes #4951) +Files: src/profiler.c, src/testdir/test_profile.vim + +Patch 8.1.2056 +Problem: "make test" for indent files doesn't cause make to fail. +Solution: Exit the script with ":cquit". (Daniel Hahler, closes #4949) +Files: runtime/indent/testdir/runtest.vim, .gitignore + +Patch 8.1.2057 +Problem: The screen.c file is much too big. +Solution: Split it in three parts. (Yegappan Lakshmanan, closes #4943) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/drawline.c, src/drawscreen.c, src/globals.h, src/proto.h, + src/proto/drawline.pro, src/proto/drawscreen.pro, + src/proto/screen.pro, src/screen.c, src/vim.h + +Patch 8.1.2058 +Problem: Function for ex command is named inconsistently. +Solution: Rename do_marks() to ex_marks(). +Files: src/mark.c, src/proto/mark.pro, src/ex_cmds.h + +Patch 8.1.2059 +Problem: Fix for "x" deleting a fold has side effects. +Solution: Fix it where the fold is included. +Files: src/normal.c + +Patch 8.1.2060 +Problem: "precedes" in 'listchars' not used properly. +Solution: Correctly handle the "precedes" char in list mode for long lines. + (Zach Wegner, Christian Brabandt, closes #4953) +Files: runtime/doc/options.txt, src/drawline.c, + src/testdir/test_display.vim, src/testdir/view_util.vim + +Patch 8.1.2061 +Problem: MS-Windows GUI: ":sh" crashes when trying to use a terminal. +Solution: Check for a NULL command. (Yasuhiro Matsumoto, closes #4958) +Files: src/os_win32.c + +Patch 8.1.2062 +Problem: The mouse code is spread out. +Solution: Move all the mouse code to mouse.c. (Yegappan Lakshmanan, + closes #4959) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/auto/configure, src/configure.ac, src/edit.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_getln.c, src/insexpand.c, + src/libvterm/src/termmouse.c, src/libvterm/src/mouse.c, + src/main.c, src/message.c, src/misc1.c, src/misc2.c, src/mouse.c, + src/normal.c, src/proto.h, src/proto/edit.pro, + src/proto/misc1.pro, src/proto/misc2.pro, src/proto/mouse.pro, + src/proto/normal.pro, src/proto/term.pro, src/proto/ui.pro, + src/search.c, src/term.c, src/ui.c, src/vim.h, src/window.c + +Patch 8.1.2063 +Problem: Some tests fail when +balloon_eval_term is missing but + _balloon_eval is present. (Dominique Pelle) +Solution: Check the right feature in the test. (closes #4962) +Files: src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.1.2064 +Problem: MS-Windows: compiler warnings for unused arguments. +Solution: Add UNUSED. (Yegappan Lakshmanan, closes #4963) +Files: src/channel.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, + src/gui_w32.c, src/main.c, src/memline.c, src/os_mswin.c, + src/os_win32.c, src/terminal.c, src/ui.c, src/undo.c + +Patch 8.1.2065 +Problem: Compiler warning building non-GUI with MinGW. +Solution: Adjust #ifdefs. (Yegappan Lakshmanan, closes #4964) +Files: sre/mouse.c + +Patch 8.1.2066 +Problem: No tests for state(). +Solution: Add tests. Clean up some feature checks. Make "a" flag work. +Files: src/testdir/test_functions.vim, src/testdir/test_terminal.vim, + src/misc1.c + +Patch 8.1.2067 +Problem: No tests for SafeState and SafeStateAgain. +Solution: Add tests. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2068 (after 8.1.2067) +Problem: Test for SafeState and SafeStateAgain may fail. +Solution: Accept more possible responses +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2069 (after 8.1.2068) +Problem: Test for SafeStateAgain may still fail. +Solution: Send another message to trigger SafeStateAgain. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2070 +Problem: Mouse code is spread out. +Solution: Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan, + closes #4966) +Files: src/mouse.c, src/proto/mouse.pro, src/proto/term.pro, src/term.c + +Patch 8.1.2071 +Problem: When 'wincolor' is set text property changes highlighting. (Andy + Stewart) +Solution: Fix combining colors. (closes #4968) +Files: src/drawline.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_wincolor_01.dump + +Patch 8.1.2072 +Problem: "gk" moves to start of line instead of upwards. +Solution: Fix off-by-one error. (Christian Brabandt, closes #4969) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.1.2073 +Problem: When editing a buffer 'colorcolumn' may not work. +Solution: Set the buffer before copying option values. Call + check_colorcolumn() after copying window options. +Files: src/buffer.c, src/option.c, src/proto/option.pro, + src/proto/indent.pro, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_colorcolumn_1.dump + +Patch 8.1.2074 +Problem: Test for SafeState autocommand is a bit flaky. +Solution: Add to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2075 +Problem: Get many log messages when waiting for a typed character. +Solution: Do not repeat the repeated messages when nothing happens. +Files: src/globals.h, src/channel.c, src/main.c + +Patch 8.1.2076 +Problem: Crash when trying to put a terminal buffer in a popup window. +Solution: Check for NULL buffer. Do not allow putting a terminal in a popup + window. +Files: src/libvterm/src/termscreen.c, src/terminal.c, src/popupwin.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim + +Patch 8.1.2077 +Problem: The ops.c file is too big. +Solution: Move code for dealing with registers to a new file. (Yegappan + Lakshmanan, closes #4982) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms src/Makefile, src/README.md, + src/ops.c, src/proto.h, src/proto/ops.pro, src/proto/register.pro, + src/register.c, src/structs.h + +Patch 8.1.2078 +Problem: Build error with +textprop but without +terminal. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.1.2079 +Problem: Popup window test fails without +terminal. +Solution: Check for the +terminal feature. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.2080 +Problem: The terminal API is limited and can't be disabled. +Solution: Add term_setapi() to set the function prefix. (Ozaki Kiichi, + closes #2907) +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/term_util.vim, + src/testdir/test_terminal.vim + +Patch 8.1.2081 +Problem: The spell.c file is too big. +Solution: Move the code for spell suggestions to a separate file. (Yegappan + Lakshmanan, closes #4988) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/proto.h, src/proto/spell.pro, src/proto/spellsuggest.pro, + src/spell.c, src/spell.h, src/spellsuggest.c + +Patch 8.1.2082 +Problem: Some files have a weird name to fit in 8.3 characters. +Solution: Use a nicer names. +Files: Filelist, Makefile, src/popupmnu.c, src/popupmenu.c, + src/proto/popupmnu.pro, src/proto/popupmenu.pro, + src/Make_cyg_ming.mak, src/Make_morph.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/proto.h, src/README.md, + src/uninstal.c, src/uninstall.c, uninstal.txt, uninstall.txt, + nsis/gvim.nsi, src/INSTALLpc.txt, src/dosinst.c, src/dosinst.h + +Patch 8.1.2083 +Problem: Multi-byte chars do not work properly with "%.*S" in printf(). +Solution: Use mb_ptr2cells(). Daniel Hahler, closes #4989) +Files: src/testdir/test_expr.vim, src/message.c + +Patch 8.1.2084 +Problem: Amiga: cannot get the user name. +Solution: Use getpwuid() if available. (Ola Söder, closes #4985) +Files: src/os_amiga.c, src/os_amiga.h + +Patch 8.1.2085 +Problem: MS-Windows: draw error moving cursor over double-cell character. +Solution: Move the cursor to the left edge if needed. (Nobuhiro Takasaki, + closes #4986) +Files: src/os_win32.c + +Patch 8.1.2086 (after 8.1.2082) +Problem: Missing a few changes for the renamed files. +Solution: Rename in a few more places. (Ken Takata) +Files: nsis/README.txt, runtime/doc/gui_w32.txt, runtime/doc/usr_90.txt, + src/GvimExt/GvimExt.reg, src/GvimExt/README.txt, + src/proto/popupmenu.pro, src/proto/popupmnu.pro + +Patch 8.1.2087 +Problem: Cannot easily select one test function to execute. +Solution: Support the $TEST_FILTER environment variable. (Ozaki Kiichi, + closes #2695) +Files: src/Makefile, src/testdir/runtest.vim, src/testdir/summarize.vim + +Patch 8.1.2088 +Problem: Renamed libvterm mouse.c file not in distributed file list. +Solution: Rename the file in the file list. +Files: Filelist + +Patch 8.1.2089 (after 8.1.2087) +Problem: Do not get a hint that $TEST_FILTER was active. +Solution: Mention $TEST_FILTER if no functions were executed. +Files: src/testdir/runtest.vim + +Patch 8.1.2090 +Problem: Not clear why channel log file ends. +Solution: Add a "closing" line. +Files: src/channel.c + +Patch 8.1.2091 +Problem: Double free when memory allocation fails. (Zu-Ming Jiang) +Solution: Use VIM_CLEAR() instead of vim_free(). (closes #4991) +Files: src/getchar.c + +Patch 8.1.2092 +Problem: MS-Windows: redirect in system() does not work. +Solution: Handle 'shellxescape' and 'shellxquote' better. (Yasuhiro + Matsumoto, closes #2054) +Files: src/ex_cmds.c, src/misc2.c, src/testdir/test_system.vim + +Patch 8.1.2093 +Problem: MS-Windows: system() test fails. +Solution: Expect CR when using systemlist(). +Files: src/testdir/test_system.vim + +Patch 8.1.2094 +Problem: The fileio.c file is too big. +Solution: Move buf_write() to bufwrite.c. (Yegappan Lakshmanan, + closes #4990) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/bufwrite.c, src/fileio.c, src/option.c, src/proto.h, + src/proto/bufwrite.pro, src/proto/fileio.pro, src/structs.h + +Patch 8.1.2095 +Problem: Leaking memory when getting item from dict. +Solution: Also free the key when not evaluating. +Files: src/dict.c + +Patch 8.1.2096 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_COMMENTS. +Files: src/feature.h, src/buffer.c, src/change.c, src/edit.c, + src/evalfunc.c, src/fold.c, src/insexpand.c, src/misc1.c, + src/normal.c, src/ops.c, src/option.c, src/optionstr.c, + src/search.c, src/version.c, src/globals.h, src/option.h, + src/optiondefs.h, src/structs.h, runtime/doc/change.txt, + runtime/doc/options.txt, runtime/doc/various.txt + +Patch 8.1.2097 +Problem: :mksession is not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #4992) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2098 (after 8.1.2097) +Problem: mksession test fails on MS-Windows. +Solution: Skip testing with backslashes on MS-Windows. +Files: src/testdir/test_mksession.vim + +Patch 8.1.2099 +Problem: state() test fails on some Mac systems. +Solution: Increase the wait time. (closes #4983) +Files: src/testdir/test_functions.vim + +Patch 8.1.2100 +Problem: :mksession is not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #4993) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2101 +Problem: write_session_file() often defined but not used. +Solution: Adjust the #ifdef. (Yegappan Lakshmanan, closes #4998) +Files: src/session.c + +Patch 8.1.2102 +Problem: Can't build with GTK and FEAT_GUI_GNOME. (Tony Mechelynck) +Solution: Adjust the #ifdef. (Yegappan Lakshmanan) +Files: src/session.c + +Patch 8.1.2103 +Problem: wrong error message if "termdebugger" is not executable. +Solution: Check if "termdebugger" is executable and give a clear error + message. (Ozaki Kiichi, closes #5000) Fix indents. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.2104 +Problem: The normal.c file is too big. +Solution: Move do_pending_operator() to ops.c. (Yegappan Lakshmanan, + closes #4999). +Files: src/normal.c, src/ops.c, src/proto/normal.pro, src/proto/ops.pro, + src/globals.h + +Patch 8.1.2105 +Problem: MS-Windows: system() may crash. +Solution: Do not use "itmp" when it is NULL. (Yasuhiro Matsumoto, + closes #5005) +Files: src/ex_cmds.c + +Patch 8.1.2106 +Problem: No tests for dragging the mouse beyond the window. +Solution: Add a test. (Dominique Pelle, closes #5004) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2107 +Problem: Various memory leaks reported by asan. +Solution: Free the memory. (Ozaki Kiichi, closes #5003) +Files: src/buffer.c, src/change.c, src/eval.c, src/evalfunc.c, + src/option.c, src/popupwin.c, src/proto/change.pro, + src/scriptfile.c, src/terminal.c, src/testdir/test_method.vim + +Patch 8.1.2108 +Problem: Cannot close the cmdline window from CmdWinEnter. (George Brown) +Solution: Reset cmdwin_result earlier. (Christian Brabandt, closes #4980) +Files: src/ex_getln.c, src/testdir/test_autocmd.vim + +Patch 8.1.2109 +Problem: popup_getoptions() hangs with tab-local popup. +Solution: Correct pointer name. (Marko Mahnič, closes #5006) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.2110 +Problem: CTRL-C closes two popups instead of one. +Solution: Reset got_int when the filter consumed the key. +Files: src/getchar.c, src/testdir/test_popupwin.vim + +Patch 8.1.2111 +Problem: Viminfo file not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5009) +Files: src/testdir/test_viminfo.vim + +Patch 8.1.2112 +Problem: Build number for ConPTY is outdated. +Solution: Update to new build number. (Nobuhiro Takasaki, closes #5014) +Files: src/os_win32.c + +Patch 8.1.2113 +Problem: ":help expr-!~?" only works after searching. +Solution: Escape "~" after "expr-". (closes #5015) +Files: src/ex_cmds.c, src/testdir/test_help.vim + +Patch 8.1.2114 +Problem: When a popup is closed with CTRL-C the callback aborts. +Solution: Reset got_int when invoking the callback. (closes #5008) +Files: src/popupwin.c + +Patch 8.1.2115 +Problem: MS-Windows: shell commands fail if &shell contains a space. +Solution: Use quotes instead of escaping. (closes #4920) +Files: src/option.c, src/os_win32.c, src/testdir/test_startup.vim, + src/testdir/test_system.vim, src/vimrun.c, + +Patch 8.1.2116 +Problem: No check for out of memory. +Solution: Check for NULL pointer. +Files: src/option.c + +Patch 8.1.2117 +Problem: CursorLine highlight used while 'cursorline' is off. +Solution: Check 'cursorline' is set. (closes #5017) +Files: src/drawline.c, src/testdir/test_cursorline.vim + +Patch 8.1.2118 +Problem: Termcodes test fails when $TERM is "dumb". +Solution: Skip the test. (James McCoy, closes #5019) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2119 +Problem: memory access error for empty string when 'encoding' is a single + byte encoding. +Solution: Check for empty string when getting the length. (Dominique Pelle, + closes #5021, closes #5007) +Files: src/macros.h + +Patch 8.1.2120 +Problem: Some MB_ macros are more complicated than necessary. (Dominique + Pelle) +Solution: Simplify the macros. Expand inline. +Files: src/macros.h, src/beval.c, src/diff.c src/eval.c src/evalfunc.c + src/ex_getln.c, src/filepath.c, src/findfile.c, src/getchar.c, + src/highlight.c, src/ops.c, src/os_mswin.c, src/popupmenu.c, + src/search.c, src/spell.c, src/spellsuggest.c, src/terminal.c + +Patch 8.1.2121 +Problem: Mode is not updated when switching to terminal in Insert mode. +Solution: Redraw the mode when entering a terminal window. (Jason Franklin) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.1.2122 (after 8.1.2121) +Problem: Cannot build without terminal feature. +Solution: Add #ifdef. +Files: src/window.c + +Patch 8.1.2123 +Problem: Parsing CSI sequence is messy. +Solution: Generalize parsing a CSI sequence. +Files: src/term.c + +Patch 8.1.2124 +Problem: Ruler is not updated if win_execute() moves cursor. +Solution: Update the status line. (closes #5022) +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.1.2125 +Problem: Fnamemodify() fails when repeating :e. +Solution: Do not go before the tail. (Rob Pilling, closes #5024) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.1.2126 +Problem: Viminfo not sufficiently tested. +Solution: Add more test cases. Clean up comments. (Yegappan Lakshmanan, + closes #5032) +Files: src/search.c, src/structs.h, src/testdir/test_viminfo.vim, + src/viminfo.c + +Patch 8.1.2127 +Problem: The indent.c file is a bit big. +Solution: Move C-indent code to a new cindent.c file. Move other + indent-related code to indent.c. (Yegappan Lakshmanan, + closes #5031) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/change.c, src/cindent.c, src/edit.c, src/evalfunc.c, + src/ex_cmds.c, src/globals.h, src/indent.c, src/misc1.c, + src/ops.c, src/proto.h, src/proto/cindent.pro, src/proto/edit.pro, + src/proto/ex_cmds.pro, src/proto/indent.pro, src/proto/misc1.pro, + src/proto/ops.pro, src/userfunc.c + +Patch 8.1.2128 +Problem: Renamed libvterm sources makes merging difficult. +Solution: Rename back to the original name and only rename the .o files. + Also clean the libvterm build artifacts. (James McCoy, + closes #5027) +Files: src/libvterm/src/termmouse.c, src/libvterm/src/mouse.c, + src/libvterm/src/termscreen.c, src/libvterm/src/screen.c, + src/Makefile, src/configure.ac, src/auto/configure, + src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.2129 +Problem: Using hard coded executable path in test. +Solution: Use v:progpath. Use $VIMRUNTIME instead of "runtime". (James + McCoy, closes #5025) +Files: src/testdir/test49.vim, src/testdir/test_compiler.vim, + src/testdir/test_spell.vim + +Patch 8.1.2130 (after 8.1.2128) +Problem: MSVC build fails. +Solution: Add the source file name explicitly. +Files: src/Make_mvc.mak + +Patch 8.1.2131 (after 8.1.2129) +Problem: MSVC tests fail. +Solution: Replace backslashes with slashes. +Files: src/testdir/test_compiler.vim, src/testdir/test_spell.vim + +Patch 8.1.2132 +Problem: MS-Windows: screen mess when not recognizing insider build. +Solution: Always move the cursor to the first column first. (Nobuhiro + Takasaki, closes #5036) +Files: src/os_win32.c + +Patch 8.1.2133 +Problem: Some tests fail when run as root. +Solution: Add CheckNotRoot and use it. (James McCoy, closes #5020) +Files: src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/test_rename.vim, src/testdir/test_swap.vim, + src/testdir/test_terminal.vim, src/testdir/test_viminfo.vim + +Patch 8.1.2134 +Problem: Modifier keys are not always recognized. +Solution: Handle key codes generated by xterm with modifyOtherKeys set. + Add this to libvterm so we can debug it. +Files: src/term.c, src/getchar.c, src/libvterm/src/vterm_internal.h, + src/libvterm/src/state.c, src/libvterm/src/keyboard.c, + src/libvterm/include/vterm.h, src/globals.h, src/terminal.c + +Patch 8.1.2135 +Problem: With modifyOtherKeys Alt-a does not work properly. +Solution: Remove the ALT modifier. Get multibyte after applying ALT. +Files: src/getchar.c + +Patch 8.1.2136 +Problem: using freed memory with autocmd from fuzzer. (Dhiraj Mishra, + Dominique Pelle) +Solution: Avoid using "wp" after autocommands. (closes #5041) +Files: src/window.c, src/testdir/test_autocmd.vim + +Patch 8.1.2137 +Problem: Parsing the termresponse is not tested. +Solution: Add a first test. (related to #5042) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2138 +Problem: Including the build number in the Win32 binary is confusing. +Solution: Only use the patchlevel. +Files: src/vim.rc + +Patch 8.1.2139 +Problem: The modifyOtherKeys codes are not tested. +Solution: Add a test case. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2140 +Problem: "gk" and "gj" do not work correctly in number column. +Solution: Allow for a negative "curswant". (Zach Wegner, closes #4969) +Files: src/testdir/test_normal.vim, src/misc2.c, src/normal.c + +Patch 8.1.2141 +Problem: :tselect has an extra hit-enter prompt. +Solution: Do not set need_wait_return when only moving the cursor. + (closes #5040) +Files: src/message.c, src/testdir/test_tagjump.vim, + src/testdir/dumps/Test_tselect_1.dump + +Patch 8.1.2142 +Problem: Some key mappings do not work with modifyOtherKeys. +Solution: Remove the Shift modifier if it is already included in the key. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2143 +Problem: Cannot see each command even when 'verbose' is set. +Solution: List each command when 'verbose' is at least 16. +Files: src/ex_docmd.c src/testdir/test_tagjump.vim, + src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_verbose_option_1.dump + +Patch 8.1.2144 +Problem: Side effects when using t_ti to enable modifyOtherKeys. +Solution: Add t_TI and t_TE. +Files: runtime/doc/term.txt, src/term.c, src/optiondefs.h, src/term.h, + +Patch 8.1.2145 +Problem: Cannot map when modifyOtherKeys is enabled. +Solution: Add the mapping twice, both with modifier and as 0x08. Use + only the first one when modifyOtherKeys has been detected. +Files: src/term.c, src/eval.c, src/getchar.c, src/globals.h, + src/gui_mac.c, src/gui_w32.c, src/highlight.c, src/if_ole.cpp, + src/main.c, src/map.c, src/menu.c, src/misc2.c, src/option.c, + src/proto/misc2.pro, src/proto/term.pro, + src/testdir/test_termcodes.vim, src/structs.h, src/terminal.c, + src/usercmd.c, src/vim.h + +Patch 8.1.2146 (after 8.1.2145) +Problem: Build failure. +Solution: Include omitted changed file. +Files: src/optionstr.c + +Patch 8.1.2147 +Problem: Crash when allocating memory fails. (Zu-Ming Jiang) +Solution: Check that 'spellcapcheck' is not NULL. (closes #5048) +Files: src/spell.c + +Patch 8.1.2148 +Problem: No test for right click extending Visual area. +Solution: Add a test. (Dominique Pelle, closes #5018) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2149 +Problem: Crash when running out of memory very early. +Solution: Do not use IObuff when it's NULL. (closes #5052) +Files: src/message.c + +Patch 8.1.2150 +Problem: No test for 'ttymouse' set from xterm version response. +Solution: Test the three possible values. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2151 +Problem: State test is a bit flaky. +Solution: Add to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2152 +Problem: Problems navigating tags file on macOS Catalina. +Solution: Use fseek instead of lseek. (John Lamb, fixes #5061) +Files: src/tag.c + +Patch 8.1.2153 +Problem: Combining text property and syntax highlight is wrong. (Nick + Jensen) +Solution: Compute the syntax highlight attribute much earlier. + (closes #5057) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_syn_1.dump + +Patch 8.1.2154 +Problem: Quickfix window height wrong when there is a tabline. (Daniel + Hahler) +Solution: Take the tabline height into account. (closes #5058) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2155 +Problem: In a terminal window 'cursorlineopt' does not work properly. +Solution: Check the 'cursorlineopt' value. (closes #5055) +Files: src/drawline.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_normal_1.dump, + src/testdir/dumps/Test_terminal_normal_2.dump, + src/testdir/dumps/Test_terminal_normal_3.dump + +Patch 8.1.2156 +Problem: First character after Tab is not highlighted. +Solution: Remember the syntax attribute for a column. +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2157 +Problem: Libvterm source files missing from distribution. +Solution: Rename source files. (closes #5065) +Files: Filelist + +Patch 8.1.2158 +Problem: Terminal attributes missing in Terminal-normal mode. +Solution: Use "syntax_attr". +Files: src/drawline.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_dumpload.dump + +Patch 8.1.2159 +Problem: Some mappings are listed twice. +Solution: Skip mappings duplicated for modifyOtherKeys. (closes #5064) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.1.2160 +Problem: Cannot build with +syntax but without +terminal. +Solution: Add #ifdef. +Files: src/drawline.c + +Patch 8.1.2161 +Problem: Mapping test fails. +Solution: Run the test separately. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.1.2162 +Problem: Popup resize test is flaky. (Christian Brabandt) +Solution: Add the function to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2163 +Problem: Cannot build with +spell but without +syntax. +Solution: Add #ifdef. (John Marriott) +Files: src/drawline.c + +Patch 8.1.2164 +Problem: Stuck when using "j" in a popupwin with popup_filter_menu if a + line wraps. +Solution: Check the cursor line is visible. (closes #4577) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_wrap_1.dump, + src/testdir/dumps/Test_popupwin_wrap_2.dump + +Patch 8.1.2165 +Problem: Mapping test fails on Mac. +Solution: Remove the default Mac mapping. +Files: src/testdir/test_mapping.vim + +Patch 8.1.2166 +Problem: Rubyeval() not tested as a method. +Solution: Change a test case. +Files: src/testdir/test_ruby.vim + +Patch 8.1.2167 +Problem: Mapping test fails on MS-Windows. +Solution: Remove all the existing Insert-mode mappings. +Files: src/testdir/test_mapping.vim + +Patch 8.1.2168 +Problem: Heredoc assignment not skipped in if block. +Solution: Check if "skip" is set. (closes #5063) +Files: src/evalvars.c, src/testdir/test_let.vim + +Patch 8.1.2169 +Problem: Terminal flags are never reset. +Solution: Reset the flags when setting 'term'. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2170 (after 8.1.2169) +Problem: Cannot build without the +termresponse feature. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.1.2171 +Problem: Mouse support not always available. +Solution: Enable mouse support also in tiny version. Do not define + FEAT_MOUSE_XTERM on MS-Windows (didn't really work). +Files: src/feature.h, src/edit.c, src/evalfunc.c, src/ex_getln.c, + src/getchar.c, src/message.c, src/misc1.c, src/mouse.c, + src/move.c, src/normal.c, src/ops.c, src/option.c, + src/optionstr.c, src/os_unix.c, src/os_win32.c, src/register.c, + src/term.c, src/testing.c, src/window.c, src/globals.h, + src/option.h, src/optiondefs.h, src/os_win32.h, src/vim.h, + src/version.c + +Patch 8.1.2172 +Problem: Spell highlight is wrong at start of the line. +Solution: Fix setting the "v" variable. (closes #5078) +Files: src/drawline.c, src/testdir/test_spell.vim, + src/testdir/dumps/Test_spell_1.dump + +Patch 8.1.2173 +Problem: Searchit() has too many arguments. +Solution: Move optional arguments to a struct. Add the "wrapped" argument. +Files: src/search.c, src/proto/search.pro, src/structs.h, src/evalfunc.c, + src/ex_docmd.c, src/gui.c, src/quickfix.c, src/spell.c, src/tag.c, + src/ex_getln.c, src/insexpand.c, src/normal.c + +Patch 8.1.2174 +Problem: Screen not recognized as supporting "sgr" mouse codes. +Solution: Recognize screen 4.7. (Jordan Christiansen, closes #5042) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2175 +Problem: Meson files are not recognized. +Solution: Add the meson filetype. (Liam Beguin, Nirbheek Chauhan, + closes #5056) Also recognize hollywood. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2176 +Problem: Syntax attributes not combined with Visual highlighting. (Arseny + Nasokin) +Solution: Combine the attributes. (closes #5083) +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2177 +Problem: Dart files are not recognized. +Solution: Add a filetype rule. (Eugene Ciurana, closes #5087) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2178 +Problem: Accessing uninitialized memory in test. +Solution: Check if there was a match before using the match position. + (Dominique Pelle, closes #5088) +Files: src/search.c + +Patch 8.1.2179 +Problem: Pressing "q" at the more prompt doesn't stop Python output. (Daniel + Hahler) +Solution: Check for got_int in writer(). (closes #5053) + Also do this for Lua. +Files: src/if_py_both.h, src/if_lua.c + +Patch 8.1.2180 +Problem: Error E303 is not useful when 'directory' is empty. +Solution: Skip the error message. (Daniel Hahler, #5067) +Files: src/memline.c, src/testdir/test_recover.vim, + runtime/doc/options.txt, runtime/doc/message.txt + +Patch 8.1.2181 +Problem: Highlighting wrong when item follows tab. +Solution: Don't use syntax attribute when n_extra is non-zero. + (Christian Brabandt, closes #5076) +Files: src/drawline.c, src/feature.h, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2182 +Problem: Test42 seen as binary by git diff. +Solution: Add .gitattributes file. Make explicit that 'cpo' does not + contain 'S'. (Daniel Hahler, closes #5072) +Files: .gitattributes, Filelist, src/testdir/test42.in + +Patch 8.1.2183 +Problem: Running a test is a bit verbose. +Solution: Silence some messages. (Daniel Hahler, closes #5070) +Files: src/testdir/Makefile + +Patch 8.1.2184 +Problem: Option context is not copied when splitting a window. (Daniel + Hahler) +Solution: Copy the option context, so that ":verbose set" works. + (closes #5066) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.1.2185 (after 8.1.2181) +Problem: Syntax test fails. +Solution: Add missing file patch. +Files: src/testdir/test_syntax.vim + +Patch 8.1.2186 (after 8.1.2184) +Problem: Cannot build without the +eval feature. +Solution: Move line inside #ifdef. +Files: src/option.c + +Patch 8.1.2187 +Problem: Error for bad regexp even though regexp is not used when writing + a file. (Arseny Nasokin) +Solution: Ignore regexp errors. (closes #5059) +Files: src/cmdexpand.c, src/ex_docmd.c, src/testdir/test_writefile.vim + +Patch 8.1.2188 (after 8.1.2187) +Problem: Build error for missing define. +Solution: Add missing change. +Files: src/vim.h + +Patch 8.1.2189 +Problem: Syntax highlighting wrong for tab. +Solution: Don't clear syntax attribute n_extra is non-zero. +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2190 +Problem: Syntax test fails on Mac. +Solution: Limit the window size to 20 rows. +Files: src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2191 +Problem: When using modifyOtherKeys CTRL-X mode may not work. +Solution: Recognize a control character also in the form with a modifier. +Files: src/getchar.c + +Patch 8.1.2192 +Problem: Cannot easily fill the info popup asynchronously. +Solution: Add the "popuphidden" value to 'completeopt'. (closes #4924) +Files: src/popupmenu.c, src/proto/popupmenu.pro, src/popupwin.c, + src/proto/popupwin.pro, src/vim.h, runtime/doc/options.txt, + runtime/doc/insert.txt, src/ex_cmds.c, src/proto/ex_cmds.pro, + src/optionstr.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump + +Patch 8.1.2193 +Problem: Popup_setoptions(popup_getoptions()) does not work. +Solution: Also accept a list with three entries for "moved" and + "mousemoved". (closes #5081) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.2194 +Problem: ModifyOtherKeys is not enabled by default. +Solution: Add t_TI and t_TE to the builtin xterm termcap. +Files: runtime/doc/map.txt, src/term.c + +Patch 8.1.2195 +Problem: Vim does not exit when closing a terminal window and it is the + last window. +Solution: Exit Vim if the closed terminal window is the last one. + (closes #4539) +Files: runtime/doc/terminal.txt, src/terminal.c, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/testdir/test_terminal.vim + +Patch 8.1.2196 +Problem: MS-Windows: running tests with MSVC lacks updates. +Solution: Improve running individual tests on MS-Windows. (closes #4922) +Files: src/Make_mvc.mak, src/testdir/Make_dos.mak + +Patch 8.1.2197 +Problem: ExitPre autocommand may cause accessing freed memory. +Solution: Check the window pointer is still valid. (closes #5093) +Files: src/testdir/test_exit.vim, src/ex_docmd.c + +Patch 8.1.2198 +Problem: Crash when using :center in autocommand. +Solution: Bail out early for an empty line. (Dominique Pelle, closes #5095) +Files: src/ex_cmds.c, src/testdir/test_textformat.vim + +Patch 8.1.2199 +Problem: Build failure when using normal features without GUI and EXITFREE + defined. +Solution: Add #ifdef. (Dominique Pelle, closes #5106) +Files: src/scriptfile.c + +Patch 8.1.2200 +Problem: Crash when memory allocation fails. +Solution: Check for NULL curwin and curbuf. (Christian Brabandt, + closes #4839) +Files: src/getchar.c + +Patch 8.1.2201 +Problem: Cannot build with dynamically linked Python 3.8. +Solution: Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata, + closes #4080) +Files: src/if_python3.c + +Patch 8.1.2202 +Problem: MS-Windows: build failure with GUI and small features. +Solution: Add #ifdef. (Michael Soyka, closes #5097) +Files: src/gui_w32.c + +Patch 8.1.2203 +Problem: Running libvterm tests without the +terminal feature. +Solution: Only add the libvterm test target when building libvterm. +Files: src/configure.ac, src/auto/configure, src/config.mk.in, + src/Makefile + +Patch 8.1.2204 +Problem: Crash on exit when closing terminals. (Corey Hickey) +Solution: Actually wait for the job to stop. (closes #5100) +Files: src/terminal.c + +Patch 8.1.2205 +Problem: Sign entry structure has confusing name. +Solution: Rename signlist_T to sign_entry_T and prefix se_ to the fields. +Files: src/structs.h, src/netbeans.c, src/sign.c, src/globals.h, + src/drawline.c + +Patch 8.1.2206 +Problem: No test for fixed issue #3893. +Solution: Add a test. (Christian Brabandt, #3893) +Files: src/testdir/test_display.vim, + src/testdir/dumps/Test_winline_rnu.dump + +Patch 8.1.2207 +Problem: "gn" doesn't work quite right. (Jaehwang Jerry Jung) +Solution: Improve and simplify the search logic. (Christian Brabandt, + closes #5103, closes #5075) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2208 +Problem: Unix: Tabs in output might be expanded to spaces. +Solution: Reset the XTABS flag. (closes #5108) +Files: src/os_unix.c + +Patch 8.1.2209 +Problem: LF in escape codes may be expanded to CR-LF. +Solution: Do not expand LF in escape codes to CR-LF. (closes #5107) +Files: src/term.c + +Patch 8.1.2210 +Problem: Using negative offset for popup_create() does not work. +Solution: Use -1 instead of zero. (closes #5111) +Files: src/popupwin.c, src/popupwin.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_corners.dump + +Patch 8.1.2211 +Problem: Listener callback "added" argument is not the total. (Andy + Massimino) +Solution: Compute the total. (closes #5105) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.1.2212 +Problem: Cannot see the selection type in :reg output. (Ayberk Aydın) +Solution: Add c/l/b. (Christian Brabandt, closes #5110, closes #4546) +Files: runtime/doc/change.txt, src/register.c, + src/testdir/test_registers.vim + +Patch 8.1.2213 +Problem: Popup_textprop tests fail. +Solution: Adjust the column and line positioning. +Files: src/popupwin.c + +Patch 8.1.2214 +Problem: Too much is redrawn when 'cursorline' is set. +Solution: Don't do a complete redraw. (closes #5079) +Files: src/main.c, src/change.c, src/drawscreen.c, + src/testdir/dumps/Test_Xcursorline_13.dump, + src/testdir/dumps/Test_Xcursorline_14.dump, + src/testdir/dumps/Test_Xcursorline_15.dump, + src/testdir/dumps/Test_Xcursorline_16.dump, + src/testdir/dumps/Test_Xcursorline_17.dump, + src/testdir/dumps/Test_Xcursorline_18.dump + +Patch 8.1.2215 +Problem: Unreachable code in adjusting text prop columns. +Solution: Remove the code. (Christian Brabandt) +Files: src/textprop.c + +Patch 8.1.2216 +Problem: Text property in wrong place after :substitute. +Solution: Pass the new column instead of the old one. (Christian Brabandt, + closes #4427) +Files: src/ex_cmds.c, src/testdir/test_textprop.vim + +Patch 8.1.2217 +Problem: Compiler warning for unused variable. +Solution: Move variable inside #ifdef. (John Marriott) +Files: src/ex_cmds.c + +Patch 8.1.2218 +Problem: "gN" is off by one in Visual mode. +Solution: Check moving forward. (Christian Brabandt, #5075) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2219 +Problem: No autocommand for open window with terminal. +Solution: Add TerminalWinOpen. (Christian Brabandt) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/terminal.c, + src/testdir/test_terminal.vim, src/vim.h + +Patch 8.1.2220 +Problem: :cfile does not abort like other quickfix commands. +Solution: Abort when desired. Add tests for aborting. (Yegappan Lakshmanan, + closes #5121) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2221 +Problem: Cannot filter :disp output. +Solution: Support filtering :disp output. (Andy Massimino, closes #5117) +Files: runtime/doc/various.txt, src/register.c, + src/testdir/test_filter_cmd.vim + +Patch 8.1.2222 +Problem: Accessing invalid memory. (Dominique Pelle) +Solution: Reset highlight_match every time. (closes #5125) +Files: src/ex_getln.c + +Patch 8.1.2223 +Problem: Cannot see what buffer an ml_get error is for. +Solution: Add the buffer number and name in the message +Files: src/memline.c + +Patch 8.1.2224 +Problem: Cannot build Amiga version. +Solution: Add dummy mch_setmouse(). (Ola Söder, closes #5126) +Files: src/os_amiga.c, src/proto/os_amiga.pro + +Patch 8.1.2225 +Problem: The "last used" info of a buffer is under used. +Solution: Add "lastused" to getbufinfo(). List buffers sorted by last-used + field. (Andy Massimino, closes #4722) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/windows.txt, src/buffer.c, src/evalbuffer.c, + src/ex_getln.c, src/misc1.c, src/option.c, src/option.h, + src/proto/misc1.pro, src/proto/viminfo.pro, + src/testdir/test_bufwintabinfo.vim, src/testdir/test_cmdline.vim, + src/testdir/test_excmd.vim, src/undo.c, src/vim.h, src/viminfo.c + +Patch 8.1.2226 +Problem: Cannot use system copy/paste in non-xterm terminals. +Solution: Instead of setting 'mouse' to "a" set it to "nvi" in defaults.vim. +Files: runtime/defaults.vim, runtime/doc/term.txt, + runtime/doc/options.txt + +Patch 8.1.2227 +Problem: Layout wrong if 'lines' changes while cmdline window is open. +Solution: Do not restore the window layout if 'lines' changed. + (closes #5130) +Files: src/window.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_restore_1.dump, + src/testdir/dumps/Test_cmdwin_restore_2.dump, + src/testdir/dumps/Test_cmdwin_restore_3.dump + +Patch 8.1.2228 +Problem: screenpos() returns wrong values when 'number' is set. (Ben + Jackson) +Solution: Compare the column with the window width. (closes #5133) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.1.2229 +Problem: Cannot color number column above/below cursor differently. +Solution: Add LineNrAbove and LineNrBelow. (Shaun Brady, closes #624) +Files: runtime/doc/syntax.txt, runtime/doc/options.txt, src/optiondefs.h, + src/drawline.c, src/vim.h, src/testdir/test_number.vim, + src/testdir/dumps/Test_relnr_colors_1.dump, + src/testdir/dumps/Test_relnr_colors_2.dump, + src/testdir/dumps/Test_relnr_colors_3.dump, + src/testdir/dumps/Test_relnr_colors_4.dump + +Patch 8.1.2230 +Problem: MS-Windows: testing external commands can be improved. +Solution: Adjust tests, remove duplicate test. (closes #4928) +Files: src/testdir/test_normal.vim, src/testdir/test_system.vim, + src/testdir/test_terminal.vim, src/testdir/test_undo.vim + +Patch 8.1.2231 +Problem: Not easy to move to the middle of a text line. +Solution: Add the gM command. (Yasuhiro Matsumoto, closes #2070) +Files: runtime/doc/index.txt, runtime/doc/motion.txt, + runtime/doc/quickref.txt, runtime/doc/usr_25.txt, src/normal.c, + src/testdir/test_normal.vim + +Patch 8.1.2232 +Problem: MS-Windows: compiler warning for int size. +Solution: Add type cast. (Mike Williams) +Files: src/normal.c + +Patch 8.1.2233 +Problem: Cannot get the Vim command line arguments. +Solution: Add v:argv. (Dmitri Vereshchagin, closes #1322) +Files: runtime/doc/eval.txt, src/evalvars.c, src/vim.h, + src/proto/evalvars.pro, src/main.c, src/testdir/test_startup.vim + +Patch 8.1.2234 +Problem: get_short_pathname() fails depending on encoding. +Solution: Use the wide version of the library function. (closes #5129) +Files: src/filepath.c, src/testdir/test_shortpathname.vim + +Patch 8.1.2235 +Problem: "C" with 'virtualedit' set does not include multibyte char. +Solution: Include the whole multibyte char. (Nobuhiro Takasaki, + closes #5152) +Files: src/ops.c, src/testdir/test_virtualedit.vim + +Patch 8.1.2236 +Problem: Ml_get error if pattern matches beyond last line. +Solution: Adjust position if needed. (Christian Brabandt, closes #5139) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.2237 +Problem: Mode() result after using "r" depends on whether CURSOR_SHAPE is + defined. (Christian Brabandt) +Solution: Move the #ifdef to only skip ui_cursor_shape(). +Files: src/normal.c + +Patch 8.1.2238 +Problem: Error in docs tags goes unnoticed. +Solution: Adjust tags build command. (Ken Takata, closes #5158) +Files: Filelist, .travis.yml, runtime/doc/Makefile, + runtime/doc/doctags.vim + +Patch 8.1.2239 +Problem: CI fails when running tests without building Vim. +Solution: Skip creating doc tags if the execute does not exist. +Files: runtime/doc/Makefile + +Patch 8.1.2240 +Problem: Popup window width changes when scrolling. +Solution: Also adjust maxwidth when applying minwidth and there is a + scrollbar. Fix off-by-one error. (closes #5162) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_11.dump, + src/testdir/dumps/Test_popupwin_scroll_12.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump, + src/testdir/dumps/Test_popupwin_previewpopup_7.dump, + src/testdir/dumps/Test_popupwin_previewpopup_8.dump, + +Patch 8.1.2241 +Problem: Match highlight does not combine with 'wincolor'. +Solution: Apply 'wincolor' last on top of any other attribute. (closes #5159) +Files: src/drawline.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_matches.dump + src/testdir/dumps/Test_popupwin_menu_01.dump + src/testdir/dumps/Test_popupwin_menu_02.dump + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.2242 +Problem: Creating docs tags uses user preferences. (Tony Mechelynck) +Solution: Add "--clean". +Files: runtime/doc/Makefile + +Patch 8.1.2243 +Problem: Typos in comments. +Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust + formatting a bit. +Files: src/autocmd.c, src/buffer.c, src/cindent.c, src/crypt.c, + src/diff.c, src/getchar.c, src/globals.h, src/gui_gtk_x11.c, + src/highlight.c, src/insexpand.c, src/macros.h, src/map.c, + src/memline.c, src/message.c, src/option.c, src/os_unix.c, + src/pty.c, src/quickfix.c, src/regexp_nfa.c, src/register.c, + src/spellsuggest.c, src/structs.h, src/textprop.c, src/ui.c, + src/undo.c, src/vim.h, src/viminfo.c + +Patch 8.1.2244 +Problem: 'wrapscan' is not used for "gn". +Solution: Only reset 'wrapscan' for the first search round. (closes #5164) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2245 +Problem: Third character of 'listchars' tab shows in wrong place when + 'breakindent' is set. +Solution: Set c_final to NUL. (Naruhiko Nishino, closes #5165) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.1.2246 +Problem: Some tests are still in old style. +Solution: Change a few tests to new style. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test49.ok, + src/testdir/test49.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.2247 +Problem: "make vimtags" does not work in runtime/doc. +Solution: Test existence with "which" instead of "test -x". (Ken Takata) +Files: runtime/doc/Makefile + +Patch 8.1.2248 +Problem: CTRL-W dot does not work in a terminal when modifyOtherKeys is + enabled. +Solution: Use the modifier when needed. Pass the modifier along with the + key to avoid mistakes. +Files: src/terminal.c, src/proto/terminal.pro, src/mouse.c + +Patch 8.1.2249 +Problem: "make vimtags" does not print any message. +Solution: Add a message that the tags have been updated. +Files: runtime/doc/Makefile + +Patch 8.1.2250 +Problem: CTRL-U and CTRL-D don't work in popup window. +Solution: Initialize 'scroll'. Add "lastline" in popup_getpos(). + (closes #5170) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + +Patch 8.1.2251 +Problem: ":term command" may not work without a shell. +Solution: Add the ++shell option to :term. (closes #3340) +Files: runtime/doc/terminal.txt, src/terminal.c, + src/os_unix.c, src/proto/os_unix.pro, + src/testdir/test_terminal.vim + +Patch 8.1.2252 +Problem: Compiler warning for int size. +Solution: Add type cast. (Mike Williams) +Files: src/filepath.c + +Patch 8.1.2253 +Problem: Using "which" to check for an executable is not reliable. +Solution: Use "command -v" instead. Also exit with error code when + generating tags has an error. (closes #5174) +Files: runtime/doc/Makefile + +Patch 8.1.2254 +Problem: MS-Windows: mouse scroll wheel doesn't work in popup. +Solution: Handle mouse wheel events separately. (closes #5138) +Files: src/gui_w32.c, src/gui.c, src/proto/gui.pro + +Patch 8.1.2255 +Problem: ":term ++shell" does not work on MS-Windows. +Solution: Add MS-Windows support. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.2256 (after 8.1.2255) +Problem: Test for ":term ++shell" fails on MS-Windows. +Solution: Accept failure of "dir" executable. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2257 +Problem: MS-Windows GUI: scroll wheel always uses current window. +Solution: Add the 'scrollfocus' option for MS-Windows. +Files: runtime/doc/options.txt, src/gui_w32.c, src/optiondefs.h, + src/option.h + +Patch 8.1.2258 +Problem: May get hit-enter prompt after entering a number. (Malcolm Rowe) +Solution: Put back accidentally deleted lines. (closes #5176) +Files: src/misc1.c + +Patch 8.1.2259 +Problem: Running tests may leave XfakeHOME behind. +Solution: Source summarize.vim without using setup.vim. (closes #5177) + Also fix that on MS-Windows the test log isn't echoed. +Files: src/testdir/Makefile, src/testdir/Make_dos.mak + +Patch 8.1.2260 +Problem: Terminal test may fail on MS-Windows. +Solution: Catch the situation that "term dir" fails with a CreateProcess + error. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2261 +Problem: With modifyOtherKeys set 'noesckeys' doesn't work. (James McCoy) +Solution: Disable modifyOtherKeys while in Insert mode when 'noesckeys' is + set. (closes #5180) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.1.2262 +Problem: Unpack assignment in function not recognized. +Solution: Skip over "[a, b]". (closes #5051) +Files: src/userfunc.c, src/testdir/test_let.vim + +Patch 8.1.2263 +Problem: 'noesckeys' test fails in GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_edit.vim + +Patch 8.1.2264 +Problem: There are two test files for :let. +Solution: Merge the two files. +Files: src/testdir/test_assign.vim, src/testdir/test_let.vim, + src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.1.2265 +Problem: When popup with "botleft" does not fit it flips incorrectly. +Solution: Only flip when there is more space on the other side. Add the + "posinvert" option to disable flipping and do it in both + directions if enabled. (closes #5151) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/vim.h, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.1.2266 +Problem: Position unknown for a mouse click in a popup window. +Solution: Set v:mouse_col and v:mouse_lnum. (closes #5171) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.2267 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Rearrange the code. +Files: src/buffer.c + +Patch 8.1.2268 +Problem: Spell file flag zero is not recognized. +Solution: Use -1 as an error value, so that zero can be used as a valid flag + number. +Files: src/spellfile.c, src/testdir/test_spell.vim + +Patch 8.1.2269 +Problem: Tags file with very long line stops using binary search. +Solution: Reallocate the buffer if needed. +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.2270 +Problem: "gf" is not tested in Visual mode. +Solution: Add Visual mode test and test errors. (Dominique Pelle, + closes #5197) +Files: src/testdir/test_gf.vim + +Patch 8.1.2271 +Problem: Build error if FEAT_TAG_BINS is not defined. (John Marriott) +Solution: Add #ifdef. +Files: src/tag.c + +Patch 8.1.2272 +Problem: Test may hang at more prompt. +Solution: Reset 'more' after resetting 'compatible'. (Michael Soyka) +Files: src/testdir/test_vimscript.vim + +Patch 8.1.2273 +Problem: Wrong default when "pos" is changed with popup_atcursor(). +Solution: Adjust the default line and col when "pos" is not the default + value. (#5151) +Files: runtime/doc/popup.txt, src/structs.h, src/popupwin.c, + src/proto/popupwin.pro, src/ex_cmds.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_atcursor_pos.dump + +Patch 8.1.2274 +Problem: Newlines in 'balloonexpr' result only work in the GUI. +Solution: Also recognize newlines in the terminal. (closes #5193) +Files: src/popupmenu.c, src/testdir/test_balloon.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump + +Patch 8.1.2275 +Problem: Using "seesion" looks like a mistake. +Solution: Use an underscore to make the function sort first. +Files: src/testdir/test_mksession.vim + +Patch 8.1.2276 +Problem: MS-Windows: session test leaves files behind. +Solution: Wipe out buffers before deleting the directory. (closes #5187) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2277 +Problem: Terminal window is not updated when info popup changes. +Solution: Redraw windows when re-using an info popup. (closes #5192) +Files: src/ex_cmds.c + +Patch 8.1.2278 +Problem: Using "cd" with "exe" may fail. +Solution: Use chdir() instead. +Files: src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_cd.vim, src/testdir/test_expand.vim, + src/testdir/test_find_complete.vim, src/testdir/test_findfile.vim, + src/testdir/test_getcwd.vim, src/testdir/test_shortpathname.vim + +Patch 8.1.2279 +Problem: Computation of highlight attributes is too complicated. +Solution: Simplify the attribute computation and make it more consistent. + (closes #5190) Fix that 'combine' set to zero doesn't work. +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.2280 +Problem: Crash when passing partial to substitute(). +Solution: Take extra arguments into account. (closes #5186) +Files: src/userfunc.c, src/structs.h, src/regexp.c, src/proto/regexp.pro, + src/testdir/test_substitute.vim + +Patch 8.1.2281 +Problem: 'showbreak' cannot be set for one window. +Solution: Make 'showbreak' global-local. +Files: src/optiondefs.h, src/option.c, src/option.h, + src/proto/option.pro, src/structs.h, src/charset.c, + src/drawline.c, src/edit.c, src/move.c, src/normal.c, src/ops.c, + src/optionstr.c, src/testdir/test_highlight.vim, + src/testdir/test_breakindent.vim, runtime/doc/options.txt + +Patch 8.1.2282 +Problem: Crash when passing many arguments through a partial. (Andy + Massimino) +Solution: Check the number of arguments. (closes #5186) +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/regexp.c, src/testdir/test_expr.vim, + src/testdir/test_substitute.vim + +Patch 8.1.2283 +Problem: Missed one use of p_sbr. +Solution: Add missing p_sbr change. +Files: src/indent.c + +Patch 8.1.2284 +Problem: Compiler warning for unused variable. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/move.c + +Patch 8.1.2285 +Problem: Padding in structures wastes memory. +Solution: Move fields to avoid padding. (Dominique Pelle, closes #5202) +Files: src/structs.h + +Patch 8.1.2286 +Problem: Using border highlight in popup window leaks memory. +Solution: Free memory before overwriting. (Dominique Pelle, closes #5203) +Files: src/popupwin.c + +Patch 8.1.2287 +Problem: Using EndOfBuffer highlight in popup does not look good. +Solution: Do not EndOfBuffer highlight. (closes #5204) +Files: src/drawscreen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_04.dump, + src/testdir/dumps/Test_popupwin_04a.dump, + src/testdir/dumps/Test_popupwin_05.dump, + src/testdir/dumps/Test_popupwin_06.dump, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_08.dump + +Patch 8.1.2288 +Problem: Not using all space when popup with "topleft" flips to above. +Solution: Recompute the height when a popup flips from below to above. + (closes #5151) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.1.2289 +Problem: After :diffsplit closing the window does not disable diff. +Solution: Add "closeoff" to 'diffopt' and add it to the default. +Files: runtime/doc/options.txt, src/optiondefs.h, src/diff.c, + src/proto/diff.pro, src/window.c, src/testdir/test_diffmode.vim + +Patch 8.1.2290 +Problem: Autocommand test fails. +Solution: Remove 'closeoff' from 'diffopt'. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2291 +Problem: Memory leak when executing command in a terminal. +Solution: Free "argv". (Dominique Pelle, closes #5208) +Files: src/terminal.c + +Patch 8.1.2292 +Problem: v:mouse_winid not set on click in popup window. +Solution: Set v:mouse_winid. (closes #5171) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.2293 +Problem: Join adds trailing space when second line is empty. (Brennan + Vincent) +Solution: Do not add a trailing space. +Files: src/ops.c, src/testdir/test_join.vim + +Patch 8.1.2294 +Problem: Cursor position wrong when characters are concealed and a search + causes a scroll. +Solution: Fix the cursor column in a concealed line after window scroll. + (closes #5215, closes #5012) +Files: src/drawscreen.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.1.2295 +Problem: If buffer of popup is in another window cursorline sign shows. +Solution: Check the group of the sign. +Files: src/option.c, src/proto/option.pro, src/sign.c, + src/proto/sign.pro, src/screen.c, src/drawline.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_cursorline_8.dump + +Patch 8.1.2296 +Problem: Text properties are not combined with syntax by default. +Solution: Make it work as documented. (closes #5190) +Files: src/testprop.c, src/testdir/test_textprop.vim + +Patch 8.1.2297 +Problem: The ex_vimgrep() function is too long. +Solution: Split it in three parts. (Yegappan Lakshmanan, closes #5211) +Files: src/quickfix.c + +Patch 8.1.2298 (after 8.1.2296) +Problem: Missing part of 8.1.2296. +Solution: s/test/text/ +Files: src/textprop.c + +Patch 8.1.2299 +Problem: ConPTY in MS-Windows 1909 is still wrong. +Solution: Use same solution as for 1903. (Nobuhiro Takasaki, closes #5217) +Files: src/misc2.c, src/os_win32.c + +Patch 8.1.2300 +Problem: Redraw breaks going through list of popup windows. +Solution: Use different flags for popup_reset_handled(). (closes #5216) +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/vim.h, + src/mouse.c, src/testdir/test_popupwin.vim + +Patch 8.1.2301 +Problem: MS-Windows GUI: drawing error when background color changes. +Solution: Implement gui_mch_new_colors(). (Simon Sadler) +Files: src/gui_w32.c + +Patch 8.1.2302 +Problem: :lockmarks does not work for '[ and ']. +Solution: save and restore '[ and '] marks. (James McCoy, closes #5222) +Files: runtime/doc/motion.txt, src/bufwrite.c, src/diff.c, src/ex_cmds.c, + src/fileio.c, src/indent.c, src/ops.c, src/register.c, + src/testdir/test_autocmd.vim, src/testdir/test_diffmode.vim + +Patch 8.1.2303 +Problem: Cursor in wrong position after horizontal scroll. +Solution: Set w_valid_leftcol. (closes #5214, closes #5224) +Files: src/move.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.1.2304 +Problem: Cannot get the mouse position when getting a mouse click. +Solution: Add getmousepos(). +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, src/mouse.c + src/proto/mouse.pro, src/evalfunc.c, src/popupwin.c, + src/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/test_functions.vim + +Patch 8.1.2305 +Problem: No warning for wrong entry in translations. +Solution: Check semicolons in keywords entry of desktop file. +Files: src/po/check.vim + +Patch 8.1.2306 +Problem: Double and triple clicks are not tested. +Solution: Test mouse clicks to select text. (closes #5226) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2307 +Problem: Positioning popup doesn't work for buffer-local textprop. +Solution: Make it work. (closes #5225) +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim + +Patch 8.1.2308 +Problem: Deleting text before zero-width textprop removes it. +Solution: Keep zero-width textprop when deleting text. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.1.2309 +Problem: Compiler warning for argument type. +Solution: Use linenr_T and cast to varnumber_T. (John Marriott) +Files: src/mouse.c + +Patch 8.1.2310 +Problem: No proper test for directory changes in quickfix. +Solution: Add a test that uses multiple directories. (Yegappan Lakshmanan, + closes #5230) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2311 +Problem: Warning for missing function prototype. +Solution: Add the proto. (Dominique Pelle, closes #5233) +Files: src/proto/popupwin.pro + +Patch 8.1.2312 +Problem: "line:" field in tags file not used. +Solution: Recognize the field and use the value. (Andy Massimino, Daniel + Hahler, closes #5232, closes #2546, closes #1057) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.2313 +Problem: Debugging where a delay comes from is not easy. +Solution: Use different values when calling ui_delay(). +Files: src/buffer.c, src/change.c, src/fileio.c, src/gui.c, + src/if_xcmdsrv.c, src/insexpand.c, src/main.c, src/normal.c, + src/screen.c, src/search.c, src/tag.c, src/term.c, src/ui.c + +Patch 8.1.2314 +Problem: vi' sometimes does not select anything. +Solution: Recognize an empty selection. (Christian Brabandt, closes #5183) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.2315 +Problem: Not always using the right window when jumping to an error. +Solution: Add the "uselast" flag in 'switchbuf'. (closes #1652) +Files: runtime/doc/options.txt, src/option.h, src/optionstr.c, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2316 +Problem: FORTIFY_SOURCE can also be present in CPPFLAGS. +Solution: Remove it in configure. (Benedikt Morbach, closes #2786) +Files: src/configure.ac, src/auto/configure + +Patch 8.1.2317 +Problem: No test for spell affix file with flag on suffix. +Solution: Add a test case. +Files: src/testdir/test_spell.vim + +Patch 8.1.2318 (after 8.1.2301) +Problem: MS-Windows GUI: main background shows in toolbar. +Solution: Remove transparency from the toolbar. (Simon Sadler) +Files: src/gui_w32.c + +Patch 8.1.2319 +Problem: Compiler warning for int size. +Solution: Add typecast. (Mike Williams) +Files: src/mouse.c + +Patch 8.1.2320 +Problem: Insufficient test coverage for quickfix. +Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan, + closes #5238) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2321 +Problem: Cannot select all text with the mouse. (John Marriott) +Solution: Move limiting the mouse column to f_getmousepos(). (closes #5242) +Files: src/mouse.c + +Patch 8.1.2322 (after 8.1.2320) +Problem: Quickfix test fails in very big terminal. +Solution: Adjust the expected result for the width. (Masato Nishihata, + closes #5244) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2323 +Problem: Old MSVC version no longer tested. +Solution: Drop support for MSVC 2008 and older. (Ken Takata, closes #5248) +Files: src/INSTALLpc.txt, src/Make_mvc.mak, src/gui_w32.c, src/os_win32.c + +Patch 8.1.2324 +Problem: Width of scrollbar in popup menu not taken into account. +Solution: Add the width of the scrollbar. +Files: src/popupmenu.c, src/testdir/dumps/Test_popupwin_infopopup_6.dump, + src/testdir/test_popupwin.vim + +Patch 8.1.2325 +Problem: Crash when using balloon with empty line. +Solution: Handle empty lines. (Markus Braun) +Files: src/popupmenu.c, src/testdir/test_popup.vim + +Patch 8.1.2326 +Problem: Cannot parse a date/time string. +Solution: Add strptime(). (Stephen Wall, closes #5250) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/auto/configure, + src/config.h.in, src/configure.ac, src/evalfunc.c, src/os_unix.h, + src/testdir/test_functions.vim + +Patch 8.1.2327 +Problem: Cannot build with Hangul input. +Solution: Remove Hangul input support. +Files: Filelist, src/Makefile, runtime/doc/hangulin.txt, src/feature.h, + src/gui_gtk_x11.c, src/gui_x11.c, src/gui.c, src/edit.c, + src/mbyte.c, src/screen.c, src/ui.c, src/hangulin.c, + src/globals.h, src/proto/hangulin.pro, src/proto.h, + src/evalfunc.c, src/version.c, src/configure.ac, + src/auto/configure, src/config.h.in, src/config.mk.in + +Patch 8.1.2328 +Problem: A few hangul input pieces remain. +Solution: Update VMS makefile. +Files: src/Make_vms.mms + +Patch 8.1.2329 +Problem: Mouse multiple click test is a bit flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2330 (after 8.1.2314) +Problem: vi' does not always work when 'selection' is exclusive. +Solution: Adjust start position. +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.2331 +Problem: The option.c file is still very big. +Solution: Move a few functions to where they fit better. (Yegappan + Lakshmanan, closes #4895) +Files: src/option.c, src/proto/option.pro, src/change.c, + src/proto/change.pro, src/ex_getln.c, src/proto/ex_getln.pro, + src/globals.h, src/gui.c, src/proto/gui.pro, src/ui.c, + src/proto/ui.pro, src/term.c, src/proto/term.pro, src/indent.c, + src/proto/indent.pro + +Patch 8.1.2332 (after 8.1.2331) +Problem: Missing file in refactoring. +Solution: Update missing file. +Files: src/search.c + +Patch 8.1.2333 +Problem: With modifyOtherKeys CTRL-^ doesn't work. +Solution: Handle the exception. +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.1.2334 +Problem: Possible NULL pointer dereference in popup_locate(). (Coverity) +Solution: Check for NULL pointer. +Files: src/popupwin.c + +Patch 8.1.2335 +Problem: Error message for function arguments may use NULL pointer. + (Coverity) +Solution: Use the original function name. +Files: src/evalfunc.c + +Patch 8.1.2336 +Problem: When an expr mapping moves the cursor it is not restored. +Solution: Position the cursor after an expr mapping. (closes #5256) +Files: src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_expr_1.dump + +Patch 8.1.2337 +Problem: Double-click time sometimes miscomputed. +Solution: Correct time computation. (Dominique Pelle, closes #5259) +Files: src/mouse.c, src/testdir/runtest.vim + +Patch 8.1.2338 +Problem: Using Visual mark with :s gives E20 if not set. +Solution: Ignore errors when handling 'incsearch'. (closes #3837) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_14.dump + +Patch 8.1.2339 +Problem: Insufficient testing for quickfix. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5261) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2340 +Problem: Quickfix test fails under valgrind and asan. +Solution: Make sure long line does not overflow IObuff. (Dominique Pelle, + closes #5263) Put back fix for large terminals. (Yegappan + Lakshmanan, closes #5264) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2341 +Problem: Not so easy to interrupt a script programmatically. +Solution: Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/ex_eval.c, + src/testdir/Make_all.mak, src/testdir/test_interrupt.vim + +Patch 8.1.2342 +Problem: Random number generator in Vim script is slow. +Solution: Add rand() and srand(). (Yasuhiro Matsumoto, closes #1277) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/Make_all.mak, + src/testdir/test_random.vim + +Patch 8.1.2343 +Problem: Using time() for srand() is not very random. +Solution: use /dev/urandom if available +Files: src/evalfunc.c, src/testdir/test_random.vim + +Patch 8.1.2344 +Problem: Cygwin: warning for using strptime(). +Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata, + closes #5265) Use 700 for _XOPEN_SOURCE for mkdtemp(). +Files: src/os_unix.h, src/vim.h + +Patch 8.1.2345 +Problem: .cjs files are not recognized as Javascript. +Solution: Add the *.cjs pattern. (closes #5268) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2346 +Problem: CTRL-R CTRL-R doesn't work with modifyOtherKeys. +Solution: Allow key codes when fetching argument for CTRL-R. (closes #5266) + Also fix CTRL-G in Insert mode. +Files: src/edit.c, src/ex_getln.c, src/testdir/test_termcodes.vim + +Patch 8.1.2347 (after 8.1.2344) +Problem: macOS: build fails. +Solution: Don't define _XOPEN_SOURCE for Mac. +Files: src/vim.h + +Patch 8.1.2348 +Problem: :const cannot be followed by "| endif". +Solution: Check following command for :const. (closes #5269) + Also fix completion after :const. +Files: src/testdir/test_let.vim, src/testdir/test_const.vim, + src/ex_docmd.c, src/cmdexpand.c, src/eval.c, + src/testdir/test_cmdline.vim + +Patch 8.1.2349 +Problem: :lockvar and :unlockvar cannot be followed by "| endif". +Solution: Check for following commands. (closes #5269) +Files: src/testdir/test_const.vim, src/ex_docmd.c + +Patch 8.1.2350 +Problem: Other text for CTRL-V in Insert mode with modifyOtherKeys. +Solution: Convert the Escape sequence back to key as if modifyOtherKeys is + not set, and use CTRL-SHIFT-V to get the Escape sequence itself. + (closes #5254) +Files: runtime/doc/insert.txt, runtime/doc/cmdline.txt, src/edit.c, + src/proto/edit.pro, src/term.c, src/proto/term.pro, src/getchar.c, + src/proto/getchar.pro, src/testdir/test_termcodes.vim, + src/ex_getln.c + +Patch 8.1.2351 +Problem: 'wincolor' not used for > for not fitting double width char. + Also: popup drawn on right half of double width character looks + wrong. +Solution: Adjust color for > character. Clear left half of double width + character if right half is being overwritten. +Files: src/drawline.c, src/screen.c, + src/testdir/dumps/Test_popupwin_doublewidth_1.dump + +Patch 8.1.2352 +Problem: CI doesn't cover FreeBSD. +Solution: Configure Cirrus-CI. (Christian Brabandt, closes #5273) +Files: .cirrus.yml, README.md + +Patch 8.1.2353 +Problem: Build failure on FreeBSD. +Solution: Change #ifdef to only check for Linux-like systems. +Files: src/vim.h + +Patch 8.1.2354 +Problem: Cirrus CI runs on another repository. +Solution: Run Cirrus CI on vim/vim. +Files: .cirrus.yml, README.md + +Patch 8.1.2355 +Problem: Test with "man" fails on FreeBSD. +Solution: Use "-P" instead of "--pager". +Files: src/testdir/test_normal.vim + +Patch 8.1.2356 +Problem: rand() does not use the best algorithm. +Solution: use xoshiro128** instead of xorshift. (Kaito Udagawa, + closes #5279) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_random.vim + +Patch 8.1.2357 +Problem: No test with wrong argument for rand(). +Solution: Add a test case. +Files: src/testdir/test_random.vim + +Patch 8.1.2358 +Problem: Tests fail on Cirrus CI for FreeBSD. +Solution: Fix a test and skip some. (Christian Brabandt, closes #5281) +Files: Filelist, .cirrus.yml, src/testdir/check.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_terminal.vim, + src/testdir/test_utf8_comparisons.vim + +Patch 8.1.2359 +Problem: Cannot build without FEAT_FLOAT. (John Marriott) +Solution: Fix #ifdefs around f_srand(). +Files: src/evalfunc.c + +Patch 8.1.2360 +Problem: Quickfix test coverage can still be improved. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5276) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2361 +Problem: MS-Windows: test failures related to VIMDLL. +Solution: Adjust code and tests. (Ken Takata, closes #5283) +Files: src/evalfunc.c, src/ex_cmds.c, src/gui_w32.c, src/mbyte.c, + src/menu.c, src/proto.h, src/testdir/test_highlight.vim + +Patch 8.1.2362 +Problem: Cannot place signs in a popup window. (Maxim Kim) +Solution: Use the group prefix "PopUp" to specify which signs should show up + in a popup window. (closes #5277) +Files: runtime/doc/sign.txt, src/popupwin.c, src/sign.c, + src/testdir/dumps/Test_popupwin_sign_1.dump + +Patch 8.1.2363 +Problem: ml_get error when accessing Visual area in 'statusline'. +Solution: Disable Visual mode when using another window. (closes #5278) +Files: src/testdir/test_statusline.vim, src/buffer.c + +Patch 8.1.2364 +Problem: Termwinscroll test is flaky on FreeBSD. +Solution: Add to list of flaky tests. Rename function. +Files: src/testdir/runtest.vim, src/testdir/test_terminal.vim + +Patch 8.1.2365 +Problem: Missing tests for recent popupwin changes. +Solution: Add test cases. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.2366 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/ascii.h, src/beval.h, src/dosinst.h, src/feature.h, + src/glbl_ime.h, src/globals.h, src/gui_at_sb.h, src/gui_gtk_f.h, + src/gui_gtk_vms.h, src/gui.h, src/gui_x11_pm.h, src/gui_xmebwp.h, + src/if_cscope.h, src/if_mzsch.h, src/if_ole.h, src/if_py_both.h, + src/iscygpty.h, src/keymap.h, src/macros.h, src/nbdebug.h, + src/option.h, src/os_amiga.h, src/os_beos.h, src/os_dos.h, + src/os_mac.h, src/os_qnx.h, src/os_unix.h, src/os_unixx.h, + src/os_vms_conf.h, src/os_win32.h, src/proto.h, src/regexp.h, + src/spell.h, src/structs.h, src/term.h, src/version.h, src/vimio.h + +Patch 8.1.2367 +Problem: Registers are not sufficiently tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #5288) +Files: src/testdir/test_registers.vim + +Patch 8.1.2368 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/autocmd.c, src/beval.c, src/blob.c, src/blowfish.c, + src/buffer.c, src/change.c, src/channel.c, src/charset.c, + src/cindent.c, src/crypt.c, src/crypt_zip.c + +Patch 8.1.2369 +Problem: Cannot build with quickfix and without text properties. +Solution: Fix typo. (Naruhiko Nishino) +Files: src/popupmenu.c + +Patch 8.1.2370 +Problem: Build problems on VMS. +Solution: Adjust the build file. (Zoltan Arpadffy) +Files: src/Make_vms.mms, src/os_unix.c, src/os_vms.c + +Patch 8.1.2371 +Problem: FEAT_TEXT_PROP is a confusing name. +Solution: Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291) +Files: runtime/doc/popup.txt, src/beval.c, src/buffer.c, src/change.c, + src/drawline.c, src/drawscreen.c, src/edit.c, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/evalwindow.c, src/ex_cmds.c, + src/ex_docmd.c, src/feature.h, src/fileio.c, src/getchar.c, + src/globals.h, src/gui.c, src/gui_w32.c, src/indent.c, + src/insexpand.c, src/macros.h, src/main.c, src/memline.c, + src/misc2.c, src/mouse.c, src/move.c, src/ops.c, src/option.h, + src/optiondefs.h, src/optionstr.c, src/popupmenu.c, + src/popupwin.c, src/proto.h, src/screen.c, src/search.c, + src/sign.c, src/structs.h, src/tag.c, src/testdir/runtest.vim, + src/testdir/test_execute_func.vim, src/testdir/test_popupwin.vim, + src/testdir/test_popupwin_textprop.vim, src/textprop.c, src/ui.c, + src/version.c, src/vim.h, src/window.c + +Patch 8.1.2372 +Problem: VMS: failing realloc leaks memory. (Chakshu Gupta) +Solution: Free the memory. (partly fixes #5292) +Files: src/os_vms.c + +Patch 8.1.2373 +Problem: Cannot build with +popupwin but without +quickfix. (John Marriott) +Solution: Adjust #ifdefs. +Files: src/ex_cmds.c, src/popupmenu.c, src/popupwin.c, src/fileio.c, + src/testdir/test_compiler.vim, src/testdir/test_tagjump.vim, + src/testdir/test86.in, src/testdir/test87.in, + src/testdir/test_autocmd.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_channel.vim, src/testdir/test_edit.vim, + src/testdir/test_execute_func.vim, + src/testdir/test_filter_cmd.vim, src/testdir/test_gui.vim, + src/testdir/test_makeencoding.vim, src/testdir/test_mksession.vim, + src/testdir/test_normal.vim, src/testdir/test_popup.vim, + src/testdir/test_popupwin.vim, src/testdir/test_preview.vim, + src/testdir/test_startup.vim, src/testdir/test_statusline.vim, + src/testdir/test_tabpage.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_window_id.vim + +Patch 8.1.2374 +Problem: Unused parts of libvterm are included. +Solution: Delete the unused files. +Files: Filelist, src/libvterm/bin/vterm-ctrl.c, + src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-dump.c + +Patch 8.1.2375 +Problem: No sufficient testing for registers. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5296) + Fix that "p" on last virtual column of tab inserts spaces. +Files: src/register.c, src/testdir/test_registers.vim, + src/testdir/test_virtualedit.vim, src/testdir/test_visual.vim + +Patch 8.1.2376 +Problem: Preprocessor indents are incorrect. +Solution: Fix the indents. (Ken Takata, closes #5298) +Files: src/drawline.c, src/gui_w32.c, src/os_mswin.c, src/os_win32.c, + src/proto.h + +Patch 8.1.2377 +Problem: GUI: when losing focus a pending operator is executed. +Solution: Do not execute an operator when getting K_IGNORE. (closes #5300) +Files: src/normal.c + +Patch 8.1.2378 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/dict.c, src/diff.c, src/digraph.c, src/dosinst.c, src/edit.c, + src/eval.c, src/evalbuffer.c, src/evalfunc.c + +Patch 8.1.2379 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, + src/ex_getln.c, src/fileio.c, src/filepath.c, src/findfile.c, + src/fold.c + +Patch 8.1.2380 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/getchar.c, src/gui.c, src/gui_at_fs.c, src/gui_at_sb.c, + src/gui_athena.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_f.c, + src/gui_gtk_x11.c + +Patch 8.1.2381 +Problem: Not all register related code is covered by tests. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5301) +Files: src/testdir/test_marks.vim, src/testdir/test_registers.vim, + src/testdir/test_virtualedit.vim + +Patch 8.1.2382 +Problem: MS-Windows: When using VTP bold+inverse doesn't work. +Solution: Compare with the default colors. (Nobuhiro Takasaki, closes #5303) +Files: src/os_win32.c, src/proto/os_win32.pro, src/screen.c + +Patch 8.1.2383 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, + src/gui_x11.c, src/gui_xmdlg.c, src/gui_xmebw.c + +Patch 8.1.2384 +Problem: Test 48 is old style. +Solution: Merge test cases into new style test. (Yegappan Lakshmanan, + closes #5307) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test48.in, src/testdir/test48.ok, + src/testdir/test_virtualedit.vim + +Patch 8.1.2385 +Problem: Opening cmdline window with feedkeys() does not work. (Yegappan + Lakshmanan) +Solution: Recognize K_CMDWIN also when ex_normal_busy is set. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.1.2386 +Problem: 'wincolor' is not used for 'listchars'. +Solution: Combine the colors. (closes #5308) +Files: src/drawline.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_wincolor_lcs.dump + +Patch 8.1.2387 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/hardcopy.c, src/hashtab.c, src/if_cscope.c, src/if_lua.c, + src/if_mzsch.c, src/if_perlsfio.c, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/if_xcmdsrv.c + +Patch 8.1.2388 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/json.c, src/json_test.c, src/kword_test.c, src/list.c, + src/main.c, src/mark.c, src/mbyte.c, src/memfile.c, + src/memfile_test.c, src/memline.c, src/menu.c + +Patch 8.1.2389 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/libvterm/src/screen.c, src/libvterm/src/unicode.c, + src/libvterm/src/vterm.c, src/libvterm/t/harness.c, + src/libvterm/include/vterm.h, src/xdiff/xdiffi.c, + src/xdiff/xemit.c, src/xdiff/xhistogram.c, src/xdiff/xpatience.c, + src/xdiff/xutils.c, src/xdiff/xdiff.h, src/xdiff/xdiffi.h, + src/xdiff/xemit.h, src/xdiff/xinclude.h, src/xdiff/xmacros.h, + src/xdiff/xprepare.h, src/xdiff/xtypes.h, src/xdiff/xutils.h + +Patch 8.1.2390 +Problem: Test94 is old style, fix 7.4.441 not tested. +Solution: Turn test94 into a new style test. Add tests for the fix in patch + 7.4.441. (Yegappan Lakshmanan, closes #5316) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test94.in, src/testdir/test94.ok, + src/testdir/test_cmdline.vim, src/testdir/test_visual.vim + +Patch 8.1.2391 +Problem: Cannot build when __QNXNTO__ is defined. (Ian Wayne Larson) +Solution: Move the check for "qansi". (Ken Takata, closes #5317) +Files: src/highlight.c + +Patch 8.1.2392 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/nbdebug.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c + +Patch 8.1.2393 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/os_amiga.c, src/os_beos.c, src/os_mac_conv.c, src/os_mswin.c, + src/os_qnx.c, src/os_unix.c, src/os_vms.c, src/os_win32.c + +Patch 8.1.2394 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/popupmenu.c, src/pty.c, src/quickfix.c, src/regexp.c, + src/regexp_nfa.c, src/screen.c, src/search.c, src/sha256.c, + src/sign.c + +Patch 8.1.2395 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/spell.c, src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, + src/terminal.c, src/termlib.c, src/testing.c + +Patch 8.1.2396 +Problem: Using old C style comments. +Solution: Use // comments where appropriate. +Files: src/ui.c, src/undo.c, src/uninstall.c, src/usercmd.c, + src/userfunc.c, src/winclip.c, src/window.c, src/xpm_w32.c + +Patch 8.1.2397 +Problem: Should not define __USE_XOPEN. _XOPEN_SOURCE is not needed for + Android. +Solution: Remove __USE_XOPEN and adjust #ifdefs. (Ozaki Kiichi, + closes #5322) +Files: src/vim.h + +Patch 8.1.2398 +Problem: strptime() test fails on Japanese Mac. +Solution: Use %T instead of %X. +Files: src/testdir/test_functions.vim + +Patch 8.1.2399 +Problem: Info popup on top of cursor if it doesn't fit. +Solution: Hide the popup if it doesn't fit. +Files: src/popupmenu.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump + +Patch 8.1.2400 +Problem: Test39 is old style. +Solution: Convert the test cases into new style. (Yegappan Lakshmanan, + closes #5324) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test39.in, src/testdir/test39.ok, + src/testdir/test_blockedit.vim, src/testdir/test_visual.vim + +Patch 8.1.2401 +Problem: :cexpr does not handle | in expression. +Solution: Remove EX_TRLBAR and set nextcmd pointer. +Files: src/testdir/test_quickfix.vim, src/ex_cmds.h, src/quickfix.c + +Patch 8.1.2402 +Problem: Typos and other small things. +Solution: Small fixes. +Files: .gitignore, src/testdir/shared.vim, src/testdir/test49.vim, + src/message.c, src/Makefile + +Patch 8.1.2403 +Problem: Autocmd test fails under valgrind. +Solution: Wait a bit longer. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2404 +Problem: Channel test fails under valgrind. +Solution: Sleep a bit longer. +Files: src/testdir/test_channel.vim + +Patch 8.1.2405 +Problem: matchadd_conceal test fails under valgrind. +Solution: Use WaitForAssert() and wait a bit longer. +Files: src/testdir/test_matchadd_conceal.vim + +Patch 8.1.2406 +Problem: Leaking memory in test_paste and test_registers. +Solution: Free the old title. Don't copy expr_line. +Files: src/term.c, src/os_unix.c, src/register.c + +Patch 8.1.2407 +Problem: proto file and dependencies outdated. +Solution: Update proto files and dependencies. +Files: src/Makefile, src/proto/bufwrite.pro, src/proto/cmdhist.pro, + src/proto/optionstr.pro, src/proto/popupwin.pro, + src/proto/viminfo.pro, src/proto/if_cscope.pro + +Patch 8.1.2408 +Problem: Syntax menu and build instructions outdated. +Solution: Update build instructions and syntax menu. +Files: Makefile, runtime/makemenu.vim, runtime/synmenu.vim + +Patch 8.1.2409 +Problem: Creating the distribution doesn't work as documented. +Solution: Adjust name of uninstall binary. Create src/auto directory if + needed. +Files: tools/rename.bat, src/Make_mvc.mak + +Patch 8.1.2410 +Problem: MS-Windows: test_iminsert fails without IME support. +Solution: Skip the test when imgetstatus() doesn't work. +Files: src/testdir/test_iminsert.vim + +Patch 8.1.2411 +Problem: Function argument copied unnecessarily. +Solution: Use the argument directly. +Files: src/ex_docmd.c + +Patch 8.1.2412 +Problem: Crash when evaluating expression with error. (Dhiraj Mishra) +Solution: Check parsing failed. (closes #5329) +Files: src/eval.c, src/testdir/test_lambda.vim + +Patch 8.1.2413 +Problem: Cannot update ex_cmdidxs.h on MS-Windows. +Solution: Add build rules and dependencies. (Ken Takata, closes #5337) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms + +Patch 8.1.2414 +Problem: MS-Windows: properties dialog box shows wrong character. +Solution: Explicitly specify encoding. (Ken Takata, closes #5338) +Files: src/vim.rc + +Patch 8.1.2415 +Problem: Popup menu flickers if an info popup is used. (Nick Jensen) +Solution: Set the pum_skip_redraw flag. +Files: src/popupmenu.c + +Patch 8.1.2416 +Problem: Loading menus sets v:errmsg. +Solution: Avoid setting v:errmsg and add a test for that. (Jason Franklin) +Files: runtime/delmenu.vim, runtime/menu.vim, src/testdir/test_menu.vim + +Patch 8.1.2417 +Problem: MinGW/Cygwin build does not clean up all files. +Solution: Delete *.map files. (Michael Soyka) +Files: src/Make_cyg_ming.mak + +Patch 8.1.2418 +Problem: bufnr('$') is wrong after recycling popup buffer. +Solution: Sort the buffer list by buffer number. (closes #5335) +Files: src/buffer.c, src/testdir/test_popupwin.vim + +Patch 8.1.2419 +Problem: With a long file name the hit-enter prompt appears. (J. Lewis + Muir) +Solution: When checking for text to wrap don't do this when outputting a CR. +Files: src/message.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_long_file_name_1.dump + +Patch 8.1.2420 +Problem: Crash when calling popup_close() in win_execute(). +Solution: Disallow popup_close() in popup window. (Yasuhiro Matsumoto, + closes #5345) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.2421 +Problem: Test88 is old style. +Solution: Turn into a new style test. (Yegappan Lakshmanan, closes #5347) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test88.in, src/testdir/test88.ok, + src/testdir/test_conceal.vim, src/testdir/test_python2.vim + src/testdir/test_python3.vim + +Patch 8.1.2422 +Problem: "make depend" does not work correctly for libvterm. +Solution: Fix build dependencies. And a few minor improvements. +Files: src/Makefile, src/filepath.c, src/insexpand.c, src/main.c + +Patch 8.1.2423 +Problem: MS-Windows properties shows version as "8, 1, 0". +Solution: Use "8.1.0". (Ken Takata, closes #5342) +Files: src/vim.rc + +Patch 8.1.2424 +Problem: MS-Windows: console buffer is resized unnecessarily. +Solution: Only call ResizeConBuf() when the size differs. (Nobuhiro + Takasaki, closes #5343) +Files: src/os_win32.c + +============================================================================== + +Patch 8.2.0001 and later can be found at |patches-after-8.2|. + + + vim:tw=78:ts=8:noet:ft=help:norl: -- cgit v1.2.3