# HG changeset patch # User Christian Brabandt # Date 1471035607 -7200 # Node ID 9eaf8ef656e9aa34201fec769813754358bb870f # Parent 72104c1f19616b5ab107ee65732802789e5af5ac commit https://github.com/vim/vim/commit/0952131376a517fc12dc5ae908a97018b4ee23f0 Author: Bram Moolenaar Date: Fri Aug 12 22:54:35 2016 +0200 Updated runtime files. diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -54,7 +54,7 @@ Common combination are: - Using a job connected through pipes in NL mode. E.g., to run a style checker and receive errors and warnings. - Using a deamon, connecting over a socket in JSON mode. E.g. to lookup - crosss-refrences in a database. + cross-references in a database. ============================================================================== 2. Channel demo *channel-demo* *demoserver.py* diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1,4 +1,4 @@ -*editing.txt* For Vim version 7.4. Last change: 2016 Mar 28 +*editing.txt* For Vim version 7.4. Last change: 2016 Aug 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1114,10 +1114,12 @@ 5. Writing and quitting *write-quit* edited. See |:confirm| and 'confirm'. {not in Vi} :q[uit]! Quit without writing, also when the current buffer has - changes. If this is the last window and there is a - modified hidden buffer, the current buffer is - abandoned and the first changed hidden buffer becomes - the current buffer. + changes. The buffer is unloaded, also when it has + 'hidden' set. + If this is the last window and there is a modified + hidden buffer, the current buffer is abandoned and the + first changed hidden buffer becomes the current + buffer. Use ":qall!" to exit always. :cq[uit] Quit always, without writing, and return an error diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -6744,8 +6744,10 @@ A jump table for the options with a shor {not in Vi} {not available when compiled without the |+signs| feature} - Whether or not to draw the signcolumn. "auto" means it will only be - drawn when there is a sign to display. + Whether or not to draw the signcolumn. Valid values are: + "auto" only when there is a sign to display + "no" never + "yes" always *'smartcase'* *'scs'* *'nosmartcase'* *'noscs'* diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.4. Last change: 2016 Jun 14 +*quickref.txt* For Vim version 7.4. Last change: 2016 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -883,6 +883,7 @@ Short explanation of each option: *opti 'showtabline' 'stal' tells when the tab pages line is displayed 'sidescroll' 'ss' minimum number of columns to scroll horizontal 'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor +'signcolumn' 'scl' when to display the sign column 'smartcase' 'scs' no ignore case when pattern has uppercase 'smartindent' 'si' smart autoindenting for C programs 'smarttab' 'sta' use 'shiftwidth' when inserting diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -1,4 +1,4 @@ -*sign.txt* For Vim version 7.4. Last change: 2014 May 07 +*sign.txt* For Vim version 7.4. Last change: 2016 Aug 12 VIM REFERENCE MANUAL by Gordon Prieur @@ -45,8 +45,10 @@ 2. Place the sign. This specifies the f When signs are defined for a file, Vim will automatically add a column of two characters to display them in. When the last sign is unplaced the column -disappears again. The color of the column is set with the SignColumn group -|hl-SignColumn|. Example to set the color: > +disappears again. This behavior can be changed with the 'signcolumn' option. + +The color of the column is set with the SignColumn group |hl-SignColumn|. +Example to set the color: > :highlight SignColumn guibg=darkgrey diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.4. Last change: 2016 May 28 +*syntax.txt* For Vim version 7.4. Last change: 2016 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -949,6 +949,8 @@ Variable Highlight ~ *c_no_bracket_error* don't highlight {}; inside [] as errors *c_no_curly_error* don't highlight {}; inside [] and () as errors; except { and } in first column + Default is to highlight them, otherwise you + can't spot a missing ")". *c_curly_error* highlight a missing }; this forces syncing from the start of the file, can be slow *c_no_ansi* don't do standard ANSI types and constants diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -806,6 +806,7 @@ 'sbr' options.txt /*'sbr'* 'sc' options.txt /*'sc'* 'scb' options.txt /*'scb'* +'scl' options.txt /*'scl'* 'scr' options.txt /*'scr'* 'scroll' options.txt /*'scroll'* 'scrollbind' options.txt /*'scrollbind'* @@ -848,6 +849,7 @@ 'si' options.txt /*'si'* 'sidescroll' options.txt /*'sidescroll'* 'sidescrolloff' options.txt /*'sidescrolloff'* +'signcolumn' options.txt /*'signcolumn'* 'siso' options.txt /*'siso'* 'sj' options.txt /*'sj'* 'slm' options.txt /*'slm'* @@ -6394,6 +6396,7 @@ gdb debug.txt /*gdb* ge motion.txt /*ge* get() eval.txt /*get()* get-ms-debuggers debug.txt /*get-ms-debuggers* +getbufinfo() eval.txt /*getbufinfo()* getbufline() eval.txt /*getbufline()* getbufvar() eval.txt /*getbufvar()* getchar() eval.txt /*getchar()* @@ -6426,8 +6429,10 @@ getscript-data pi_getscript.txt /*getscr getscript-history pi_getscript.txt /*getscript-history* getscript-plugins pi_getscript.txt /*getscript-plugins* getscript-start pi_getscript.txt /*getscript-start* +gettabinfo() eval.txt /*gettabinfo()* gettabvar() eval.txt /*gettabvar()* gettabwinvar() eval.txt /*gettabwinvar()* +getwininfo() eval.txt /*getwininfo()* getwinposx() eval.txt /*getwinposx()* getwinposy() eval.txt /*getwinposy()* getwinvar() eval.txt /*getwinvar()* @@ -8441,11 +8446,11 @@ t_ZH term.txt /*t_ZH* t_ZR term.txt /*t_ZR* t_al term.txt /*t_al* t_bc term.txt /*t_bc* -t_bool-varialble eval.txt /*t_bool-varialble* +t_bool-variable eval.txt /*t_bool-variable* t_cd term.txt /*t_cd* t_cdl version4.txt /*t_cdl* t_ce term.txt /*t_ce* -t_channel-varialble eval.txt /*t_channel-varialble* +t_channel-variable eval.txt /*t_channel-variable* t_ci version4.txt /*t_ci* t_cil version4.txt /*t_cil* t_cl term.txt /*t_cl* @@ -8457,7 +8462,7 @@ t_cv version4.txt /*t_cv* t_cvv version4.txt /*t_cvv* t_da term.txt /*t_da* t_db term.txt /*t_db* -t_dict-varialble eval.txt /*t_dict-varialble* +t_dict-variable eval.txt /*t_dict-variable* t_dl term.txt /*t_dl* t_ed version4.txt /*t_ed* t_el version4.txt /*t_el* @@ -8471,12 +8476,12 @@ t_f6 version4.txt /*t_f6* t_f7 version4.txt /*t_f7* t_f8 version4.txt /*t_f8* t_f9 version4.txt /*t_f9* -t_float-varialble eval.txt /*t_float-varialble* +t_float-variable eval.txt /*t_float-variable* t_fs term.txt /*t_fs* -t_func-varialble eval.txt /*t_func-varialble* +t_func-variable eval.txt /*t_func-variable* t_help version4.txt /*t_help* t_il version4.txt /*t_il* -t_job-varialble eval.txt /*t_job-varialble* +t_job-variable eval.txt /*t_job-variable* t_k1 term.txt /*t_k1* t_k2 term.txt /*t_k2* t_k3 term.txt /*t_k3* @@ -8501,15 +8506,15 @@ t_kr term.txt /*t_kr* t_ks term.txt /*t_ks* t_ku term.txt /*t_ku* t_le term.txt /*t_le* -t_list-varialble eval.txt /*t_list-varialble* +t_list-variable eval.txt /*t_list-variable* t_mb term.txt /*t_mb* t_md term.txt /*t_md* t_me term.txt /*t_me* t_mr term.txt /*t_mr* t_ms term.txt /*t_ms* t_nd term.txt /*t_nd* -t_none-varialble eval.txt /*t_none-varialble* -t_number-varialble eval.txt /*t_number-varialble* +t_none-variable eval.txt /*t_none-variable* +t_number-variable eval.txt /*t_number-variable* t_op term.txt /*t_op* t_se term.txt /*t_se* t_sf1 version4.txt /*t_sf1* @@ -8529,7 +8534,7 @@ t_sku version4.txt /*t_sku* t_so term.txt /*t_so* t_sr term.txt /*t_sr* t_star7 term.txt /*t_star7* -t_string-varialble eval.txt /*t_string-varialble* +t_string-variable eval.txt /*t_string-variable* t_tb version4.txt /*t_tb* t_te term.txt /*t_te* t_ti term.txt /*t_ti* @@ -8704,8 +8709,11 @@ throw-variables eval.txt /*throw-variabl throwpoint-variable eval.txt /*throwpoint-variable* time-functions usr_41.txt /*time-functions* timer-functions usr_41.txt /*timer-functions* +timer_info() eval.txt /*timer_info()* +timer_pause() eval.txt /*timer_pause()* timer_start() eval.txt /*timer_start()* timer_stop() eval.txt /*timer_stop()* +timer_stopall() eval.txt /*timer_stopall()* timestamp editing.txt /*timestamp* timestamps editing.txt /*timestamps* tips tips.txt /*tips* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2016 Aug 02 +*todo.txt* For Vim version 7.4. Last change: 2016 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -34,8 +34,6 @@ not be repeated below, unless there is e *known-bugs* -------------------- Known bugs and current work ----------------------- -Should free_all_functions(void) skip numbered and lambda functions? - +channel: - Channel test fails with Motif. Sometimes kills the X11 server. - When a message in the queue but there is no callback, drop it after a while? @@ -138,20 +136,14 @@ Problem with whitespace in errorformat. Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18) -Do we need some way (option) to show the sign column even when there are no -signs? Patch by Christian Brabandt, 2016 Jul 29. - -Patch to allow setting w:quickfix_title via setqflist() and setloclist() -functions. (Christian Brabandt, 2013 May 8, update May 21) -Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14) -Second one. Update May 22. -Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15. -Updated patch: add an argument to setqflist() and getqflist() for these -extra items: Yegappan, 2016 Jul 30. +Also return quickfix vs location list in getwininfo(). Patch to detect st terminal supporting xterm mouse. (Manuel Schiller, 2016 Aug 2, #963) +Patch to fix that " mark is not stored in viminfo when closing a window in +another tab. (Hirohito Higashi, 2016 Aug 11, #974) + Syntax highlighting for messages with RFC3339 timestamp (#946) Did maintainer reply? @@ -168,6 +160,10 @@ Should already never use utf-8 chars to Cannot delete a file with square brackets with delete(). (#696) +Patch to add the EndOfBuffer highlight group, used instead of NonText for "~" +lines. (Marco Hinz, 2014 Nov 2) +Update from James McCoy, 2016 Aug 3. + No autocommand for when changing directory. Patch from allen haim, 2016 Jun 27, #888 Justin M Keyes: use "global" or "window" for the pattern. Can add "tab" @@ -176,15 +172,23 @@ later. What if entering a window where Completion for input() does not expand environment variables. (chdiza, 2016 Jul 25, #948) +Patch to improve GTK shaping. (Manuel Schiller, 2016 Aug 7) + +Patch to make matchaddpos() not highlight the character after the line. +(Hirohito Higashi, 2016 Aug 7) + +'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9) + Patch to have text objects defined by arbitrary single characters. (Daniel Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31) Ben Fritz: problem with 'selection' set to "exclusive". Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27) Updated to current Vim (James McCoy, 2016 Jul 30, #958) -Still a bit of work left. - -Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Jul -29) +Still a bit of work left. Check if "vimx" works. +Added tests, Aug 3. + +Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Aug +3) Problem: two matches in one line and using CTRL-P does not move back. 's$^$\=capture("s/^//gn")' locks Vim in sandbox mode (#950) Patch by Christian Brabandt, 2016 Jul 27. @@ -198,6 +202,8 @@ Also for ":@.". Patch to make printf() convert to string for %s items. (Ken Takata, 2016 Aug 1) +Patch to add %b to printf(). (Ozaki Kiichi, 2016 Aug 5) + Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925) Patch on issue #728 by Christian Brabandt, 2016 Apr 7. Update with test: Apr 8. @@ -206,6 +212,9 @@ Might be related to: Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10) +Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple +times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5) + Patch to add 'topbot' to 'belloff' option. (Coot, 2016 Mar 18, #695) Patch for C syntax HL. (Bradley Garagan, 2016 Apr 17) #763 @@ -213,6 +222,10 @@ Patch for C syntax HL. (Bradley Garagan, Patch to make matchit work better, respect 'matchpairs'. (Ken Takata, 2016 Mar 25) +Patch to fix that on suckless Terminal mousewheel up does not work. +(Ralph Eastwood, 2013 Nov 25) +Patch for mouse support on suckless Terminal. #971 Manuel Schiller + This does not work: :set cscopequickfix=a- (Linewi, 2015 Jul 12, #914) @@ -245,9 +258,6 @@ Update from Ken Takata, 2016 Jul 17. Patch to improve cscope. (Adrian Kocis, #843) -Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan -Lakshmanan, 2016 Apr 2016) Update Jul 29. #833. - Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May 20 #644) @@ -265,7 +275,7 @@ No test, needs some work to include. Patch to improve indenting for C++ constructor with initializer list. (Hirohito Higashi, 2016 Mar 31) -After 7.5 is released: +After 8.0 is released: - Drop support for older MS-Windows systems, before XP. Patch from Ken Takata, 2016 Mar 8. @@ -540,7 +550,7 @@ Mixup of highlighting when there is a ma Patch for drag&drop reordering of GUI tab pages reordering. (Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe) Now on Git: https://gist.github.com/nocd5/165286495c782b815b94 -Update 2016 Mar 15. +Update 2016 Aug 10. Patch on Issue 72: 'autochdir' causes problems for :vimgrep. @@ -560,9 +570,6 @@ any one-character from the previous line Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21) -Patch to add the EndOfBuffer highlight group, used instead of NonText for "~" -lines. (Marco Hinz, 2014 Nov 2) - Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19) Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny, @@ -776,9 +783,6 @@ Patch by Thomas Tuegel, also for GTK, 20 Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4) With tests: Sep 5. -Patch to fix that on suckless Terminal mousewheel up does not work. -(Ralph Eastwood, 2013 Nov 25) - Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) Checking runtime scripts: Thilo Six, 2012 Jun 6. @@ -871,9 +875,6 @@ Improve the installer for MS-Windows. T Problem: they all work slightly different (e.g. don't install vimrun.exe). How to test that it works well for all Vim users? -Patch to check whether a buffer is quickfix or a location list. -(Yasuhiro Matsumoto, 2014 Dec 9) - Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec) Issue 54: document behavior of -complete, also expands arg. @@ -1383,7 +1384,7 @@ https://scan.coverity.com/projects/241 Patch to support :undo absolute jump to file save number. (Christian Brabandt, 2010 Nov 5) -Patch to use 'foldnextmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011 +Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011 Jan 7) Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17) @@ -2452,9 +2453,6 @@ 8 In the gzip plugin, also recognize * done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1. 7 Add a "-@ filelist" argument: read file names from a file. (David Kotchan has a patch for it) -8 Include a connection to an external program through a pipe? See - patches from Felbinger for a mathematica interface. - Or use emacs server kind of thing? 7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25. - findmatch() should be adjusted for Lisp. See remark at get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram, diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -4026,7 +4026,7 @@ Solution: Check for NULL pointer retur Files: src/if_cscope.c Patch 7.0.154 -Problem: When 'foldnextmax' is negative Vim can hang. (James Vega) +Problem: When 'foldnestmax' is negative Vim can hang. (James Vega) Solution: Avoid the fold level becoming negative. Files: src/fold.c, src/syntax.c diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1,4 +1,4 @@ -*version8.txt* For Vim version 8.0. Last change: 2016 Jul 29 +*version8.txt* For Vim version 8.0. Last change: 2016 Aug 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -64,7 +64,7 @@ Also asynchronous are timers. They can function to do any work. For example: > let tempTimer = timer_start(4000, 'CheckTemp') This will call the CheckTemp() function four seconds (4000 milli seconds) -later. +later. See |timer_start()|. Partials ~ @@ -274,8 +274,11 @@ New and extended functions: ~ |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 @@ -318,23 +321,30 @@ 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 and removing it cleans up the code quite a bit. The support for Windows 16 bit (Windows 95 and older) has been removed. -Minor incompatibilities: +The SNiFF+ support has been removed. + + +Minor incompatibilities: ~ For filetype detection: ... -The SNiFF+ support has been removed. - ============================================================================== IMPROVEMENTS *improvements-8* @@ -598,7 +608,7 @@ Solution: Move when VIsual_active is r Files: src/ops.c Patch 7.4.042 -Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump +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) @@ -777,7 +787,7 @@ Files: src/edit.c, src/misc1.c, src/ Patch 7.4.072 Problem: Crash when using Insert mode completion. -Solution: Avoid going past the end of pum_array. (idea by Fransisco Lopes) +Solution: Avoid going past the end of pum_array. (idea by Francisco Lopes) Files: src/popupmnu.c Patch 7.4.073 @@ -1416,7 +1426,7 @@ Files: src/configure.in, src/auto/co Patch 7.4.183 Problem: MSVC Visual Studio update not supported. -Solution: Add version number. (Mike William) +Solution: Add version number. (Mike Williams) Files: src/Make_mvc.mak Patch 7.4.184 @@ -2143,7 +2153,7 @@ 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 lenght. (Nobuhiro Takasaki) +Solution: Reset the string length. (Nobuhiro Takasaki) Files: src/screen.c Patch 7.4.304 @@ -5150,7 +5160,7 @@ Files: src/buffer.c Patch 7.4.806 Problem: CTRL-A in Visual mode doesn't work properly with "alpha" in - 'nrformat'. + 'nrformats'. Solution: Make it work. (Christian Brabandt) Files: src/ops.c, src/testdir/test_increment.in, src/testdir/test_increment.ok @@ -6079,7 +6089,7 @@ 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, close #525) +Solution: Put paths in quotes. (James McCoy, closes #525) Files: src/configure.in, src/auto/configure Patch 7.4.967 @@ -6458,7 +6468,7 @@ Files: src/testdir/Make_ming.mak, s Patch 7.4.1027 Problem: No support for binary numbers. -Solution: Add "bin" to nrformats. (Jason Schulz) +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, @@ -6548,7 +6558,7 @@ 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 + src/INSTALLmac.txt Patch 7.4.1042 Problem: g-CTRL-G shows the word count, but there is no way to get the word @@ -6948,7 +6958,7 @@ Files: src/testdir/test27.in, src/t 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 +Files: src/os_win32.c, src/proto/os_win32.pro Patch 7.4.1110 Problem: Test 108 fails when language is French. @@ -8116,7 +8126,7 @@ 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) + 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, @@ -8502,7 +8512,7 @@ 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, close #650) +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 @@ -9251,7 +9261,7 @@ 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_unxic. +Files: src/os_unix.c Patch 7.4.1496 Problem: Crash when built with GUI but it's not active. (Dominique Pelle) @@ -11132,7 +11142,7 @@ 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 defunc state. (Nicola) + 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 @@ -11289,7 +11299,7 @@ Solution: Unregister the channel when Files: src/channel.c Patch 7.4.1851 -Problem: test_syn_attr failes when using the GUI. (Dominique Pelle) +Problem: test_syn_attr fails when using the GUI. (Dominique Pelle) Solution: Escape the font name properly. Files: src/testdir/test_syn_attr.vim @@ -11349,7 +11359,7 @@ Files: src/testdir/test_timers.vim, Patch 7.4.1861 Problem: Compiler warnings with 64 bit compiler. -Solution: Change int to size_t. (Mike William) +Solution: Change int to size_t. (Mike Williams) Files: src/ex_cmds2.c Patch 7.4.1862 @@ -11609,7 +11619,7 @@ Files: src/ex_cmds.c Patch 7.4.1906 Problem: Collapsing channel buffers and searching for NL does not work - properly. (Xavier de Gary, Ramel Eshed) + 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 @@ -11699,7 +11709,7 @@ Files: src/ex_cmds.c Patch 7.4.1922 Problem: Ruby 2.4.0 unifies Fixnum and Bignum into Integer. -Solution: Use rb_cInteger. (Weiong Mao) +Solution: Use rb_cInteger. (Weiyong Mao) Files: src/if_ruby.c Patch 7.4.1923 @@ -12499,6 +12509,644 @@ Solution: Move Dictionary functions to 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 uninitialzed 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 diretory fails. +Solution: Add colors used in syntax.c to the builtiin 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 inconsistant. +Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan) +Files: src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/fileio.c, + src/globals.h, src/gui.c, src/gui_mac.c, src/if_lua.c, + src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/if_tcl.c, + src/main.c, src/mark.c, src/memfile.c, src/memline.c, src/misc1.c, + src/move.c, src/netbeans.c, src/normal.c, src/option.c, + src/quickfix.c, src/screen.c, src/spell.c, src/term.c, + src/window.c, src/workshop.c + +Patch 7.4.2102 (after 7.4.2101) +Problem: Tiny build with GUI fails. +Solution: Revert one FOR_ALL_ change. +Files: src/gui.c + +Patch 7.4.2103 +Problem: Can't have "augroup END" right after ":au!". +Solution: Check for the bar character before the command argument. +Files: src/fileio.c, src/testdir/test_autocmd.vim, + runtime/doc/autocmd.txt + +Patch 7.4.2104 +Problem: Code duplication when unreferencing a function. +Solution: De-duplicate. +Files: src/userfunc.c + +Patch 7.4.2105 +Problem: Configure reports default features to be "normal" while it is + "huge". +Solution: Change the default text. Build with newer autoconf. +Files: src/configure.in, src/auto/configure + +Patch 7.4.2106 +Problem: Clang warns about missing field in initializer. +Solution: Define COMMA and use it. (Kazunobu Kuriyama) +Files: src/ex_cmds.c, src/globals.h, src/vim.h + +Patch 7.4.2107 (after 7.4.2106) +Problem: Misplaced equal sign. +Solution: Remove it. +Files: src/globals.h + +Patch 7.4.2108 +Problem: Netbeans test is flaky. +Solution: Wait for the cursor to be positioned. +Files: src/testdir/test_netbeans.vim + +Patch 7.4.2109 +Problem: Setting 'display' to "lastline" is a drastic change, while + omitting it results in lots of "@" lines. +Solution: Add "truncate" to show "@@@" for a truncated line. +Files: src/option.h, src/screen.c, runtime/doc/options.txt + +Patch 7.4.2110 +Problem: When there is an CmdUndefined autocmd then the error for a missing + command is E464 instead of E492. (Manuel Ortega) +Solution: Don't let the pointer be NULL. +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 7.4.2111 +Problem: Defaults are very conservative. +Solution: Move settings from vimrc_example.vim to defaults.vim. Load + defaults.vim if no .vimrc was found. +Files: src/main.c, src/version.c, src/os_amiga.h, src/os_dos.h, + src/os_mac.h, src/os_unix.h, src/feature.h, src/Makefile, + runtime/vimrc_example.vim, runtime/defaults.vim, + runtime/evim.vim, Filelist, runtime/doc/starting.txt + +Patch 7.4.2112 +Problem: getcompletion(.., 'dir') returns a match with trailing "*" when + there are no matches. (Chdiza) +Solution: Return an empty list when there are no matches. Add a trailing + slash to directories. (Yegappan Lakshmanan) Add tests for no + matches. (closes #947) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 7.4.2113 +Problem: Test for undo is flaky. +Solution: Turn it into a new style test. Use test_settime() to avoid + flakyness. +Files: src/Makefile, src/undo.c, src/testdir/test61.in, + src/testdir/test61.ok, src/testdir/test_undo.vim, + src/testdir/test_undolevels.vim, src/testdir/Make_all.mak, + src/testdir/test_alot.vim + +Patch 7.4.2114 +Problem: Tiny build fails. +Solution: Always include vim_time(). +Files: src/ex_cmds.c + +Patch 7.4.2115 +Problem: Loading defaults.vim with -C argument. +Solution: Don't load the defaults script with -C argument. Test sourcing + the defaults script. Set 'display' to "truncate". +Files: src/main.c, src/Makefile, runtime/defaults.vim, + src/testdir/test_startup.vim, src/testdir/Make_all.mak + +Patch 7.4.2116 +Problem: The default vimrc for Windows is very conservative. +Solution: Use the defaults.vim in the Windows installer. +Files: src/dosinst.c + +Patch 7.4.2117 +Problem: Deleting an augroup that still has autocmds does not give a + warning. The next defined augroup takes its place. +Solution: Give a warning and prevent the index being used for another group + name. +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 7.4.2118 +Problem: Mac: can't build with tiny features. +Solution: Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama) +Files: src/vim.h + +Patch 7.4.2119 +Problem: Closures are not supported. +Solution: Capture variables in lambdas from the outer scope. (Yasuhiro + Matsumoto, Ken Takata) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/globals.h, + src/proto/eval.pro, src/proto/userfunc.pro, + src/testdir/test_lambda.vim, src/userfunc.c + +Patch 7.4.2120 +Problem: User defined functions can't be a closure. +Solution: Add the "closure" argument. Allow using :unlet on a bound + variable. (Yasuhiro Matsumoto, Ken Takata) +Files: runtime/doc/eval.txt, src/testdir/test_lambda.vim, src/userfunc.c, + src/eval.c src/proto/userfunc.pro + +Patch 7.4.2121 +Problem: No easy way to check if lambda and closure are supported. +Solution: Add the +lambda feature. +Files: src/evalfunc.c, src/version.c, src/testdir/test_lambda.vim + +Patch 7.4.2122 (after 7.4.2118) +Problem: Mac: don't get +clipboard in huge build. +Solution: Move #define down below including featureh.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 quickix 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 + [MORE COMING!] vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/indent/javascript.vim b/runtime/indent/javascript.vim --- a/runtime/indent/javascript.vim +++ b/runtime/indent/javascript.vim @@ -1,18 +1,192 @@ " Vim indent file -" Language: Javascript -" Maintainer: Going to be Darrick Wiebe -" Last Change: 2015 Jun 09 +" Language: Javascript +" Maintainer: vim-javascript community +" URL: https://github.com/pangloss/vim-javascript +" Last Change: August 12, 2016 " Only load this indent file when no other was loaded. -if exists("b:did_indent") - finish +if exists('b:did_indent') + finish endif let b:did_indent = 1 -" C indenting is not too bad. -setlocal cindent +" Now, set up our indentation expression and keys that trigger it. +setlocal indentexpr=GetJavascriptIndent() +setlocal nolisp +setlocal indentkeys=0{,0},0),0],:,!^F,o,O,e setlocal cinoptions+=j1,J1 -setlocal cinkeys-=0# -setlocal cinkeys+=0] + +let b:undo_indent = 'setlocal indentexpr< indentkeys< cinoptions<' + +" Only define the function once. +if exists('*GetJavascriptIndent') + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" Get shiftwidth value +if exists('*shiftwidth') + function s:sw() + return shiftwidth() + endfunction +else + function s:sw() + return &sw + endfunction +endif + +let s:line_pre = '^\s*\%(\/\*.\{-}\*\/\s*\)*' +let s:expr_case = s:line_pre . '\%(\%(case\>.\+\)\|default\)\s*:' +" Regex of syntax group names that are or delimit string or are comments. +let s:syng_strcom = '\%(s\%(tring\|pecial\)\|comment\|regex\|doc\|template\)' + +" Regex of syntax group names that are strings or documentation. +let s:syng_comment = '\%(comment\|doc\)' + +" Expression used to check whether we should skip a match with searchpair(). +let s:skip_expr = "line('.') < (prevnonblank(v:lnum) - 2000) ? dummy : synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" + +function s:lookForParens(start,end,flags,time) + if has('reltime') + return searchpair(a:start,'',a:end,a:flags,s:skip_expr,0,a:time) + else + return searchpair(a:start,'',a:end,a:flags,0,0) + endif +endfunction + +let s:line_term = '\%(\s*\%(\/\*.\{-}\*\/\s*\)\=\)\@>$' + +" configurable regexes that define continuation lines, not including (, {, or [. +if !exists('g:javascript_opfirst') + let g:javascript_opfirst = '\%([<>,:?^%]\|\([-/.+]\)\%(\1\|\*\|\/\)\@!\|\*\/\@!\|=>\@!\||\|&\|in\%(stanceof\)\=\>\)' +endif +let g:javascript_opfirst = s:line_pre . g:javascript_opfirst + +if !exists('g:javascript_continuation') + let g:javascript_continuation = '\%([<*,.?:^%]\|+\@\|\*\@' . (a:add ? '\|\ -1) && + \ s:lookForParens('(', ')', 'cbW', 100) > 0 && search((a:add ? + \ '\%(function\*\|[[:lower:][:upper:]_$][[:digit:][:lower:][:upper:]_$]*\)' : + \ '\<\%(for\%(\s\+each\)\=\|if\|let\|w\%(hile\|ith\)\)') . '\_s*\%#\C','bW') && + \ (a:add || (expand('') ==# 'while' ? !s:lookForParens('\\C', '\\C','bW',100) : 1)) +endfunction + +" Auxiliary Functions {{{2 + +" strip line of comment +function s:StripLine(c) + return a:c !~# s:expr_case ? substitute(a:c, '\%(:\@ 0 + if synIDattr(synID(l:lnum,matchend(getline(l:lnum), '^\s*[^''"]'),0),'name') !~? s:syng_strcom + break + endif + let l:lnum = prevnonblank(l:lnum - 1) + endwhile + return l:lnum +endfunction -let b:undo_indent = "setl cin<" +" Check if line 'lnum' has a balanced amount of parentheses. +function s:Balanced(lnum) + let open_0 = 0 + let open_2 = 0 + let open_4 = 0 + let l:line = getline(a:lnum) + let pos = match(l:line, '[][(){}]', 0) + while pos != -1 + if synIDattr(synID(a:lnum,pos + 1,0),'name') !~? s:syng_strcom + let idx = stridx('(){}[]', l:line[pos]) + if idx % 2 == 0 + let open_{idx} = open_{idx} + 1 + else + let open_{idx - 1} = open_{idx - 1} - 1 + endif + endif + let pos = match(l:line, '[][(){}]', pos + 1) + endwhile + return (!open_4 + !open_2 + !open_0) - 2 +endfunction +" }}} + +function GetJavascriptIndent() + if !exists('b:js_cache') + let b:js_cache = [0,0,0] + endif + " Get the current line. + let l:line = getline(v:lnum) + let syns = synIDattr(synID(v:lnum, 1, 0), 'name') + + " start with strings,comments,etc.{{{2 + if (l:line !~ '^[''"`]' && syns =~? 'string\|template') || + \ (l:line !~ '^\s*[/*]' && syns =~? s:syng_comment) + return -1 + endif + if l:line !~ '^\%(\/\*\|\s*\/\/\)' && syns =~? s:syng_comment + return cindent(v:lnum) + endif + let l:lnum = s:PrevCodeLine(v:lnum - 1) + if l:lnum == 0 + return 0 + endif + + if (l:line =~# s:expr_case) + let cpo_switch = &cpo + set cpo+=% + let ind = cindent(v:lnum) + let &cpo = cpo_switch + return ind + endif + "}}} + + " the containing paren, bracket, curly. Memoize, last lineNr either has the + " same scope or starts a new one, unless if it closed a scope. + call cursor(v:lnum,1) + if b:js_cache[0] >= l:lnum && b:js_cache[0] <= v:lnum && b:js_cache[0] && + \ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum) > 0) + let num = b:js_cache[1] + elseif syns != '' && l:line[0] =~ '\s' + let pattern = syns =~? 'block' ? ['{','}'] : syns =~? 'jsparen' ? ['(',')'] : + \ syns =~? 'jsbracket'? ['\[','\]'] : ['[({[]','[])}]'] + let num = s:lookForParens(pattern[0],pattern[1],'bW',2000) + else + let num = s:lookForParens('[({[]','[])}]','bW',2000) + endif + let b:js_cache = [v:lnum,num,line('.') == v:lnum ? b:js_cache[2] : col('.')] + + if l:line =~ s:line_pre . '[])}]' + return indent(num) + endif + + let pline = s:StripLine(getline(l:lnum)) + let inb = num == 0 ? 1 : (s:Onescope(num, s:StripLine(strpart(getline(num),0,b:js_cache[2] - 1)),1) || + \ (l:line !~ s:line_pre . ',' && pline !~ ',' . s:line_term)) && num < l:lnum + let switch_offset = (!inb || num == 0) || expand("") !=# 'switch' ? 0 : &cino !~ ':' || !has('float') ? s:sw() : + \ float2nr(str2float(matchstr(&cino,'.*:\zs[-0-9.]*')) * (&cino =~# '.*:[^,]*s' ? s:sw() : 1)) + + " most significant, find the indent amount + if (inb && (l:line =~# g:javascript_opfirst || + \ (pline =~# g:javascript_continuation && pline !~# s:expr_case && (pline !~ ':' . s:line_term || l:line !~# + \ s:line_pre . '\%(d\%(o\|ebugger\)\|else\|f\%(or\|inally\)\|if\|let\|switch\|t\%(hrow\|ry\)\|w\%(hile\|ith\)\)\>')))) || + \ (num < l:lnum && s:Onescope(l:lnum,pline,0) && l:line !~ s:line_pre . '{') + return (num > 0 ? indent(num) : -s:sw()) + (s:sw() * 2) + switch_offset + elseif num > 0 + return indent(num) + s:sw() + switch_offset + endif + +endfunction + + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/optwin.vim b/runtime/optwin.vim --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar -" Last Change: 2016 Apr 30 +" Last Change: 2016 Aug 12 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 diff --git a/runtime/syntax/dockerfile.vim b/runtime/syntax/dockerfile.vim --- a/runtime/syntax/dockerfile.vim +++ b/runtime/syntax/dockerfile.vim @@ -1,7 +1,7 @@ " dockerfile.vim - Syntax highlighting for Dockerfiles -" Maintainer: Honza Pokorny -" Version: 0.5 -" Last Change: 2014 Aug 29 +" Maintainer: Honza Pokorny +" Version: 0.6 +" Last Change: 2016 Aug 9 " License: BSD @@ -13,7 +13,7 @@ let b:current_syntax = "dockerfile" syntax case ignore -syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|CMD|ENTRYPOINT|ENV|EXPOSE|FROM|MAINTAINER|RUN|USER|VOLUME|WORKDIR|COPY)\s/ +syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\s/ syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/ diff --git a/runtime/syntax/sshconfig.vim b/runtime/syntax/sshconfig.vim --- a/runtime/syntax/sshconfig.vim +++ b/runtime/syntax/sshconfig.vim @@ -4,8 +4,9 @@ " Maintainer: Dominik Fischer " Contributor: Leonard Ehrenfried " Contributor: Karsten Hopp -" Last Change: 2016 Apr 7 -" SSH Version: 7.2p2 +" Contributor: Dean, Adam Kenneth +" Last Change: 2016 Aug 11 +" SSH Version: 7.3p1 " " Setup @@ -205,6 +206,7 @@ syn keyword sshconfigKeyword Port syn keyword sshconfigKeyword PreferredAuthentications syn keyword sshconfigKeyword Protocol syn keyword sshconfigKeyword ProxyCommand +syn keyword sshconfigKeyword ProxyJump syn keyword sshconfigKeyword ProxyUseFDPass syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes syn keyword sshconfigKeyword PubkeyAuthentication