From 9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 17 Dec 2017 14:26:46 +0100 Subject: [PATCH 01/22] patch 8.0.1398: :packadd does not load packages from the "start" directory 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. --- src/ex_cmds2.c | 31 ++++++++++++++++++++++--------- src/testdir/test_packadd.vim | 18 ++++++++++++++++++ src/version.c | 2 ++ 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 7b00ac2650..1475ef25db 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -3747,18 +3747,31 @@ ex_packloadall(exarg_T *eap) void ex_packadd(exarg_T *eap) { - static char *plugpat = "pack/*/opt/%s"; + static char *plugpat = "pack/*/%s/%s"; int len; char *pat; + int round; + int res = OK; - len = (int)STRLEN(plugpat) + (int)STRLEN(eap->arg); - pat = (char *)alloc(len); - if (pat == NULL) - return; - vim_snprintf(pat, len, plugpat, eap->arg); - do_in_path(p_pp, (char_u *)pat, DIP_ALL + DIP_DIR + DIP_ERR, - add_pack_plugin, eap->forceit ? &APP_ADD_DIR : &APP_BOTH); - vim_free(pat); + /* Round 1: use "start", round 2: use "opt". */ + for (round = 1; round <= 2; ++round) + { + /* Only look under "start" when loading packages wasn't done yet. */ + if (round == 1 && did_source_packages) + continue; + + len = (int)STRLEN(plugpat) + (int)STRLEN(eap->arg) + 5; + pat = (char *)alloc(len); + if (pat == NULL) + return; + vim_snprintf(pat, len, plugpat, round == 1 ? "start" : "opt", eap->arg); + /* The first round don't give a "not found" error, in the second round + * only when nothing was found in the first round. */ + res = do_in_path(p_pp, (char_u *)pat, + DIP_ALL + DIP_DIR + (round == 2 && res == FAIL ? DIP_ERR : 0), + add_pack_plugin, eap->forceit ? &APP_ADD_DIR : &APP_BOTH); + vim_free(pat); + } } #if defined(FEAT_EVAL) && defined(FEAT_AUTOCMD) diff --git a/src/testdir/test_packadd.vim b/src/testdir/test_packadd.vim index c83d4a876a..09b9b82f55 100644 --- a/src/testdir/test_packadd.vim +++ b/src/testdir/test_packadd.vim @@ -45,6 +45,24 @@ func Test_packadd() call assert_fails("packadd", 'E471:') endfunc +func Test_packadd_start() + let plugdir = s:topdir . '/pack/mine/start/other' + call mkdir(plugdir . '/plugin', 'p') + set rtp& + let rtp = &rtp + filetype on + + exe 'split ' . plugdir . '/plugin/test.vim' + call setline(1, 'let g:plugin_works = 24') + wq + + packadd other + + call assert_equal(24, g:plugin_works) + call assert_true(len(&rtp) > len(rtp)) + call assert_true(&rtp =~ '/testdir/Xdir/pack/mine/start/other\($\|,\)') +endfunc + func Test_packadd_noload() call mkdir(s:plugdir . '/plugin', 'p') call mkdir(s:plugdir . '/syntax', 'p') diff --git a/src/version.c b/src/version.c index 096d21c993..2580b9ecc2 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1398, /**/ 1397, /**/ From ee219b0e9faab4b7159ed1725c5b82cea4f4d4f8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 17 Dec 2017 14:55:01 +0100 Subject: [PATCH 02/22] patch 8.0.1399: warnings and errors when building tiny version Problem: Warnings and errors when building tiny version. (Tony Mechelynck) Solution: Add #ifdefs. --- src/ex_getln.c | 2 ++ src/ops.c | 2 ++ src/version.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/ex_getln.c b/src/ex_getln.c index 405e1f655c..2a2b08ba2e 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -172,6 +172,7 @@ abandon_cmdline(void) redraw_cmdline = TRUE; } +#ifdef FEAT_SEARCH_EXTRA /* * Guess that the pattern matches everything. Only finds specific cases, such * as a trailing \|, which can happen while typing a pattern. @@ -187,6 +188,7 @@ empty_pattern(char_u *p) n -= 2; return n == 0 || (n >= 2 && p[n - 2] == '\\' && p[n - 1] == '|'); } +#endif /* * getcmdline() - accept a command line starting with firstc. diff --git a/src/ops.c b/src/ops.c index 1ecc67714d..cfa0bb367e 100644 --- a/src/ops.c +++ b/src/ops.c @@ -1645,6 +1645,7 @@ shift_delete_registers() y_regs[1].y_array = NULL; /* set register one to empty */ } +#ifdef FEAT_AUTOCMD static void yank_do_autocmd(oparg_T *oap, yankreg_T *reg) { @@ -1701,6 +1702,7 @@ yank_do_autocmd(oparg_T *oap, yankreg_T *reg) dict_free_contents(v_event); hash_init(&v_event->dv_hashtab); } +#endif /* * Handle a delete operation. diff --git a/src/version.c b/src/version.c index 2580b9ecc2..912e3be336 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1399, /**/ 1398, /**/ From 8ee2d36e216756e712a3a9122ce1e1203378a9c8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 17 Dec 2017 16:11:09 +0100 Subject: [PATCH 03/22] patch 8.0.1400: color scheme check script shows up as color scheme Problem: Color scheme check script shows up as color scheme. Solution: Move it to the "tools" subdirectory. (closes #2457) --- Filelist | 1 + runtime/colors/README.txt | 2 +- runtime/colors/{ => tools}/check_colors.vim | 0 src/version.c | 2 ++ 4 files changed, 4 insertions(+), 1 deletion(-) rename runtime/colors/{ => tools}/check_colors.vim (100%) diff --git a/Filelist b/Filelist index 269206fedb..ea7426f968 100644 --- a/Filelist +++ b/Filelist @@ -666,6 +666,7 @@ RT_SCRIPTS = \ runtime/autoload/xml/*.vim \ runtime/colors/*.vim \ runtime/colors/README.txt \ + runtime/colors/tools/*.vim \ runtime/compiler/*.vim \ runtime/compiler/README.txt \ runtime/indent/*.vim \ diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt index c5a75678b6..a435c2dd19 100644 --- a/runtime/colors/README.txt +++ b/runtime/colors/README.txt @@ -64,7 +64,7 @@ Search for "highlight_init". If you think you have a color scheme that is good enough to be used by others, please check the following items: -- Source the check_colors.vim script to check for common mistakes. +- Source the tools/check_colors.vim script to check for common mistakes. - Does it work in a color terminal as well as in the GUI? - Is "g:colors_name" set to a meaningful value? In case of doubt you can do it this way: diff --git a/runtime/colors/check_colors.vim b/runtime/colors/tools/check_colors.vim similarity index 100% rename from runtime/colors/check_colors.vim rename to runtime/colors/tools/check_colors.vim diff --git a/src/version.c b/src/version.c index 912e3be336..2da64a2738 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1400, /**/ 1399, /**/ From f0b03c4e98f8a7184d8b4a5d702cbcd602426923 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 17 Dec 2017 17:17:07 +0100 Subject: [PATCH 04/22] Update runtime files --- runtime/autoload/dist/ft.vim | 8 +- runtime/doc/autocmd.txt | 5 +- runtime/doc/eval.txt | 29 ++- runtime/doc/filetype.txt | 21 +- runtime/doc/options.txt | 2 +- runtime/doc/quickfix.txt | 10 +- runtime/doc/repeat.txt | 6 +- runtime/doc/tags | 13 ++ runtime/doc/terminal.txt | 11 +- runtime/doc/todo.txt | 84 ++++---- runtime/doc/usr_41.txt | 3 +- runtime/filetype.vim | 3 + runtime/ftplugin/vim.vim | 32 +-- runtime/ftplugin/zimbu.vim | 8 +- runtime/indent/javascript.vim | 183 ++++++++++-------- .../dist/opt/termdebug/plugin/termdebug.vim | 2 +- runtime/syntax/apachestyle.vim | 8 +- runtime/syntax/haskell.vim | 6 +- runtime/syntax/html.vim | 14 +- runtime/syntax/tex.vim | 23 +-- runtime/syntax/vim.vim | 11 +- 21 files changed, 287 insertions(+), 195 deletions(-) diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 2603c6822f..81fdc9d956 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -1,7 +1,7 @@ " Vim functions for file type detection " " Maintainer: Bram Moolenaar -" Last Change: 2017 Nov 11 +" Last Change: 2017 Dec 05 " These functions are moved here from runtime/filetype.vim to make startup " faster. @@ -618,7 +618,11 @@ func dist#ft#FTperl() setf perl return 1 endif - if search('^use\s\s*\k', 'nc', 30) + let save_cursor = getpos('.') + call cursor(1,1) + let has_use = search('^use\s\s*\k', 'c', 30) + call setpos('.', save_cursor) + if has_use setf perl return 1 endif diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index a47050e0d4..173892cd47 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.0. Last change: 2017 Nov 05 +*autocmd.txt* For Vim version 8.0. Last change: 2017 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -957,7 +957,7 @@ TextChangedI After a change was made to the text in the current buffer in Insert mode. Not triggered when the popup menu is visible. Otherwise the same as TextChanged. - |TextYankPost| + *TextYankPost* TextYankPost After text has been yanked or deleted in the current buffer. The following values of |v:event| can be used to determine the operation @@ -976,7 +976,6 @@ TextYankPost After text has been yanked or deleted in the called recursively. It is not allowed to change the buffer text, see |textlock|. - *User* User Never executed automatically. To be used for autocommands that are only executed with diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 09a66a6eed..e17181b31e 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.0. Last change: 2017 Dec 09 +*eval.txt* For Vim version 8.0. Last change: 2017 Dec 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2276,6 +2276,8 @@ mode([expr]) String current editing mode mzeval({expr}) any evaluate |MzScheme| expression nextnonblank({lnum}) Number line nr of non-blank line >= {lnum} nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr} +option_restore({list}) none restore options saved by option_save() +option_save({list}) List save options values or({expr}, {expr}) Number bitwise OR pathshorten({expr}) String shorten directory names in a path perleval({expr}) any evaluate |Perl| expression @@ -6114,6 +6116,31 @@ nr2char({expr} [, {utf8}]) *nr2char()* characters. nr2char(0) is a real NUL and terminates the string, thus results in an empty string. +option_restore({list}) *option_restore()* + Restore options previously saved by option_save(). + When buffer-local options have been saved, this function must + be called when the same buffer is the current buffer. + When window-local options have been saved, this function must + be called when the same window is the current window. + When in the wrong buffer and/or window an error is given and + the local options won't be restored. + NOT IMPLEMENTED YET! + +option_save({list}) *option_save()* + Saves the options named in {list}. The returned value can be + passed to option_restore(). Example: > + let s:saved_options = option_save([ + \ 'ignorecase', + \ 'iskeyword', + \ ]) + au BufLeave * + \ call option_restore(s:saved_options) +< The advantage over using `:let` is that global and local + values are handled and the script ID is restored, so that + `:verbose set` will show where the option was originally set, + not where it was restored. + NOT IMPLEMENTED YET! + or({expr}, {expr}) *or()* Bitwise OR on the two arguments. The arguments are converted to a number. A List, Dict or Float argument causes an error. diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 8434aae671..da65681877 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 8.0. Last change: 2017 Oct 10 +*filetype.txt* For Vim version 8.0. Last change: 2017 Dec 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -706,4 +706,23 @@ You can change the default by defining the variable g:tex_flavor to the format Currently no other formats are recognized. +VIM *ft-vim-plugin* + +The Vim filetype plugin defines mappings to move to the start and end of +functions with [[ and ]]. Move around comments with ]" and [". + +The mappings can be disabled with: > + let g:no_vim_maps = 1 + + +ZIMBU *ft-zimbu-plugin* + +The Zimbu filetype plugin defines mappings to move to the start and end of +functions with [[ and ]]. + +The mappings can be disabled with: > + let g:no_zimbu_maps = 1 +< + + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 822e37ef2e..41f621b20a 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.0. Last change: 2017 Nov 26 +*options.txt* For Vim version 8.0. Last change: 2017 Dec 01 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index ff66582a00..29752db8fb 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 8.0. Last change: 2017 Sep 13 +*quickfix.txt* For Vim version 8.0. Last change: 2017 Dec 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -363,7 +363,7 @@ Any Vim type can be associated as a context with a quickfix or location list. The |setqflist()| and the |setloclist()| functions can be used to associate a context with a quickfix and a location list respectively. The |getqflist()| and the |getloclist()| functions can be used to retrieve the context of a -quickifx and a location list respectively. This is useful for a Vim plugin +quickfix and a location list respectively. This is useful for a Vim plugin dealing with multiple quickfix/location lists. Examples: > @@ -376,13 +376,13 @@ Examples: > echo getloclist(2, {'id' : qfid, 'context' : 1}) < *quickfix-parse* -You can parse a list of lines using 'erroformat' without creating or modifying -a quickfix list using the |getqflist()| function. Examples: > +You can parse a list of lines using 'errorformat' without creating or +modifying a quickfix list using the |getqflist()| function. Examples: > echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]}) echo getqflist({'lines' : systemlist('grep -Hn quickfix *')}) This returns a dictionary where the 'items' key contains the list of quickfix entries parsed from lines. The following shows how to use a custom -'errorformat' to parse the lines without modifying the 'erroformat' option: > +'errorformat' to parse the lines without modifying the 'errorformat' option: > echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']}) < diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index 2d51953714..d0475b7dac 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10 +*repeat.txt* For Vim version 8.0. Last change: 2017 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -242,6 +242,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. If the directory pack/*/opt/{name}/after exists it is added at the end of 'runtimepath'. + If loading packages from "pack/*/start" was skipped, + then this directory is searched first: + pack/*/start/{name} ~ + Note that {name} is the directory name, not the name of the .vim file. All the files matching the pattern pack/*/opt/{name}/plugin/**/*.vim ~ diff --git a/runtime/doc/tags b/runtime/doc/tags index c8d14e3bcb..0792751857 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4820,6 +4820,7 @@ TermResponse autocmd.txt /*TermResponse* Terminal-mode terminal.txt /*Terminal-mode* TextChanged autocmd.txt /*TextChanged* TextChangedI autocmd.txt /*TextChangedI* +TextYankPost autocmd.txt /*TextYankPost* Transact-SQL ft_sql.txt /*Transact-SQL* U undo.txt /*U* UTF-8 mbyte.txt /*UTF-8* @@ -5869,6 +5870,7 @@ eval() eval.txt /*eval()* eval-examples eval.txt /*eval-examples* eval-sandbox eval.txt /*eval-sandbox* eval.txt eval.txt /*eval.txt* +event-variable eval.txt /*event-variable* eventhandler() eval.txt /*eventhandler()* eview starting.txt /*eview* evim starting.txt /*evim* @@ -6230,6 +6232,7 @@ ft-vb-syntax syntax.txt /*ft-vb-syntax* ft-verilog-indent indent.txt /*ft-verilog-indent* ft-vhdl-indent indent.txt /*ft-vhdl-indent* ft-vim-indent indent.txt /*ft-vim-indent* +ft-vim-plugin filetype.txt /*ft-vim-plugin* ft-vim-syntax syntax.txt /*ft-vim-syntax* ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax* ft-xhtml-omni insert.txt /*ft-xhtml-omni* @@ -6237,6 +6240,7 @@ ft-xml-omni insert.txt /*ft-xml-omni* ft-xml-syntax syntax.txt /*ft-xml-syntax* ft-xpm-syntax syntax.txt /*ft-xpm-syntax* ft-yaml-syntax syntax.txt /*ft-yaml-syntax* +ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin* ft-zsh-syntax syntax.txt /*ft-zsh-syntax* ft_ada.txt ft_ada.txt /*ft_ada.txt* ft_rust.txt ft_rust.txt /*ft_rust.txt* @@ -7826,6 +7830,8 @@ option-backslash options.txt /*option-backslash* option-list quickref.txt /*option-list* option-summary options.txt /*option-summary* option-window options.txt /*option-window* +option_restore() eval.txt /*option_restore()* +option_save() eval.txt /*option_save()* options options.txt /*options* options-changed version5.txt /*options-changed* options-in-terminal terminal.txt /*options-in-terminal* @@ -8058,14 +8064,19 @@ quake.vim syntax.txt /*quake.vim* quickfix quickfix.txt /*quickfix* quickfix-6 version6.txt /*quickfix-6* quickfix-ID quickfix.txt /*quickfix-ID* +quickfix-context quickfix.txt /*quickfix-context* quickfix-directory-stack quickfix.txt /*quickfix-directory-stack* quickfix-error-lists quickfix.txt /*quickfix-error-lists* quickfix-functions usr_41.txt /*quickfix-functions* quickfix-gcc quickfix.txt /*quickfix-gcc* quickfix-manx quickfix.txt /*quickfix-manx* +quickfix-parse quickfix.txt /*quickfix-parse* quickfix-perl quickfix.txt /*quickfix-perl* +quickfix-size quickfix.txt /*quickfix-size* +quickfix-title quickfix.txt /*quickfix-title* quickfix-valid quickfix.txt /*quickfix-valid* quickfix-window quickfix.txt /*quickfix-window* +quickfix-window-ID quickfix.txt /*quickfix-window-ID* quickfix.txt quickfix.txt /*quickfix.txt* quickref quickref.txt /*quickref* quickref.txt quickref.txt /*quickref.txt* @@ -9104,6 +9115,7 @@ v:ctype eval.txt /*v:ctype* v:dying eval.txt /*v:dying* v:errmsg eval.txt /*v:errmsg* v:errors eval.txt /*v:errors* +v:event eval.txt /*v:event* v:exception eval.txt /*v:exception* v:false eval.txt /*v:false* v:fcs_choice eval.txt /*v:fcs_choice* @@ -9471,6 +9483,7 @@ win_getid() eval.txt /*win_getid()* win_gotoid() eval.txt /*win_gotoid()* win_id2tabwin() eval.txt /*win_id2tabwin()* win_id2win() eval.txt /*win_id2win()* +win_screenpos() eval.txt /*win_screenpos()* winbufnr() eval.txt /*winbufnr()* wincol() eval.txt /*wincol()* window windows.txt /*window* diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt index 2a1972c924..10d3bc5293 100644 --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -1,4 +1,4 @@ -*terminal.txt* For Vim version 8.0. Last change: 2017 Nov 17 +*terminal.txt* For Vim version 8.0. Last change: 2017 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -370,12 +370,14 @@ Starting ~ Load the plugin with this command: > packadd termdebug < *:Termdebug* -To start debugging use `:TermDebug` folowed by the command name, for example: > +To start debugging use `:Termdebug` followed by the command name, for example: > :Termdebug vim This opens two windows: + gdb window A terminal window in which "gdb vim" is executed. Here you can directly interact with gdb. The buffer name is "!gdb". + program window A terminal window for the executed program. When "run" is used in gdb the program I/O will happen in this window, so that it does not interfere with controlling gdb. The buffer @@ -476,14 +478,15 @@ In the window showing the source code these commands can used to control gdb: :Continue execute the gdb "continue" command :Stop interrupt the program -The plugin adds a window toolbar with these entries: +If 'mouse' is set the plugin adds a window toolbar with these entries: Step :Step Next :Over Finish :Finish Cont :Continue Stop :Stop Eval :Evaluate -This way you can use the mouse to perform the most common commands. +This way you can use the mouse to perform the most common commands. You need +to have the 'mouse' option set to enable mouse clicks. Inspecting variables ~ diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index f8c224eb78..4f0d489da0 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.0. Last change: 2017 Nov 29 +*todo.txt* For Vim version 8.0. Last change: 2017 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -35,13 +35,6 @@ entered there will not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- -Motif testgui: -From test_options.vim: -Found errors in Test_set_values(): -Caught exception in Test_set_values(): Vim(set):E596: Invalid font(s): guifont=fixedsys @ /home/mool/vim/vim80/src/testdir/opt_test.vim, line 1153 - -WinBar: balloon shows up for next line - No maintainer for Vietnamese translations. No maintainer for Simplified Chinese translations. @@ -147,9 +140,14 @@ Suggested by Hiroki Kokubun: - [Iceberg](https://github.com/cocopon/iceberg.vim) (my one) - [hybrid](https://github.com/w0ng/vim-hybrid) Include solarized color scheme?, it does not support termguicolors. --> Make check for colorscheme that it's sane. - Sanitized version of pablo (Lifepillar, 2017 Nov 21) +heap use after free. (gy741, #2447) +heap use after free in set_bufref (gy741, #2448) + reproduces with valgrind (Dominique) +heap use after free in getout. (gy741, #2449) + reproduces with valgrind (Dominique) + Compiler warnings (geeknik, 2017 Oct 26): - signed integer overflow in do_sub() (#2249) - signed integer overflow in get_address() (#2248) @@ -157,21 +155,10 @@ Compiler warnings (geeknik, 2017 Oct 26): - signed integer overflow in nfa_regatom() (#2251) - undefined left shift in get_string_tv() (#2250) -patch for: fix SHIFT-Insert on Windows command prompt (Yasuhiro Matsumoto, -#2381) - -Patch for profile log truncating halfway a character. (ichizok, 2017 Nov 28, -#2385) - -WinBar: Maximizing window causes window size to be wrong. (Lifepillar, 2017 -Nov 29, #2356) - -CTRL-A does not work with empty line. (Alex, #2387) -Patch by Hirohito Higashi, 2017 Nov 29. - -'hlsearch' shows empty matches, which means highlighting everything. -Don't do that. For "foo\|" or "\v" -Patch from Christian, 2017 Nov 14. Should still display "$" matches. +Triggering CursorHoldI happens too often in the GUI. (#2451). +Should move code from os_unix.c mch_inchar() up into common use, it's not +really machine specific. Also the part of WaitForChar(), it deals with timers +and is also for all machines. When starting with --clean packages under "start" are not loaded. Make this work: :packadd START {name} similar to :runtime START name @@ -179,6 +166,18 @@ work: :packadd START {name} similar to :runtime START name When using :packadd files under "later" are not used, which is inconsistent with packages under "start". (xtal8, #1994) +Patch to add changedtick var to quickfix list. (Yegappan Lakshmanan, 2017 Nov +18, #2391) + +7 Add a watchpoint in the debug mode: An expression that breaks execution + when evaluating to non-zero. Add the "watchadd expr" command, stop when + the value of the expression changes. ":watchdel" deletes an item, + ":watchlist" lists the items. (Charles Campbell) +Patch by Christian Brabandt, 2016 Jun 10, #859 + +7 Make "ga" show the digraph for a character, if it exists. +Patch from Christian Brabandt, 2011 Aug 19. + Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9) With foldmethod=syntax and nofoldenable comment highlighting isn't removed. @@ -191,12 +190,18 @@ Using 'wildignore' also applies to literally entered file name. Also with directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266) Also see #1689. +Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro +Takasaki, Ken Takata, 2017 Oct 1, #2060). + ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737) Lemonboy can reproduce (2017 Jun 5) Patch to fix E806. (Dominique, 2017 Nov 22, #2368) Kazunobu Kuriyama: caused by XtSetLanguageProc(). +Patch to fix GUI find/replace dialog. (kiloliter, 2017 Dec 11, report in +#2418, fix in #2435) + Invalid range error when using BufWinLeave for closing terminal. (Gabriel Barta, 2017 Nov 15, #2339) @@ -219,9 +224,8 @@ Koichi Iwamoto, #2126 Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov 13, on issue #2320) -Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011 -May 24) Update May 26. -Now in patch by Lemonboy, #2333 +Patch for Neovim concerning restoring when closing help window. (glacambre +neovim #7431) Default install on MS-Windows should source defaults.vim. Ask whether to use Windows or Vim key behavior? @@ -238,7 +242,7 @@ matchit hasn't been maintained for a long time. #955. Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313) -MS-Windows: buffer completetion doesn't work when using backslash (or slash) +MS-Windows: buffer completion doesn't work when using backslash (or slash) for a path separator. (xtal8, #2201) Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20, @@ -264,9 +268,6 @@ line breaks. (Ken Takata, 2017 Aug 22) The ":move" command does not honor closed folds. (Ryan Lue, #2351) -Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro -Takasaki, Ken Takata, 2017 Oct 1, #2060). - Memory leaks in test_channel? (or is it because of fork()) Memory leak in test_arabic. Using uninitialized value in test_crypt. @@ -304,6 +305,9 @@ Alternatives for ~: The ++ options for the :edit command are also useful on the Vim command line. +When recovering a file, put the swap file name in b:recovered_swapfile. Then +a command can delete it. + Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14, #2089) Patch with possible solution by Björn Linse. @@ -641,7 +645,7 @@ Probably list of keystrokes, with some annotations for mode changes. Could store in logfile to be able to analyse it with an external command. E.g. to see when's the last time a plugin command was used. -execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1, +execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1, #1141) cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983) @@ -812,12 +816,6 @@ directory exists. (Sergio Gallelli, 2013 Dec 29) In debug mode one can inspect variables, but not the function parameters (starting with a:). (Luc Hermitte, 2017 Jan 4, #1352) -7 Add a watchpoint in the debug mode: An expression that breaks execution - when evaluating to non-zero. Add the "watchadd expr" command, stop when - the value of the expression changes. ":watchdel" deletes an item, - ":watchlist" lists the items. (Charles Campbell) -Patch by Christian Brabandt, 2016 Jun 10, #859 - If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe, 2016 Apr 25, #780) @@ -1248,13 +1246,6 @@ Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5) Doesn't work for string in list. Other way to pass all types of variables reliably? -Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. -That is, calling a dictionary function on an autoloaded dict. -Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar -17) -Patch by Christian Brabandt, 2013 Mar 23. -Not 100% sure this is the right solution. - Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}. (Christian Brabandt, 2013 Dec 9) @@ -1523,9 +1514,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18) Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19) -7 Make "ga" show the digraph for a character, if it exists. -Patch from Christian Brabandt, 2011 Aug 19. - maparg() does not show the