changeset 10734:523cd59d6db0

Update runtime files. commit https://github.com/vim/vim/commit/690afe1fef87e7eef6fb7343a926617d5f7315fa Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 28 18:34:47 2017 +0100 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Sat, 28 Jan 2017 18:45:05 +0100
parents 7a5df0f9635f
children 91bade354a41
files runtime/doc/eval.txt runtime/doc/if_pyth.txt runtime/doc/options.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/term.txt runtime/doc/todo.txt runtime/doc/usr_41.txt runtime/ftplugin/man.vim runtime/indent/html.vim runtime/syntax/autohotkey.vim runtime/syntax/html.vim runtime/syntax/matlab.vim runtime/syntax/nasm.vim runtime/syntax/sh.vim runtime/syntax/tex.vim runtime/syntax/vim.vim src/po/zh_CN.UTF-8.po src/po/zh_CN.cp936.po
diffstat 19 files changed, 300 insertions(+), 188 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 8.0.  Last change: 2017 Jan 14
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2222,8 +2222,8 @@ matchstr({expr}, {pat}[, {start}[, {coun
 				String	{count}'th match of {pat} in {expr}
 matchstrpos({expr}, {pat}[, {start}[, {count}]])
 				List	{count}'th match of {pat} in {expr}
-max({list})			Number	maximum value of items in {list}
-min({list})			Number	minimum value of items in {list}
+max({expr})			Number	maximum value of items in {expr}
+min({expr})			Number	minimum value of items in {expr}
 mkdir({name} [, {path} [, {prot}]])
 				Number	create directory {name}
 mode([expr])			String	current editing mode
@@ -4172,6 +4172,10 @@ getchar([expr])						*getchar()*
 			  exe "normal " . v:mouse_col . "|"
 			endif
 <
+		When using bracketed paste only the first character is
+		returned, the rest of the pasted text is dropped.
+		|xterm-bracketed-paste|.
+
 		There is no prompt, you will somehow have to make clear to the
 		user that a character has to be typed.
 		There is no mapping for the character.
@@ -5797,16 +5801,20 @@ matchstrpos({expr}, {pat}[, {start}[, {c
 		The type isn't changed, it's not necessarily a String.
 
 							*max()*
-max({list})	Return the maximum value of all items in {list}.
-		If {list} is not a list or one of the items in {list} cannot
-		be used as a Number this results in an error.
-		An empty |List| results in zero.
+max({expr})	Return the maximum value of all items in {expr}.
+		{expr} can be a list or a dictionary.  For a dictionary,
+		it returns the maximum of all values in the dictionary.
+		If {expr} is neither a list nor a dictionary, or one of the
+		items in {expr} cannot be used as a Number this results in
+                an error.  An empty |List| or |Dictionary| results in zero.
 
 							*min()*
-min({list})	Return the minimum value of all items in {list}.
-		If {list} is not a list or one of the items in {list} cannot
-		be used as a Number this results in an error.
-		An empty |List| results in zero.
+min({expr})	Return the minimum value of all items in {expr}.
+		{expr} can be a list or a dictionary.  For a dictionary,
+		it returns the minimum of all values in the dictionary.
+		If {expr} is neither a list nor a dictionary, or one of the
+		items in {expr} cannot be used as a Number this results in
+                an error.  An empty |List| or |Dictionary| results in zero.
 
 							*mkdir()* *E739*
 mkdir({name} [, {path} [, {prot}]])
@@ -8146,7 +8154,7 @@ winnr([{arg}])	The result is a Number, w
 		is returned.
 		The number can be used with |CTRL-W_w| and ":wincmd w"
 		|:wincmd|.
-		Also see |tabpagewinnr()|.
+		Also see |tabpagewinnr()| and |win_getid()|.
 
 							*winrestcmd()*
 winrestcmd()	Returns a sequence of |:resize| commands that should restore
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.0.  Last change: 2016 Sep 17
+*if_pyth.txt*   For Vim version 8.0.  Last change: 2017 Jan 28
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2017 Jan 15
+*options.txt*	For Vim version 8.0.  Last change: 2017 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2016 Oct 30
+*syntax.txt*	For Vim version 8.0.  Last change: 2017 Jan 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3479,6 +3479,8 @@ DEFINING CASE						*:syn-case* *E390*
 	"ignore".  Note that any items before this are not affected, and all
 	items until the next ":syntax case" command are affected.
 
+:sy[ntax] case
+	Show either "syntax case match" or "syntax case ignore" (translated).
 
 SPELL CHECKING						*:syn-spell*
 
@@ -3496,6 +3498,11 @@ SPELL CHECKING						*:syn-spell*
 
 	To activate spell checking the 'spell' option must be set.
 
+:sy[ntax] spell
+	Show either "syntax spell toplevel", "syntax spell notoplevel" or
+	"syntax spell default" (translated).
+
+
 SYNTAX ISKEYWORD SETTING				*:syn-iskeyword*
 
 :sy[ntax] iskeyword [clear | {option}]
@@ -4089,6 +4096,9 @@ IMPLICIT CONCEAL					*:syn-conceal-impli
 	off" returns to the normal state where the "conceal" flag must be
 	given explicitly.
 
+:sy[ntax] conceal
+	Show either "syntax conceal on" or "syntax conceal off" (translated).
+
 ==============================================================================
 7. Syntax patterns				*:syn-pattern* *E401* *E402*
 
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -774,6 +774,8 @@
 'pvw'	options.txt	/*'pvw'*
 'pythondll'	options.txt	/*'pythondll'*
 'pythonthreedll'	options.txt	/*'pythonthreedll'*
+'pyx'	options.txt	/*'pyx'*
+'pyxversion'	options.txt	/*'pyxversion'*
 'qe'	options.txt	/*'qe'*
 'quote	motion.txt	/*'quote*
 'quoteescape'	options.txt	/*'quoteescape'*
@@ -923,6 +925,8 @@
 't_AB'	term.txt	/*'t_AB'*
 't_AF'	term.txt	/*'t_AF'*
 't_AL'	term.txt	/*'t_AL'*
+'t_BD'	term.txt	/*'t_BD'*
+'t_BE'	term.txt	/*'t_BE'*
 't_CS'	term.txt	/*'t_CS'*
 't_CV'	term.txt	/*'t_CV'*
 't_Ce'	term.txt	/*'t_Ce'*
@@ -2722,6 +2726,10 @@ 90.5	usr_90.txt	/*90.5*
 :pyfile	if_pyth.txt	/*:pyfile*
 :python	if_pyth.txt	/*:python*
 :python3	if_pyth.txt	/*:python3*
+:pythonx	if_pyth.txt	/*:pythonx*
+:pyx	if_pyth.txt	/*:pyx*
+:pyxdo	if_pyth.txt	/*:pyxdo*
+:pyxfile	if_pyth.txt	/*:pyxfile*
 :q	editing.txt	/*:q*
 :qa	editing.txt	/*:qa*
 :qall	editing.txt	/*:qall*
@@ -4770,6 +4778,8 @@ W16	message.txt	/*W16*
 W17	arabic.txt	/*W17*
 W18	syntax.txt	/*W18*
 W19	autocmd.txt	/*W19*
+W20	if_pyth.txt	/*W20*
+W21	if_pyth.txt	/*W21*
 WORD	motion.txt	/*WORD*
 WWW	intro.txt	/*WWW*
 Win32	os_win32.txt	/*Win32*
@@ -6603,6 +6613,7 @@ hangulin.txt	hangulin.txt	/*hangulin.txt
 has()	eval.txt	/*has()*
 has-patch	eval.txt	/*has-patch*
 has-python	if_pyth.txt	/*has-python*
+has-pythonx	if_pyth.txt	/*has-pythonx*
 has_key()	eval.txt	/*has_key()*
 haskell.vim	syntax.txt	/*haskell.vim*
 haslocaldir()	eval.txt	/*haslocaldir()*
@@ -7901,7 +7912,11 @@ python.vim	syntax.txt	/*python.vim*
 python2-directory	if_pyth.txt	/*python2-directory*
 python3	if_pyth.txt	/*python3*
 python3-directory	if_pyth.txt	/*python3-directory*
+python_x	if_pyth.txt	/*python_x*
+python_x-special-comments	if_pyth.txt	/*python_x-special-comments*
+pythonx	if_pyth.txt	/*pythonx*
 pythonx-directory	if_pyth.txt	/*pythonx-directory*
+pyxeval()	eval.txt	/*pyxeval()*
 q	repeat.txt	/*q*
 q/	cmdline.txt	/*q\/*
 q:	cmdline.txt	/*q:*
@@ -8443,6 +8458,8 @@ t_@7	term.txt	/*t_@7*
 t_AB	term.txt	/*t_AB*
 t_AF	term.txt	/*t_AF*
 t_AL	term.txt	/*t_AL*
+t_BD	term.txt	/*t_BD*
+t_BE	term.txt	/*t_BE*
 t_CS	term.txt	/*t_CS*
 t_CV	term.txt	/*t_CV*
 t_Ce	term.txt	/*t_Ce*
@@ -8481,6 +8498,8 @@ t_KI	term.txt	/*t_KI*
 t_KJ	term.txt	/*t_KJ*
 t_KK	term.txt	/*t_KK*
 t_KL	term.txt	/*t_KL*
+t_PE	term.txt	/*t_PE*
+t_PS	term.txt	/*t_PS*
 t_RB	term.txt	/*t_RB*
 t_RI	term.txt	/*t_RI*
 t_RV	term.txt	/*t_RV*
@@ -9332,6 +9351,7 @@ xterm-8-bit	term.txt	/*xterm-8-bit*
 xterm-8bit	term.txt	/*xterm-8bit*
 xterm-blink	syntax.txt	/*xterm-blink*
 xterm-blinking-cursor	syntax.txt	/*xterm-blinking-cursor*
+xterm-bracketed-paste	term.txt	/*xterm-bracketed-paste*
 xterm-clipboard	term.txt	/*xterm-clipboard*
 xterm-codes	term.txt	/*xterm-codes*
 xterm-color	syntax.txt	/*xterm-color*
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 8.0.  Last change: 2016 Sep 02
+*term.txt*      For Vim version 8.0.  Last change: 2017 Jan 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -99,7 +99,12 @@ is used.
 
 Note that in some situations Vim will not recognize the bracketed paste and
 you will get the raw text.  In other situations Vim will only get the first
-pasted character and drop the rest, e.g. when using the "r" command.
+pasted character and drop the rest, e.g. when using the "r" command.  If you
+have a problem with this, disable bracketed paste by putting this in your
+.vimrc: >
+	set t_BE=
+If this is done while Vim is running the 't_BD' will be sent to the terminal
+to disable bracketed paste.
 
 							*cs7-problem*
 Note: If the terminal settings are changed after running Vim, you might have
@@ -414,7 +419,7 @@ Note: Use the <> form if possible
 	t_KK	<k8>		keypad 8		 *<k8>*	*t_KK* *'t_KK'*
 	t_KL	<k9>		keypad 9		 *<k9>*	*t_KL* *'t_KL'*
 		<Mouse>		leader of mouse code		*<Mouse>*
-	t_PS	start of brackted paste |xterm-bracketed-paste|   *t_PS* 't_PS'
+	t_PS	start of bracketed paste |xterm-bracketed-paste|  *t_PS* 't_PS'
 	t_PE	end of bracketed paste |xterm-bracketed-paste|    *t_PE* 't_PE'
 
 Note about t_so and t_mr: When the termcap entry "so" is not present the
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Jan 16
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,8 +35,6 @@ entered there will not be repeated below
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-get_syn_options() does not respect skip in else part. (Zyx)
-
 +channel:
 - Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
@@ -60,6 +58,7 @@ get_syn_options() does not respect skip 
   connecting in the main loop with zero timeout.
 - job_start(): run job in a newly opened terminal.
     With xterm could use -S{pty}.
+    Although user could use "xterm -e 'cmd arg'".
 
 Regexp problems:
 - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
@@ -108,40 +107,27 @@ Regexp problems:
 
 '] mark invalid after undoing insert "hello".
 
-Make html indent file use javascript indent, now that it's not just cindent.
-#1220
-
-Concatenation with null string causes an error: 'a'[1:0] .. 'b'
-Might as well handle it like an empty string.
-
 When using symbolic links, a package path will not be inserted at the right
 position in 'runtimepath'. (Dugan Chen, 2016 Nov 18)
 
 json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
 What if there is an invalid character?
 
-Include rust files. (Klabnik, #1356)
-
 Allow using json with empty key?  Dict already has it.
 
 Json string with trailing \u should be an error. (Lcd)
 
-Patch to deal with changed configure events in GTK 3. (Jan Alexander Steffens,
-2016 Oct 23 #1193)
-Remarks from nuko8, 2016 Nov 2.
-
 Multi-byte bug: dv} splits char. (Urtica Dioica, 2017 Jan 9)
 
-Patch to change order of compiler flags. (Yousong Zhou, 2016 Sep 19, #1100)
-
-Patch to add command line completion for :cexpr commands. (Yegappan
-Lakshmanan, 2016 Dec 13)
-
-Patch for :pyx, run python commands depending on the supported version.
-(Marc Weber, update from Ken Takata, 2016 Sep 19, 2017 Jan 6)
-
-Patch to avoid warnings for overflow. (Mike Williams, 2016 Dec 16)
-Update Dec 19.
+Patch: Make mode() return "ix" or "Rx" when in completion mode.
+(Yegappan Lakshmanan, 2017 Jan 19, #1397, update Jan 22)
+
+With Visual selection of a multi-byte character the '] mark is on the last
+byte, should be first byte?
+
+When session file has name in argument list but the buffer was deleted, the
+buffer is not deleted when using the session file. (#1393)
+Should add the buffer in hidden state.
 
 When an item in the quickfix list has a file name that does not exist, behave
 like the item was not a match for :cnext.
@@ -150,18 +136,13 @@ Wrong diff highlighting with three files
 Also get E749 on exit.
 Another example in #1309
 
-Patch to fix vim_iswordp() works differently on chars <256 that are two bytes.
-Ozaki Kiichi, 2016 Dec 11.
+Completion for user-defined commands does not work if a few chararacters were
+already typed. (Dominique, 2017 Jan 26)
 
 When deleting a mark or register, leave a tombstone, so that it's also deleted
 when writing viminfo (and the delete was the most recent action). #1339
 
 Relevant neovim patch:
-https://github.com/neovim/neovim/pull/5717
-test case: 
-https://github.com/neovim/neovim/pull/5717#issuecomment-264845481
-Others:
-https://github.com/neovim/neovim/issues/5713#issuecomment-265136186
 https://github.com/neovim/neovim/pull/5737#issuecomment-266055165
 
 Patch for better explanation of 'compatible' side effects.
@@ -199,6 +180,10 @@ Patch for restoring wide characters in t
 Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
 Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
 
+The TermResponse event is not triggered when a plugin has set 'eventignore' to
+"all".  Netrw does this. (Gary Johnson, 2017 Jan 24)
+Postpone the event until 'eventignore' is reset.
+
 Once .exe with updated installer is available: Add remark to download page
 about /S and /D options (Ken Takata, 2016 Apr 13)
 Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
@@ -220,6 +205,7 @@ lines: :g/^/normal yyp   On Unix it work
 
 Patch for wrong cursor position on wrapped line, involving breakindent.
 (Ozaki Kiichi, 2016 Nov 25)
+Does this also fix #1408 ?
 
 Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
 
@@ -569,6 +555,9 @@ Patch to add :mapgroup, put mappings in 
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
+Value of virtcol() for '[ and '] depend on multi-byte character.
+(Luchr, #277)
+
 Can we cache the syntax attributes, so that updates for 'relativenumber' and
 'cursorline'/'cursorcolumn' are a lot faster?
 
@@ -1061,9 +1050,6 @@ Aug 16)
 When there are no command line arguments ":next" and ":argu" give E163, which
 is confusing.  Should say "the argument list is empty".
 
-xterm supports escape sequences to mark a paste operation.  Need to be
-enabled. (Bruno Sutic, 2014 Jul 11)  How to know the terminal supports this?
-
 URXVT:
 - will get stuck if byte sequence does not contain the expected semicolon.
 - Use urxvt mouse support also in xterm.  Explanations:
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1000,6 +1000,7 @@ Various:					*various-functions*
 	perleval()		evaluate Perl expression (|+perl|)
 	py3eval()		evaluate Python expression (|+python3|)
 	pyeval()		evaluate Python expression (|+python|)
+	pyxeval()		evaluate |python_x| expression
 
 ==============================================================================
 *41.7*	Defining a function
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	man
 " Maintainer:	SungHyun Nam <goweol@gmail.com>
-" Last Change: 	2017 Jan 04
+" Last Change: 	2017 Jan 18
 
 " To make the ":Man" command available before editing a manual page, source
 " this script from your startup vimrc file.
@@ -97,7 +97,7 @@ func <SID>GetCmdArg(sect, page)
 endfunc
 
 func <SID>FindPage(sect, page)
-  let where = system("/usr/bin/man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
+  let where = system("man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
   if where !~ "^/"
     if matchstr(where, " [^ ]*$") !~ "^ /"
       return 0
@@ -176,7 +176,7 @@ func <SID>GetPage(...)
     let $MANWIDTH = winwidth(0)
     let unsetwidth = 1
   endif
-  silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b"
+  silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
   if unsetwidth
     let $MANWIDTH = ''
   endif
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -2,7 +2,7 @@
 " Header: "{{{
 " Maintainer:	Bram Moolenaar
 " Original Author: Andy Wokula <anwoku@yahoo.de>
-" Last Change:	2016 Mar 30
+" Last Change:	2017 Jan 17
 " Version:	1.0
 " Description:	HTML indent script with cached state for faster indenting on a
 "		range of lines.
@@ -25,27 +25,22 @@
 if exists("b:did_indent") "{{{
   finish
 endif
+
+" Load the Javascript indent script first, it defines GetJavascriptIndent().
+" Undo the rest.
+" Load base python indent.
+if !exists('*GetJavascriptIndent')
+  runtime! indent/javascript.vim
+endif
 let b:did_indent = 1
 
 setlocal indentexpr=HtmlIndent()
 setlocal indentkeys=o,O,<Return>,<>>,{,},!^F
 
-" "j1" is included to make cindent() work better with Javascript.
-setlocal cino=j1
-" "J1" should be included, but it doen't work properly before 7.4.355.
-if has("patch-7.4.355")
-  setlocal cino+=J1
-endif
-" Before patch 7.4.355 indenting after "(function() {" does not work well, add
-" )2 to limit paren search.
-if !has("patch-7.4.355")
-  setlocal cino+=)2
-endif
-
 " Needed for % to work when finding start/end of a tag.
 setlocal matchpairs+=<:>
 
-let b:undo_indent = "setlocal inde< indk< cino<"
+let b:undo_indent = "setlocal inde< indk<"
 
 " b:hi_indent keeps state to speed up indenting consecutive lines.
 let b:hi_indent = {"lnum": -1}
@@ -596,7 +591,7 @@ func! s:Alien3()
     return eval(b:hi_js1indent)
   endif
   if b:hi_indent.scripttype == "javascript"
-    return cindent(v:lnum)
+    return GetJavascriptIndent()
   else
     return -1
   endif
--- a/runtime/syntax/autohotkey.vim
+++ b/runtime/syntax/autohotkey.vim
@@ -1,8 +1,10 @@
 " Vim syntax file
 " Language:         AutoHotkey script file
-" Maintainer:       SungHyun Nam <goweol@gmail.com>
-" Previous Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2015-10-29
+" Maintainer:       Michael Wong
+"                   https://github.com/mmikeww/autohotkey.vim
+" Latest Revision:  2017-01-23
+" Previous Maintainers:       SungHyun Nam <goweol@gmail.com>
+"                             Nikolai Weibull <now@bitwi.se>
 
 if exists("b:current_syntax")
   finish
@@ -17,68 +19,11 @@ syn keyword autohotkeyTodo
       \ contained
       \ TODO FIXME XXX NOTE
 
-syn cluster autohotkeyCommentGroup
-      \ contains=
-      \   autohotkeyTodo,
-      \   @Spell
-
-syn match   autohotkeyComment
-      \ display
-      \ contains=@autohotkeyCommentGroup
-      \ '`\@<!;.*$'
-
-syn region  autohotkeyComment
-      \ contains=@autohotkeyCommentGroup
-      \ matchgroup=autohotkeyCommentStart
-      \ start='/\*'
-      \ end='\*/'
-
+" only these chars are valid as escape sequences:   ,%`;nrbtvaf
+" https://autohotkey.com/docs/commands/_EscapeChar.htm
 syn match   autohotkeyEscape
       \ display
-      \ '`.'
-
-syn match   autohotkeyHotkey
-      \ contains=autohotkeyKey,
-      \   autohotkeyHotkeyDelimiter
-      \ display
-      \ '^.\{-}::'
-
-syn match   autohotkeyKey
-      \ contained
-      \ display
-      \ '^.\{-}'
-
-syn match   autohotkeyDelimiter
-      \ contained
-      \ display
-      \ '::'
-
-syn match   autohotkeyHotstringDefinition
-      \ contains=autohotkeyHotstring,
-      \   autohotkeyHotstringDelimiter
-      \ display
-      \ '^:\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\)*:.\{-}::'
-
-syn match   autohotkeyHotstring
-      \ contained
-      \ display
-      \ '.\{-}'
-
-syn match   autohotkeyHotstringDelimiter
-      \ contained
-      \ display
-      \ '::'
-
-syn match   autohotkeyHotstringDelimiter
-      \ contains=autohotkeyHotstringOptions
-      \ contained
-      \ display
-      \ ':\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\):'
-
-syn match   autohotkeyHotstringOptions
-      \ contained
-      \ display
-      \ '\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\)'
+      \ '`[,%`;nrbtvaf]'
 
 syn region autohotkeyString
       \ display
@@ -88,39 +33,46 @@ syn region autohotkeyString
       \ end=+"+
       \ contains=autohotkeyEscape
 
-syn region autohotkeyVariable
+syn match autohotkeyVariable
       \ display
       \ oneline
       \ contains=autohotkeyBuiltinVariable
-      \ matchgroup=autohotkeyVariableDelimiter
-      \ start="%"
-      \ end="%"
       \ keepend
+      \ '%\S\{-}%'
 
 syn keyword autohotkeyBuiltinVariable
       \ A_Space A_Tab
-      \ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_LineNumber
-      \ A_LineFile A_AhkVersion A_AhkPAth A_IsCompiled A_ExitReason
-      \ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YWeek A_Hour A_Min
+      \ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_ScriptHwnd A_LineNumber
+      \ A_LineFile A_ThisFunc A_ThisLabel A_AhkVersion A_AhkPath A_IsUnicode A_IsCompiled A_ExitReason
+      \ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YDay A_YWeek A_Hour A_Min
+      \ A_Mon A_Year A_MDay A_NumBatchLines
       \ A_Sec A_MSec A_Now A_NowUTC A_TickCount
-      \ A_IsSuspended A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
-      \ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_STringCaseSense
-      \ A_FormatInteger A_FormatFloat A_KeyDelay A_WinDelay A_ControlDelay
-      \ A_MouseDelay A_DefaultMouseSpeed A_IconHidden A_IconTip A_IconFile
+      \ A_IsSuspended A_IsPaused A_IsCritical A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
+      \ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_StringCaseSense
+      \ A_FileEncoding A_FormatInteger A_FormatFloat A_KeyDelay A_WinDelay A_ControlDelay
+      \ A_SendMode A_SendLevel A_StoreCapsLockMode A_KeyDelay A_KeyDelayDuration
+      \ A_KeyDelayPlay A_KeyDelayPlayDuration A_MouseDelayPlay
+      \ A_MouseDelay A_DefaultMouseSpeed A_RegView A_IconHidden A_IconTip A_IconFile
+      \ A_CoordModeToolTip A_CoordModePixel A_CoordModeMouse A_CoordModeCaret A_CoordModeMenu
       \ A_IconNumber
-      \ A_TimeIdle A_TimeIdlePhysical
+      \ A_TimeIdle A_TimeIdlePhysical A_DefaultGui A_DefaultListView A_DefaultTreeView
       \ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent
       \ A_GuiControlEvent A_EventInfo
       \ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey
-      \ A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
+      \ A_PriorKey A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
       \ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName
+      \ A_Is64BitOS A_PtrSize
       \ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop
       \ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs
       \ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin
-      \ A_ScreenWidth A_ScreenHeight A_IPAddress1 A_IPAddress2 A_IPAddress3
+      \ A_ScreenWidth A_ScreenHeight A_ScreenDPI A_IPAddress1 A_IPAddress2 A_IPAddress3
       \ A_IPAddress4
       \ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError
       \ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField
+      \ A_LoopFileExt A_LoopFileFullPath A_LoopFileLongPath A_LoopFileShortPath
+      \ A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated
+      \ A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB
+      \ A_LoopRegType A_LoopRegKey A_LoopRegSubKey A_LoopRegTimeModified
 
 syn match   autohotkeyBuiltinVariable
       \ contained
@@ -130,7 +82,7 @@ syn match   autohotkeyBuiltinVariable
 syn keyword autohotkeyCommand
       \ ClipWait EnvGet EnvSet EnvUpdate
       \ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir
-      \ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib
+      \ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib FileEncoding
       \ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall
       \ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty
       \ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime
@@ -153,7 +105,7 @@ syn keyword autohotkeyCommand
       \ SoundSetWaveVolume
       \ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
       \ StringLeft StringRight StringLower StringUpper StringMid StringReplace
-      \ StringSplit StringTrimLeft StringTrimRight
+      \ StringSplit StringTrimLeft StringTrimRight StringLen
       \ Control ControlClick ControlFocus ControlGet ControlGetFocus
       \ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
       \ ControlSetText Menu PostMessage SendMessage SetControlDelay
@@ -164,12 +116,16 @@ syn keyword autohotkeyCommand
       \ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize
       \ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet
       \ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose
+      \ SetCapsLockState SetNumLockState SetScrollLockState
 
 syn keyword autohotkeyFunction
       \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr
       \ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage 
       \ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
-      \ FileExist GetKeyState
+      \ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
+      \ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
+      \ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
+      \ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
 
 syn keyword autohotkeyStatement
       \ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
@@ -180,7 +136,9 @@ syn keyword autohotkeyRepeat
 
 syn keyword autohotkeyConditional
       \ IfExist IfNotExist If IfEqual IfLess IfGreater Else
-      \ IfWinExist IfWinNotExist
+      \ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
+      \ IfNotEqual IfLessOrEqual IfGreaterOrEqual
+      \ while until for in
 
 syn match   autohotkeyPreProcStart
       \ nextgroup=
@@ -200,6 +158,7 @@ syn keyword autohotkeyPreProc
       \ HotkeyInterval HotKeyModifierTimeout
       \ Hotstring
       \ IfWinActive IfWinNotActive IfWinExist IfWinNotExist
+      \ If IfTimeout
       \ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey
       \ UseHook InstallKeybdHook InstallMouseHook
       \ KeyHistory
@@ -213,6 +172,10 @@ syn keyword autohotkeyPreProc
       \ MaxMem
       \ NoEnv
       \ Persistent
+      \ LTrim
+      \ InputLevel
+      \ MenuMaskKey
+      \ Warn
 
 syn keyword autohotkeyMatchClass
       \ ahk_group ahk_class ahk_id ahk_pid
@@ -243,11 +206,74 @@ syn match   autohotkeyFloat
 syn keyword autohotkeyType
       \ local
       \ global
+      \ static
+      \ byref
 
 syn keyword autohotkeyBoolean
       \ true
       \ false
 
+syn match   autohotkeyHotkey
+      \ contains=autohotkeyKey,
+      \   autohotkeyHotkeyDelimiter
+      \ display
+      \ '^.\{-}::'
+
+syn match   autohotkeyKey
+      \ contained
+      \ display
+      \ '^.\{-}'
+
+syn match   autohotkeyDelimiter
+      \ contained
+      \ display
+      \ '::'
+
+" allowable hotstring options:
+" https://autohotkey.com/docs/Hotstrings.htm
+syn match   autohotkeyHotstringDefinition
+      \ contains=autohotkeyHotstring,
+      \   autohotkeyHotstringDelimiter
+      \ display
+      \ '^\s*:\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:.\{-}::'
+
+syn match   autohotkeyHotstring
+      \ contained
+      \ display
+      \ '.\{-}'
+
+syn match   autohotkeyHotstringDelimiter
+      \ contained
+      \ display
+      \ '::'
+
+syn match   autohotkeyHotstringDelimiter
+      \ contains=autohotkeyHotstringOptions
+      \ contained
+      \ display
+      \ ':\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:'
+
+syn match   autohotkeyHotstringOptions
+      \ contained
+      \ display
+      \ '\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*'
+
+syn cluster autohotkeyCommentGroup
+      \ contains=
+      \   autohotkeyTodo,
+      \   @Spell
+
+syn match   autohotkeyComment
+      \ display
+      \ contains=@autohotkeyCommentGroup
+      \ '\%(^;\|\s\+;\).*$'
+
+syn region  autohotkeyComment
+      \ contains=@autohotkeyCommentGroup
+      \ matchgroup=autohotkeyCommentStart
+      \ start='^\s*/\*'
+      \ end='^\s*\*/'
+
 " TODO: Shouldn't we look for g:, b:,  variables before defaulting to
 " something?
 if exists("g:autohotkey_syntax_sync_minlines")
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -3,7 +3,7 @@
 " Maintainer:           Jorge Maldonado Ventura <jorgesumle@freakspot.net>
 " Previous Maintainer:  Claudio Fleiner <claudio@fleiner.com>
 " Repository:           https://notabug.org/jorgesumle/vim-html-syntax
-" Last Change:          2017 Jan 04
+" Last Change:          2017 Jan 21
 "                       included patch from Jorge Maldonado Ventura
 
 " Please check :help html.vim for some comments and a description of the options
@@ -55,9 +55,9 @@ syn keyword htmlTagName contained colgro
 syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
 
 " new html 5 tags
-syn keyword htmlTagName contained article aside audio bdi canvas datalist
-syn keyword htmlTagName contained details embed figcaption figure
-syn keyword htmlTagName contained footer header hgroup main mark
+syn keyword htmlTagName contained article aside audio bdi canvas data
+syn keyword htmlTagName contained datalist details embed figcaption figure
+syn keyword htmlTagName contained footer header hgroup keygen main mark
 syn keyword htmlTagName contained menuitem meter nav output picture
 syn keyword htmlTagName contained progress rb rp rt rtc ruby section
 syn keyword htmlTagName contained slot source template time track video wbr
@@ -97,8 +97,17 @@ syn keyword htmlArg contained rules sche
 syn keyword htmlArg contained summary tabindex valuetype version
 
 " html 5 arg names
-syn keyword htmlArg contained contenteditable contextmenu draggable dropzone
-syn keyword htmlArg contained hidden spellcheck title translate
+syn keyword htmlArg contained allowfullscreen async autocomplete autofocus
+syn keyword htmlArg contained autoplay challenge contenteditable contextmenu
+syn keyword htmlArg contained controls crossorigin default dirname download
+syn keyword htmlArg contained draggable dropzone form formaction formenctype
+syn keyword htmlArg contained formmethod formnovalidate formtarget hidden
+syn keyword htmlArg contained high icon inputmode keytype kind list loop low
+syn keyword htmlArg contained max min minlength muted nonce novalidate open
+syn keyword htmlArg contained optimum pattern placeholder poster preload
+syn keyword htmlArg contained radiogroup required reversed sandbox spellcheck
+syn keyword htmlArg contained sizes srcset srcdoc srclang step title translate
+syn keyword htmlArg contained typemustmatch
 
 " special characters
 syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
--- a/runtime/syntax/matlab.vim
+++ b/runtime/syntax/matlab.vim
@@ -1,11 +1,13 @@
 " Vim syntax file
 " Language:	Matlab
-" Maintainer:	Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com
+" Maintainer:	Alex Burka <vim@alexburka.com>
 " Credits:	Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+"		Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com
 "		Original author: Mario Eusebio
-" Last Change:	Wed Jan 13 11:12:34 CET 2010
-" 		sinh added to matlab implicit commands
+" Last Change:	Mon Jan 23 2017
+" 		added support for cell mode
 " Change History:
+" 		- now highlights cell-mode separator comments
 " 		- 'global' and 'persistent' keyword are now recognized
 
 " quit when a syntax file was already loaded
@@ -60,6 +62,7 @@ syn match matlabComment			"%.*$"	contain
 " MT_ADDON - correctly highlights words after '...' as comments
 syn match matlabComment			"\.\.\..*$"	contains=matlabTodo,matlabTab
 syn region matlabMultilineComment	start=+%{+ end=+%}+ contains=matlabTodo,matlabTab
+syn match matlabCellComment     "^%%.*$"
 
 syn keyword matlabOperator		break zeros default margin round ones rand
 syn keyword matlabOperator		ceil floor size clear zeros eye mean std cov
@@ -96,6 +99,7 @@ hi def link matlabOO			Statement
 hi def link matlabSemicolon		SpecialChar
 hi def link matlabComment			Comment
 hi def link matlabMultilineComment		Comment
+hi def link matlabCellComment          Todo
 hi def link matlabScope			Type
 
 hi def link matlabArithmeticOperator	matlabOperator
--- a/runtime/syntax/nasm.vim
+++ b/runtime/syntax/nasm.vim
@@ -1,9 +1,10 @@
 " Vim syntax file
 " Language:	NASM - The Netwide Assembler (v0.98)
-" Maintainer:	Andriy Sokolov	<andriy145@gmail.com>
+" Maintainer:	Andrii Sokolov	<andriy145@gmail.com>
 " Original Author:	Manuel M.H. Stol	<Manuel.Stol@allieddata.nl>
 " Former Maintainer:	Manuel M.H. Stol	<Manuel.Stol@allieddata.nl>
-" Last Change:	2012 Feb 7
+" Contributors: Leonard König <leonard.r.koenig@gmail.com> (C string highlighting)
+" Last Change:	2017 Jan 23
 " NASM Home:	http://www.nasm.us/
 
 
@@ -67,8 +68,23 @@ syn match   nasmLabelError	"\<\~\s*\(\k*
 
 
 " Constants:
-syn match   nasmStringError	+["']+
+syn match   nasmStringError	+["'`]+
+" NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for
+" 8-digit Unicode characters
+syn case match
+" one-char escape-sequences
+syn match   nasmCStringEscape  display contained "\\[’"‘\\\?abtnvfre]"
+" hex and octal numbers
+syn match   nasmCStringEscape  display contained "\\\(x\x\{2}\|\o\{1,3}\)"
+" Unicode characters
+syn match   nasmCStringEscape	display contained "\\\(u\x\{4}\|U\x\{8}\)"
+" ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim)
+syn match   nasmCStringFormat	display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
+syn match   nasmCStringFormat	display "%%" contained
 syn match   nasmString		+\("[^"]\{-}"\|'[^']\{-}'\)+
+" Highlight C escape- and format-sequences within ``-strings
+syn match   nasmCString	+\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend
+syn case ignore
 syn match   nasmBinNumber	"\<[0-1]\+b\>"
 syn match   nasmBinNumber	"\<\~[0-1]\+b\>"lc=1
 syn match   nasmOctNumber	"\<\o\+q\>"
@@ -443,7 +459,10 @@ hi def link nasmInCommentTodo	Todo
 
 " Constant Group:
 hi def link nasmString		String
+hi def link nasmCString	String
 hi def link nasmStringError	Error
+hi def link nasmCStringEscape	SpecialChar
+hi def link nasmCStringFormat	SpecialChar
 hi def link nasmBinNumber		Number
 hi def link nasmOctNumber		Number
 hi def link nasmDecNumber		Number
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,8 +2,8 @@
 " Language:		shell (sh) Korn shell (ksh) bash (sh)
 " Maintainer:		Charles E. Campbell  <NdrOchipS@PcampbellAfamily.Mbiz>
 " Previous Maintainer:	Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:		Sep 22, 2016
-" Version:		165
+" Last Change:		Jan 03, 2017
+" Version:		167
 " URL:		http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
 " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
@@ -305,7 +305,7 @@ if exists("b:is_bash")
  syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
  syn cluster shCaseList add=bashAdminStatement,bashStatement
  syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID
- syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail 
+ syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail
  syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop
  syn keyword bashStatement	command compgen
 endif
@@ -376,8 +376,8 @@ ShFoldHereDoc syn region shHereDoc match
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)"		matchgroup=shHereDoc07 end="^\z1\s*$"           contains=@shDblQuoteList
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'"	matchgroup=shHereDoc08 end="^\z1\s*$"
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t|>]\+\)\""	matchgroup=shHereDoc09 end="^\z1\s*$"
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)"	matchgroup=shHereDoc10 end="^\s*\z1\s*$"	
-ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)"	matchgroup=shHereDoc11 end="^\s*\z1\s*$"	
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)"	matchgroup=shHereDoc10 end="^\s*\z1\s*$"
+ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)"	matchgroup=shHereDoc11 end="^\s*\z1\s*$"
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^ \t|>]\+\)'"	matchgroup=shHereDoc12 end="^\s*\z1\s*$"
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^ \t|>]\+\)\""	matchgroup=shHereDoc13 end="^\s*\z1\s*$"
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t|>]\+\)"		matchgroup=shHereDoc14 end="^\z1\s*$"
@@ -386,7 +386,7 @@ ShFoldHereDoc syn region shHereDoc match
 " Here Strings: {{{1
 " =============
 " available for: bash; ksh (really should be ksh93 only) but not if its a posix
