changeset 10153:715d6c5707b8

commit https://github.com/vim/vim/commit/abd468ed0fbcba391e7833feeaa7de3ced841455 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 8 22:22:43 2016 +0200 Updated runtime files
author Christian Brabandt <cb@256bit.org>
date Thu, 08 Sep 2016 22:30:08 +0200
parents f0a07ec845cf
children 4647267906cc
files runtime/doc/eval.txt runtime/doc/if_lua.txt runtime/doc/if_mzsch.txt runtime/doc/if_perl.txt runtime/doc/if_ruby.txt runtime/doc/if_tcl.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/version8.txt runtime/ftplugin/python.vim runtime/syntax/vim.vim
diffstat 11 files changed, 495 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2016 Sep 05
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Sep 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7793,7 +7793,8 @@ timer_start({time}, {callback} [, {optio
 
 		{options} is a dictionary.  Supported entries:
 		   "repeat"	Number of times to repeat calling the
-				callback.  -1 means forever.
+				callback.  -1 means forever.  When not present
+				the callback will be called once.
 
 		Example: >
 			func MyHandler(timer)
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -59,6 +59,12 @@ Example:
 	EOF
 	endfunction
 <
+To see what version of Lua you have: >
+	:lua print(_VERSION)
+
+If you use LuaJIT you can also use this: >
+	:lua print(jit.version)
+<
 
 							*:luado*
 :[range]luado {body}	Execute Lua function "function (line, linenr) {body}
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -97,6 +97,9 @@ 2. Examples						*mzscheme-examples*
 	:mzscheme (require (prefix vim- vimext)) ; for MzScheme < 4.x
 	:mzscheme (require (prefix-in vim- 'vimext)) ; MzScheme 4.x
 	:mzscheme (vim-set-buff-line 10 "This is line #10")
+
+To see what version of MzScheme you have: >
+	:mzscheme (display (version))
 <
 Inline script usage: >
 	function! <SID>SetFirstLine()
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -83,6 +83,9 @@ Example vim script: >
 	EOF
 	endfunction
 <
+To see what version of Perl you have: >
+	:perl print $^V
+<
 
 							*:perldo* *:perld*
 :[range]perld[o] {cmd}	Execute Perl command {cmd} for each line in the
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -58,6 +58,9 @@ Example Vim script: >
 	EOF
 	endfunction
 <
+To see what version of Ruby you have: >
+	:ruby print RUBY_VERSION
+<
 
 						*:rubydo* *:rubyd* *E265*
 :[range]rubyd[o] {cmd}	Evaluate Ruby command {cmd} for each line in the
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -54,6 +54,9 @@ Example: >
 	EOF
 	endfunction
 <
+To see what version of Tcl you have: >
+	:tcl puts [info patchlevel]
+<
 
 							*:tcldo* *:tcld*
 :[range]tcld[o] {cmd}	Execute Tcl command {cmd} for each line in [range]
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5735,6 +5735,8 @@ erlang.vim	syntax.txt	/*erlang.vim*
 err_buf	channel.txt	/*err_buf*
 err_cb	channel.txt	/*err_cb*
 err_mode	channel.txt	/*err_mode*
+err_modifiable	channel.txt	/*err_modifiable*
+err_msg	channel.txt	/*err_msg*
 err_name	channel.txt	/*err_name*
 err_timeout	channel.txt	/*err_timeout*
 errmsg-variable	eval.txt	/*errmsg-variable*
@@ -7701,6 +7703,8 @@ out_buf	channel.txt	/*out_buf*
 out_cb	channel.txt	/*out_cb*
 out_io-buffer	channel.txt	/*out_io-buffer*
 out_mode	channel.txt	/*out_mode*
+out_modifiable	channel.txt	/*out_modifiable*
+out_msg	channel.txt	/*out_msg*
 out_name	channel.txt	/*out_name*
 out_timeout	channel.txt	/*out_timeout*
 p	change.txt	/*p*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Sep 06
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Sep 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -36,18 +36,24 @@ not be repeated below, unless there is e
 
 Invalid memory access in do_pending_operator. (Dominique, 2016 Sep 5)
 
-test_autocmd fails when run directly, passes when run through test_alot.
+Invalid memory access in msg_puts_printf (Dominique, 2016 Sep 6)
+
+Crash after wiping a buffer. (Dominique, Sep 7)
+
+With MS-Windows gvim:
+    test_netbeans.vim fails.  Nb_basic line 12 and 13.
+    test86 fails  partial fix
+    test87 fails
 
 Make ":filter" work with more commands.
 Search for: msg_putchar('\n')
 
 +channel:
-- option to not put "Reading from channel" in the buffer.
-- Add 'cwd' argument: directory to change to in the child.
-    check for valid directory before forking.
 - channel_wait() may return an error while there is still something to read.
   Perhaps try to read once?
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
+- Add 'cwd' argument to start_job(): directory to change to in the child.
+    check for valid directory before forking.
 - Implement |job-term| ?
 - 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?
@@ -309,7 +315,7 @@ Patch to test popupmenu.  Fails, possibl
 Patch to introduce 'cmdencoding'. (Ken Takata, Aug 18?)
 Better help Aug 19.
 Problem: applies to too many commands, such as :cbuffer.
-Should there be a different value for :make and :grep?
+Updated patch with three options, 2016 Sep 8.
     Win32: When running ":make" and 'encoding' differs from the system locale,
     the output should be converted.  Esp. when 'encoding' is "utf-8". (Yongwei
     Wu) Should we use 'termencoding' for this?
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 Sep 05
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Sep 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -6109,7 +6109,7 @@ 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()
+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
 
@@ -13983,6 +13983,419 @@ Files:      src/if_mzsch.h, src/Makefile
             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. (Nikolay 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
+
 [STILL MORE COMING!]
 
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/ftplugin/python.vim
+++ b/runtime/ftplugin/python.vim
@@ -2,7 +2,7 @@
 " Language:	python
 " Maintainer:	James Sully <sullyj3@gmail.com>
 " Previous Maintainer: Johannes Zellner <johannes@zellner.org>
-" Last Change:	Fri, 02 September 2016
+" Last Change:	Tue, 06 September 2016
 " https://github.com/sullyj3/vim-ftplugin-python
 
 if exists("b:did_ftplugin") | finish | endif
@@ -22,15 +22,25 @@ setlocal omnifunc=pythoncomplete#Complet
 
 set wildignore+=*.pyc
 
-noremap <silent> <buffer> ]] :call <SID>Python_jump('n', '\v%$\|^(class\|def)>', 'W')<cr>
-noremap <silent> <buffer> [[ :call <SID>Python_jump('n', '\v^(class\|def)>', 'Wb')<cr>
-noremap <silent> <buffer> ]m :call <SID>Python_jump('n', '\v%$\|^\s*(class\|def)>', 'W')<cr>
-noremap <silent> <buffer> [m :call <SID>Python_jump('n', '\v^\s*(class\|def)>', 'Wb')<cr>
+let b:next_toplevel='\v%$\|^(class\|def)>'
+let b:prev_toplevel='\v^(class\|def)>'
+let b:next='\v%$\|^\s*(class\|def)>'
+let b:prev='\v^\s*(class\|def)>'
+
+execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
+execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
+execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
+execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
 
-xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '\v%$\|^(class\|def)>', 'W')<cr>
-xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '\v^(class\|def)>', 'Wb')<cr>
-xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '\v%$\|^\s*(class\|def)>', 'W')<cr>
-xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '\v^\s*(class\|def)>', 'Wb')<cr>
+execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
+execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
+execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
+execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
+
+execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
+execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
+execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
+execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
 
 if !exists('*<SID>Python_jump')
   fun! <SID>Python_jump(mode, motion, flags) range
@@ -56,8 +66,10 @@ if has("browsefilter") && !exists("b:bro
                 \ "All Files (*.*)\t*.*\n"
 endif
 
-" As suggested by PEP8.
-setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
+if !exists("g:python_recommended_style") || g:python_recommended_style != 0
+    " As suggested by PEP8.
+    setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
+endif
 
 " First time: try finding "pydoc".
 if !exists('g:pydoc_executable')
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.4 script
 " Maintainer:	Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	August 31, 2016
-" Version:	7.4-53
+" Last Change:	September 06, 2016
+" Version:	7.4-54
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -28,24 +28,24 @@ syn match   vimCommand contained	"\<z[-+
 syn keyword vimStdPlugin contained	DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns 
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine diffopt ea efm endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu packpath path ph pp printfont pumheight rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
-syn keyword vimOption contained	ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex digraph ead ei eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc para pdev pheader preserveindent printheader pvh re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc terse thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
-syn keyword vimOption contained	akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dip eadirection ek ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paragraphs penc pi previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll textauto tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
-syn keyword vimOption contained	al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict dir eb emo equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textmode timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
-syn keyword vimOption contained	aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary directory ed emoji equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term textwidth timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
-syn keyword vimOption contained	allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff display edcompatible enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchexpr pexpr pmbfn printencoding prompt qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tf title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
-syn keyword vimOption contained	altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr dy ef encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa patchmode pfn popt printexpr pt quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding tgc titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
-syn keyword vimOption contained	ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define 
+syn keyword vimOption contained	acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine digraph eadirection ek ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lazyredraw lispwords lpl ma matchtime mco ml modeline mousefocus mousetime nrformats ofu packpath path ph pp printfont pumheight rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
+syn keyword vimOption contained	ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex dip eb emo equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lbr list lrm macatsui maxcombine mef mls modelines mousehide mp nu omnifunc para pdev pheader preserveindent printheader pvh re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc terse thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
+syn keyword vimOption contained	akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dir ed emoji equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap lcs listchars ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paragraphs penc pi previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll textauto tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
+syn keyword vimOption contained	al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict directory edcompatible enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu linebreak lm lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textmode timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
+syn keyword vimOption contained	aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary display ef encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap lines lmap luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term textwidth timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
+syn keyword vimOption contained	allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff dy efm endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg langremap linespace lnr lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchexpr pexpr pmbfn printencoding prompt qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tf title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
+syn keyword vimOption contained	altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr ea ei eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km laststatus lisp loadplugins lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa patchmode pfn popt printexpr pt quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding tgc titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
+syn keyword vimOption contained	ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define diffopt ead 
 
 " vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf noinsertmode nojoinspaces nolangnoremap nolbr nolisp nolnr nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
-syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nois nojs nolazyredraw nolinebreak nolist noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
-syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch 
+syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolazyredraw nolinebreak nolist noloadplugins nolrm noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
+syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolbr nolisp nolnr nolpl nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
+syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs 
 
 " vimOptions: These are the invertible variants {{{2
-syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invinsertmode invjoinspaces invlangnoremap invlbr invlisp invlnr invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
-syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invis invjs invlazyredraw invlinebreak invlist invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
-syn keyword vimOption contained	invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch 
+syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlazyredraw invlinebreak invlist invloadplugins invlrm invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
+syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlbr invlisp invlnr invlpl invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
+syn keyword vimOption contained	invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs 
 
 " termcap codes (which can also be set) {{{2
 syn keyword vimOption contained	t_8b t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
@@ -76,10 +76,10 @@ syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	abs append argv assert_fails assert_notequal atan2 buflisted bufwinid byteidxcomp char2nr ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan test_alloc_fail test_garbagecollect_now test_null_job test_null_string timer_pause timer_stopall tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
-syn keyword vimFuncName contained	acos argc asin assert_false assert_notmatch browse bufloaded bufwinnr call ch_close ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimefloat remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh test_autochdir test_null_channel test_null_list test_settime timer_start tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
-syn keyword vimFuncName contained	add argidx assert_equal assert_inrange assert_true browsedir bufname byte2line ceil ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname test_disable_char_avail test_null_dict test_null_partial timer_info timer_stop toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
-syn keyword vimFuncName contained	and arglistid assert_exception assert_match atan bufexists bufnr byteidx changenr ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlID index inputrestore invert items job_start 
+syn keyword vimFuncName contained	abs append argv assert_fails assert_notequal atan2 buflisted bufwinid byteidxcomp char2nr ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlID index inputrestore invert items job_start js_decode json_encode libcall line2byte log map match matcharg matchlist max mode nr2char perleval printf pyeval reltime remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan test_alloc_fail test_garbagecollect_now test_null_job test_null_string timer_pause timer_stopall tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
+syn keyword vimFuncName contained	acos argc asin assert_false assert_notmatch browse bufloaded bufwinnr call ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr min mzeval or pow pumvisible range reltimefloat remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setfperm setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh test_autochdir test_null_channel test_null_list test_settime timer_start tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
+syn keyword vimFuncName contained	add argidx assert_equal assert_inrange assert_true browsedir bufname byte2line ceil ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode len line localtime luaeval mapcheck matchaddpos matchend matchstrpos mkdir nextnonblank pathshorten prevnonblank py3eval readfile reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setline setpos settabvar sha256 simplify sort spellsuggest str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname test_disable_char_avail test_null_dict test_null_partial timer_info timer_stop toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
+syn keyword vimFuncName contained	and arglistid assert_exception assert_match atan bufexists bufnr byteidx changenr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join 
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1