-if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("g:is_posix"))
+if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_posix"))
  syn match shHereString "<<<"	skipwhite	nextgroup=shCmdParenRegion
 endif
 
@@ -407,7 +407,7 @@ else
 endif
 
 " Functions: {{{1
-if !exists("g:is_posix")
+if !exists("b:is_posix")
  syn keyword shFunctionKey function	skipwhite skipnl nextgroup=shFunctionTwo
 endif
 
@@ -533,7 +533,7 @@ endif
 " ====================
 if exists("b:is_kornshell") || exists("b:is_bash")
  syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence
- if exists("g:is_posix")
+ if exists("b:is_posix")
   syn keyword shStatement command
  else
   syn keyword shStatement time
@@ -542,7 +542,7 @@ if exists("b:is_kornshell") || exists("b
 " Useful bash Keywords: {{{1
 " =====================
  if exists("b:is_bash")
-  syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source
+  syn keyword shStatement bind builtin dirs disown enable help logout popd pushd shopt source
  else
   syn keyword shStatement login newgrp
  endif
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	TeX
 " Maintainer:	Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change:	Sep 20, 2016
-" Version:	101
+" Last Change:	Dec 07, 2016
+" Version:	102
 " URL:		http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
 "
 " Notes: {{{1
@@ -494,13 +494,11 @@ if !exists("g:tex_no_math")
      \ ['\\backslash'  , '\'] ,
      \ ['\\downarrow'  , '↓'] ,
      \ ['\\Downarrow'  , '⇓'] ,
-     \ ['\\langle'     , '<'] ,
      \ ['\\lbrace'     , '['] ,
      \ ['\\lceil'      , '⌈'] ,
      \ ['\\lfloor'     , '⌊'] ,
      \ ['\\lgroup'     , '⌊'] ,
      \ ['\\lmoustache' , '⎛'] ,
-     \ ['\\rangle'     , '>'] ,
      \ ['\\rbrace'     , ']'] ,
      \ ['\\rceil'      , '⌉'] ,
      \ ['\\rfloor'     , '⌋'] ,
@@ -510,6 +508,15 @@ if !exists("g:tex_no_math")
      \ ['\\Uparrow'    , '↑'] ,
      \ ['\\updownarrow', '↕'] ,
      \ ['\\Updownarrow', '⇕']]
+  if &ambw == "double" || exists("g:tex_usedblwidth")
+    let s:texMathDelimList= s:texMathDelimList + [
+     \ ['\\langle'     , '〈'] ,
+     \ ['\\rangle'     , '〉'] ,
+  else
+    let s:texMathDelimList= s:texMathDelimList + [
+     \ ['\\langle'     , '<'] ,
+     \ ['\\rangle'     , '>']]
+  endif
   syn match texMathDelim	'\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad
   for texmath in s:texMathDelimList
    exe "syn match texMathDelim	'\\\\[bB]igg\\=[lr]\\=".texmath[0]."'	contained conceal cchar=".texmath[1]
@@ -680,6 +687,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['backslash'	, '∖'],
     \ ['barwedge'	, '⊼'],
     \ ['because'	, '∵'],
+    \ ['beth'           , 'ܒ'],
     \ ['between'	, '≬'],
     \ ['bigcap'		, '∩'],
     \ ['bigcirc'	, '○'],
@@ -699,6 +707,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['boxminus'	, '⊟'],
     \ ['boxplus'	, '⊞'],
     \ ['boxtimes'	, '⊠'],
+    \ ['Box'            , '☐'],
     \ ['bullet'	        , '•'],
     \ ['bumpeq'		, '≏'],
     \ ['Bumpeq'		, '≎'],
@@ -748,6 +757,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['eqslantgtr'	, '⪖'],
     \ ['eqslantless'	, '⪕'],
     \ ['equiv'		, '≡'],
+    \ ['eth'            , 'ð'],
     \ ['exists'		, '∃'],
     \ ['fallingdotseq'	, '≒'],
     \ ['flat'		, '♭'],
@@ -757,6 +767,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['geq'		, '≥'],
     \ ['geqq'		, '≧'],
     \ ['gets'		, '←'],
+    \ ['gimel'          , 'ℷ'],
     \ ['gg'		, '⟫'],
     \ ['gneqq'		, '≩'],
     \ ['gtrdot'		, '⋗'],
@@ -767,13 +778,17 @@ if has("conceal") && &enc == 'utf-8'
     \ ['heartsuit'	, '♡'],
     \ ['hookleftarrow'	, '↩'],
     \ ['hookrightarrow'	, '↪'],
+    \ ['iff'            , '⇔'],
     \ ['iiint'		, '∭'],
     \ ['iint'		, '∬'],
     \ ['Im'		, 'ℑ'],
     \ ['imath'		, 'ɩ'],
+    \ ['implies'	, '⇒'],
     \ ['in'		, '∈'],
     \ ['infty'		, '∞'],
     \ ['int'		, '∫'],
+    \ ['jmath'		, '𝚥'],
+    \ ['land'		, '∧'],
     \ ['lceil'		, '⌈'],
     \ ['ldots'		, '…'],
     \ ['le'		, '≤'],
@@ -800,6 +815,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['ll'		, '≪'],
     \ ['lmoustache'     , '╭'],
     \ ['lneqq'		, '≨'],
+    \ ['lor'		, '∨'],
     \ ['ltimes'		, '⋉'],
     \ ['mapsto'		, '↦'],
     \ ['measuredangle'	, '∡'],
@@ -826,6 +842,7 @@ if has("conceal") && &enc == 'utf-8'
     \ ['nless'		, '≮'],
     \ ['nmid'		, '∤'],
     \ ['notin'		, '∉'],
+    \ ['nparallel'      , '∦'],
     \ ['nprec'		, '⊀'],
     \ ['nrightarrow'	, '↛'],
     \ ['nRightarrow'	, '⇏'],
@@ -927,10 +944,12 @@ if has("conceal") && &enc == 'utf-8'
     \ ['trianglerighteq', '⊵'],
     \ ['twoheadleftarrow', '↞'],
     \ ['twoheadrightarrow', '↠'],
+    \ ['ulcorner'       , '⌜'],
     \ ['uparrow'	, '↑'],
     \ ['Uparrow'	, '⇑'],
     \ ['updownarrow'	, '↕'],
     \ ['Updownarrow'	, '⇕'],
+    \ ['urcorner'       , '⌝'],
     \ ['varnothing'	, '∅'],
     \ ['vartriangle'	, '∆'],
     \ ['vdash'		, '⊢'],
@@ -946,6 +965,15 @@ if has("conceal") && &enc == 'utf-8'
 "    \ ['jmath'		, 'X']
 "    \ ['uminus'	, 'X']
 "    \ ['uplus'		, 'X']
+  if &ambw == "double" || exists("g:tex_usedblwidth")
+    let s:texMathList= s:texMathList + [
+    \ ['right\\rangle'	, '〉'],
+    \ ['left\\langle'	, '〈']]
+  else
+    let s:texMathList= s:texMathList + [
+    \ ['right\\rangle'	, '>'],
+    \ ['left\\langle'	, '<']]
+  endif
   for texmath in s:texMathList
    if texmath[0] =~# '\w$'
     exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1]
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 8.0 script
 " Maintainer:	Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	September 29, 2016
-" Version:	8.0-01
+" Last Change:	Jan 19, 2017
+" Version:	8.0-02
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -164,6 +164,7 @@ endif
 syn match vimNumber	"\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
 syn match vimNumber	"-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\="  skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
 syn match vimNumber	"\<0[xX]\x\+"
+syn match vimNumber	"\<0[bB][01]\+"
 syn match vimNumber	"\%(^\|[^a-zA-Z]\)\zs#\x\{6}"
 
 " All vimCommands are contained by vimIsCommands. {{{2
@@ -225,7 +226,7 @@ endif
 " Functions : Tag is provided for those who wish to highlight tagged functions {{{2
 " =========
 syn cluster	vimFuncList	contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
-syn cluster	vimFuncBodyList	contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
+syn cluster	vimFuncBodyList	contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
 syn match	vimFunction	"\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*("	contains=@vimFuncList nextgroup=vimFuncBody
 
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
--- a/src/po/zh_CN.UTF-8.po
+++ b/src/po/zh_CN.UTF-8.po
@@ -2894,7 +2894,8 @@ msgstr "-X\t\t\t不连接到 X Server"
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
 msgstr "--remote <files>\t如有可能,在 Vim 服务器上编辑文件 <files>"
 
-msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgid ""
+"--remote-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-silent <files>  同上,找不到服务器时不抱怨"
 
 msgid ""
--- a/src/po/zh_CN.cp936.po
+++ b/src/po/zh_CN.cp936.po
@@ -241,9 +241,8 @@ msgstr " ļȫ (^F^N^P)"
 msgid " Tag completion (^]^N^P)"
 msgstr " Tag ȫ (^]^N^P)"
 
-#, fuzzy
-#~ msgid " Path pattern completion (^N^P)"
-#~ msgstr " ·ģʽȫ (^N^P)"
+msgid " Path pattern completion (^N^P)"
+msgstr " ͷļģʽȫ (^N^P)"
 
 msgid " Definition completion (^D^N^P)"
 msgstr " 岹ȫ (^D^N^P)"
@@ -2896,7 +2895,7 @@ msgid "--remote <files>\tEdit <files> in
 msgstr "--remote <files>\tпܣ Vim ϱ༭ļ <files>"
 
 msgid "--remote-silent <files>  Same, don't complain if there is no server"
-msgstr "--remote-silent <files>  ͬϣҲʱԹ"
+msgstr "--remote-silent <files>  ͬϣҲʱԹ"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
@@ -5284,7 +5283,7 @@ msgstr "Vim: ˳...\n"
 
 #. must display the prompt
 msgid "No undo possible; continue anyway"
-msgstr "޷"
+msgstr "޷Ȼ"
 
 msgid "Already at oldest change"
 msgstr "λɵĸı"
@@ -5601,13 +5600,13 @@ msgid "type  :help cp-default<Enter> for
 msgstr "  :help cp-default<Enter> 鿴˵    "
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "˵  Help->Orphans           鿴˵           "
+msgstr "˵  ->¶           鿴˵           "
 
 msgid "Running modeless, typed text is inserted"
 msgstr "ģʽУּ"
 
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr "˵  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "˵  ༭->ȫ趨->/زģʽ  "
 
 #, fuzzy
 #~ msgid "                              for two modes      "