changeset 6951:b2673982c625

Updated and new runtime files.
author Bram Moolenaar <bram@vim.org>
date Tue, 21 Jul 2015 19:19:13 +0200
parents 21cbf1529a71
children 98d1d53edc66
files runtime/doc/autocmd.txt runtime/doc/cmdline.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/quickref.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/windows.txt runtime/filetype.vim runtime/indent/teraterm.vim runtime/optwin.vim runtime/syntax/python.vim runtime/syntax/teraterm.vim runtime/syntax/vb.vim runtime/syntax/vim.vim
diffstat 16 files changed, 328 insertions(+), 104 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.4.  Last change: 2015 Jul 10
+*autocmd.txt*   For Vim version 7.4.  Last change: 2015 Jul 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -758,13 +758,15 @@ OptionSet			After setting an option.  Th
 				Is not triggered on startup and for the 'key'
 				option for obvious reasons.
 
-				Note: It's a bad idea, to reset an option
-				during this autocommand, since this will
-				probably break plugins. You can always use
-				|noa| to prevent triggering this autocommand.
-				Could be used, to check for existence of the
-				'backupdir' and 'undodir' options and create
-				directories, if they don't exist yet.
+				Usage example: Check for the existence of the
+				directory in the 'backupdir' and 'undodir'
+				options, create the directory if it doesn't
+				exist yet.
+
+				Note: It's a bad idea to reset an option
+				during this autocommand, this may break a
+				plugin. You can always use `:noa` to prevent
+				triggering this autocommand.
 
 							*QuickFixCmdPre*
 QuickFixCmdPre			Before a quickfix command is run (|:make|,
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.4.  Last change: 2014 Sep 06
+*cmdline.txt*   For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -597,6 +597,7 @@ starts editing the three files "foo bar"
 When you want to use the special characters '"' or '|' in a command, or want
 to use '%' or '#' in a file name, precede them with a backslash.  The
 backslash is not required in a range and in the ":substitute" command.
+See also |`=|.
 
 							*:_!*
 The '!' (bang) character after an Ex command makes the command behave in a
@@ -750,7 +751,7 @@ example, "%" stands for the current file
 current file name right away.  See |c_CTRL-R|.
 
 Note: If you want to avoid the special characters in a Vim script you may want
-to use |fnameescape()|.
+to use |fnameescape()|.  Also see |`=|.
 
 
 In Ex commands, at places where a file name can be used, the following
@@ -790,7 +791,7 @@ it, no matter how many backslashes.
 	   #			alternate.file
 	   \#			#
 	   \\#			\#
-
+Also see |`=|.
 			       *:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
 			       *:<sfile>* *<sfile>* *:<afile>* *<afile>*
 			       *:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
@@ -946,6 +947,7 @@ Examples: (alternate file name is "?read
 	:e #.*		:e {files matching "?readme?.*"}
 	:cd <cfile>	:cd {file name under cursor}
 	:cd <cfile>*	:cd {file name under cursor plus "*" and then expanded}
+Also see |`=|.
 
 When the expanded argument contains a "!" and it is used for a shell command
 (":!cmd", ":r !cmd" or ":w !cmd"), the "!" is escaped with a backslash to
@@ -971,6 +973,7 @@ for the file "$home" in the root directo
 	\$home		file "$home" in current directory
 	/\$home		file "$home" in root directory
 	\\$home		file "\\", followed by expanded $home
+Also see |`=|.
 
 ==============================================================================
 7. Command-line window				*cmdline-window* *cmdwin*
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.4.  Last change: 2015 Feb 27
+*editing.txt*   For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -431,6 +431,8 @@ does apply like to other wildcards.
 If the expression returns a string then names are to be separated with line
 breaks.  When the result is a |List| then each item is used as a name.  Line
 breaks also separate names.
+Note that such expressions are only supported in places where a filename is
+expected as an argument to an Ex-command.
 
 							*++opt* *[++opt]*
 The [++opt] argument can be used to force the value of 'fileformat',
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Jul 10
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4405,7 +4405,7 @@ match({expr}, {pat}[, {start}[, {count}]
 		done like 'magic' is set and 'cpoptions' is empty.
 
 					*matchadd()* *E798* *E799* *E801*
-matchadd({group}, {pattern}[, {priority}[, {id}]])
+matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
 		Defines a pattern to be highlighted in the current window (a
 		"match").  It will be highlighted with {group}.  Returns an
 		identification number (ID), which can be used to delete the
@@ -4413,6 +4413,8 @@ matchadd({group}, {pattern}[, {priority}
 		Matching is case sensitive and magic, unless case sensitivity
 		or magicness are explicitly overridden in {pattern}.  The
 		'magic', 'smartcase' and 'ignorecase' options are not used.
+		The "Conceal" value is special, it causes the match to be
+		concealed.
 
 		The optional {priority} argument assigns a priority to the
 		match.	A match with a high priority will have its
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.4.  Last change: 2014 Nov 19
+*quickref.txt*  For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -620,6 +620,7 @@ Short explanation of each option:		*opti
 'balloondelay'	  'bdlay'   delay in mS before a balloon may pop up
 'ballooneval'	  'beval'   switch on balloon evaluation
 'balloonexpr'	  'bexpr'   expression to show in balloon
+'belloff'	  'bo'	    do not ring the bell for these reasons
 'binary'	  'bin'     read/write/edit file in binary mode
 'bioskey'	  'biosk'   MS-DOS: use bios calls for input characters
 'bomb'			    prepend a Byte Order Mark to the file
@@ -696,6 +697,7 @@ Short explanation of each option:		*opti
 'fileignorecase'  'fic'     ignore case when using file names
 'filetype'	  'ft'	    type of file, used for autocommands
 'fillchars'	  'fcs'     characters to use for displaying special items
+'fixendofline'	  'fixeol'  make sure last line in file has <EOL>
 'fkmap'		  'fk'	    Farsi keyboard mapping
 'foldclose'	  'fcl'     close a fold when the cursor leaves it
 'foldcolumn'	  'fdc'     width of the column used to indicate folds
@@ -710,10 +712,10 @@ Short explanation of each option:		*opti
 'foldnestmax'	  'fdn'     maximum fold depth
 'foldopen'	  'fdo'     for which commands a fold will be opened
 'foldtext'	  'fdt'     expression used to display for a closed fold
+'formatexpr'	  'fex'     expression used with "gq" command
 'formatlistpat'   'flp'     pattern used to recognize a list header
 'formatoptions'   'fo'	    how automatic formatting is to be done
 'formatprg'	  'fp'	    name of external program used with "gq" command
-'formatexpr'	  'fex'     expression used with "gq" command
 'fsync'		  'fs'	    whether to invoke fsync() after file write
 'gdefault'	  'gd'	    the ":substitute" flag 'g' is default on
 'grepformat'	  'gfm'     format of 'grepprg' output
@@ -732,15 +734,15 @@ Short explanation of each option:		*opti
 'helplang'	  'hlg'     preferred help languages
 'hidden'	  'hid'     don't unload buffer when it is |abandon|ed
 'highlight'	  'hl'	    sets highlighting mode for various occasions
-'hlsearch'	  'hls'     highlight matches with last search pattern
 'history'	  'hi'	    number of command-lines that are remembered
 'hkmap'		  'hk'	    Hebrew keyboard mapping
 'hkmapp'	  'hkp'     phonetic Hebrew keyboard mapping
+'hlsearch'	  'hls'     highlight matches with last search pattern
 'icon'			    let Vim set the text of the window icon
 'iconstring'		    string to use for the Vim icon text
 'ignorecase'	  'ic'	    ignore case in search patterns
+'imactivatefunc'  'imaf'    function to enable/disable the X input method
 'imactivatekey'   'imak'    key that activates the X input method
-'imactivatefunc'  'imaf'    function to enable/disable the X input method
 'imcmdline'	  'imc'     use IM when starting to edit a command line
 'imdisable'	  'imd'     do not use the IM in any mode
 'iminsert'	  'imi'     use :lmap or IM in Insert mode
@@ -893,9 +895,9 @@ Short explanation of each option:		*opti
 'switchbuf'	  'swb'     sets behavior when switching to another buffer
 'synmaxcol'	  'smc'     maximum column to find syntax items
 'syntax'	  'syn'     syntax to be loaded for current buffer
-'tabstop'	  'ts'	    number of spaces that <Tab> in file uses
 'tabline'	  'tal'     custom format for the console tab pages line
 'tabpagemax'	  'tpm'     maximum number of tab pages for |-p| and "tab all"
+'tabstop'	  'ts'	    number of spaces that <Tab> in file uses
 'tagbsearch'	  'tbs'     use binary searching in tags files
 'taglength'	  'tl'	    number of significant characters for a tag
 'tagrelative'	  'tr'	    file names in tag file are relative
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2015 Mar 29
+*syntax.txt*	For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3699,6 +3699,7 @@ Whether or not it is actually concealed 
 'conceallevel' option.  The 'concealcursor' option is used to decide whether
 concealable items in the current line are displayed unconcealed to be able to
 edit the line.
+Another way to conceal text with with |matchadd()|.
 
 concealends						*:syn-concealends*
 
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -76,6 +76,7 @@
 'bdir'	options.txt	/*'bdir'*
 'bdlay'	options.txt	/*'bdlay'*
 'beautify'	vi_diff.txt	/*'beautify'*
+'belloff'	options.txt	/*'belloff'*
 'beval'	options.txt	/*'beval'*
 'bex'	options.txt	/*'bex'*
 'bexpr'	options.txt	/*'bexpr'*
@@ -89,6 +90,7 @@
 'bk'	options.txt	/*'bk'*
 'bkc'	options.txt	/*'bkc'*
 'bl'	options.txt	/*'bl'*
+'bo'	options.txt	/*'bo'*
 'bomb'	options.txt	/*'bomb'*
 'breakat'	options.txt	/*'breakat'*
 'breakindent'	options.txt	/*'breakindent'*
@@ -246,6 +248,8 @@
 'fileignorecase'	options.txt	/*'fileignorecase'*
 'filetype'	options.txt	/*'filetype'*
 'fillchars'	options.txt	/*'fillchars'*
+'fixendofline'	options.txt	/*'fixendofline'*
+'fixeol'	options.txt	/*'fixeol'*
 'fk'	options.txt	/*'fk'*
 'fkmap'	options.txt	/*'fkmap'*
 'fl'	vi_diff.txt	/*'fl'*
@@ -540,6 +544,8 @@
 'nofen'	options.txt	/*'nofen'*
 'nofic'	options.txt	/*'nofic'*
 'nofileignorecase'	options.txt	/*'nofileignorecase'*
+'nofixendofline'	options.txt	/*'nofixendofline'*
+'nofixeol'	options.txt	/*'nofixeol'*
 'nofk'	options.txt	/*'nofk'*
 'nofkmap'	options.txt	/*'nofkmap'*
 'nofoldenable'	options.txt	/*'nofoldenable'*
@@ -4474,6 +4480,7 @@ OffTheSpot	mbyte.txt	/*OffTheSpot*
 OnTheSpot	mbyte.txt	/*OnTheSpot*
 Operator-pending	intro.txt	/*Operator-pending*
 Operator-pending-mode	intro.txt	/*Operator-pending-mode*
+OptionSet	autocmd.txt	/*OptionSet*
 OverTheSpot	mbyte.txt	/*OverTheSpot*
 P	change.txt	/*P*
 PATHEXT	eval.txt	/*PATHEXT*
@@ -8521,6 +8528,9 @@ v:mouse_lnum	eval.txt	/*v:mouse_lnum*
 v:mouse_win	eval.txt	/*v:mouse_win*
 v:oldfiles	eval.txt	/*v:oldfiles*
 v:operator	eval.txt	/*v:operator*
+v:option_new	eval.txt	/*v:option_new*
+v:option_old	eval.txt	/*v:option_old*
+v:option_type	eval.txt	/*v:option_type*
 v:prevcount	eval.txt	/*v:prevcount*
 v:profiling	eval.txt	/*v:profiling*
 v:progname	eval.txt	/*v:progname*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Jul 10
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -73,11 +73,6 @@ Regexp problems:
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
-Better .ico file for Windows. (Pat Suwalski, 2015 Feb 13)
-Waiting for response on remark from Edward Fox.
-
-Add Tera Term language plugins. (Ken Takata, 2015 Jul 3)
-
 RXVT sends a different background color response. (Higashi, 2015 Jul 5)
 
 More tests for :diffoff. Olaf Dabrunz, (2015 Jul 4)
@@ -118,38 +113,20 @@ wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
 Can't recognize the $ProgramFiles(x86) environment variable.  Recognize it
 specifically?  First try with the parens, then without.
 
-Patch for multi-byte characters in langmap and applying a mapping on them.
-(Christian Brabandt, 2015 Jun 12)
-Is this the right solution?
-
-Patch to add grepfile(). (Scott Prager, 2015 May 26)
-Work in progress.
-
-Patch to make getregtype() return the right size for non-linux systems.
-(Yasuhiro Matsumoto, 2014 Jul 8)
-Breaks test_eval.  Inefficient, can we only compute y_width when needed?
-
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
 Better greek spell checking.  Issue 299.
 
-Add 'fixeol' option, default on, so that people who have problems with fixing
-the missing EOL can switch it off?
-
 When complete() first argument is before where insert started and 'backspace'
 is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
 
-Patch to fix equivalence classes in regexp. (Dominique Pelle, 2015 Jun 2)
-
 Test 44 fails when [[=A=]] is changed to [[=À=]].  Caused by getcmdline() not
 handling the 0x80 as a second byte correctly?  (Dominique Pelle, 2015 Jun 10)
 
 Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
 Goes away when disabling the swap file. (might1, Feb 16)
 
-Patch to add an OptionSet autocommand event. (Christian Brabandt, 2015 Jun 25)
-
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
@@ -162,6 +139,20 @@ Build with Python on Mac does not always
 ml_updatechunk() is slow when retrying for another encoding. (John Little,
 2014 Sep 11)
 
+When 'showbreak' is set repeating a Visual operation counts the size of the
+'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
+
+Patch for multi-byte characters in langmap and applying a mapping on them.
+(Christian Brabandt, 2015 Jun 12)
+Is this the right solution?
+
+Patch to add grepfile(). (Scott Prager, 2015 May 26)
+Work in progress.
+
+Patch to make getregtype() return the right size for non-linux systems.
+(Yasuhiro Matsumoto, 2014 Jul 8)
+Breaks test_eval.  Inefficient, can we only compute y_width when needed?
+
 Patch to use different terminal mode settings for system(). (Hayaki Saito)
 Does this work for everybody?
 
@@ -177,26 +168,11 @@ initial empty buffer better. (ZyX, 2015 
 
 Extended file attributes lost on write (backupcopy=no).  Issue 306.
 
-Patch to add an argument to ":ls" for specific kinds of buffers.
-(Marcin Szamotulski, 2015 Jan 31)
-
-Crash when using R syntax. (Jakson Alves de Aquino, 2015 Jan 30)
-Memory freed by ":syn clear" but still referenced, syntax items referenced
-from two windows?  Stopped happening (Feb 5).
-
-Patch for an extra argument to matchadd() for conceal. (Christian Brabandt,
-2015 Feb 17, update Feb 19)
-
 Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
 OK to not block marks?
 
 Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
 
-Patch on issue 79: use 'path' option for filename completion.
-
-Patch to add 'belloff' option. (Christian Brabandt, 2015 Jan 31)
-Update Feb 6.
-
 Patch for drag&drop reordering of GUI tab pages reordering.
 (Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
 
@@ -303,8 +279,6 @@ arguments.
 
 Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
 
-PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
-
 Spell files use a latin single quote. Unicode also has another single quote:
 0x2019.  (Ron Aaron, 2014 Apr 4)
 New OpenOffice spell files support this with ICONV.  But they are not
@@ -4074,8 +4048,6 @@ 7   Add autocommand event for when a buf
 8   Autocommand for when modified files have been found, when getting input
     focus again (e.g., FileChangedFocus).
     Check when: getting focus, jumping to another buffer, ...
-7   Autocommand for when an option is changed.  Match buffer name or option
-    name?
 8   Autocommands should not change registers.  And marks?  And the jumplist?
     And anything else?  Add a command to save and restore these things.
 8   Add autocommands, user functions and user commands to ":mkvimrc".
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.4.  Last change: 2015 Jan 31
+*windows.txt*   For Vim version 7.4.  Last change: 2015 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -2169,6 +2169,9 @@ au BufNewFile,BufRead *.tli			setf tli
 " Telix Salt
 au BufNewFile,BufRead *.slt			setf tsalt
 
+" Tera Term Language
+au BufRead,BufNewFile *.ttl			setf teraterm
+
 " Terminfo
 au BufNewFile,BufRead *.ti			setf terminfo
 
new file mode 100644
--- /dev/null
+++ b/runtime/indent/teraterm.vim
@@ -0,0 +1,67 @@
+" Vim indent file
+" Language:	Tera Term Language (TTL)
+"		Based on Tera Term Version 4.86
+" Maintainer:	Ken Takata
+" URL:		https://github.com/k-takata/vim-teraterm
+" Last Change:	2015 Jun 4
+" Filenames:	*.ttl
+" License:	VIM License
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal nosmartindent
+setlocal noautoindent
+setlocal indentexpr=GetTeraTermIndent(v:lnum)
+setlocal indentkeys=!^F,o,O,e
+setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile
+
+if exists("*GetTeraTermIndent")
+  finish
+endif
+
+" The shiftwidth() function is relatively new.
+" Don't require it to exist.
+if exists('*shiftwidth')
+  function s:sw() abort
+    return shiftwidth()
+  endfunction
+else
+  function s:sw() abort
+    return &shiftwidth
+  endfunction
+endif
+
+function! GetTeraTermIndent(lnum)
+  let l:prevlnum = prevnonblank(a:lnum-1)
+  if l:prevlnum == 0
+    " top of file
+    return 0
+  endif
+
+  " grab the previous and current line, stripping comments.
+  let l:prevl = substitute(getline(l:prevlnum), ';.*$', '', '')
+  let l:thisl = substitute(getline(a:lnum), ';.*$', '', '')
+  let l:previ = indent(l:prevlnum)
+
+  let l:ind = l:previ
+
+  if l:prevl =~ '^\s*if\>.*\<then\s*$'
+    " previous line opened a block
+    let l:ind += s:sw()
+  endif
+  if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
+    " previous line opened a block
+    let l:ind += s:sw()
+  endif
+  if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
+    " this line closed a block
+    let l:ind -= s:sw()
+  endif
+
+  return l:ind
+endfunction
+
+" vim: ts=8 sw=2 sts=2
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
 " These commands create the option window.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2014 Nov 19
+" Last Change:	2015 Jul 21
 
 " If there already is an option window, jump to that one.
 if bufwinnr("option-window") > 0
@@ -705,6 +705,8 @@ call append("$", "errorbells\tring the b
 call <SID>BinOptionG("eb", &eb)
 call append("$", "visualbell\tuse a visual bell instead of beeping")
 call <SID>BinOptionG("vb", &vb)
+call append("$", "belloff\tdo not ring the bell for these reasons")
+call <SID>OptionG("beolloff", &beolloff)
 if has("multi_lang")
   call append("$", "helplang\tlist of preferred languages for finding help")
   call <SID>OptionG("hlg", &hlg)
@@ -954,7 +956,7 @@ call <SID>BinOptionL("bin")
 call append("$", "endofline\tlast line in the file has an end-of-line")
 call append("$", "\t(local to buffer)")
 call <SID>BinOptionL("eol")
-call append("$", "fixeol\tfixes missing end-of-line at end of text file")
+call append("$", "fixendofline\tfixes missing end-of-line at end of text file")
 call append("$", "\t(local to buffer)")
 call <SID>BinOptionL("fixeol")
 if has("multi_byte")
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Python
 " Maintainer:	Zvezdan Petkovic <zpetkovic@acm.org>
-" Last Change:	2015 Jun 19
+" Last Change:	2015 Jul 14
 " Credits:	Neil Schemenauer <nas@python.ca>
 "		Dmitry Vasiliev
 "
@@ -51,24 +51,25 @@ set cpo&vim
 
 " Keep Python keywords in alphabetical order inside groups for easy
 " comparison with the table in the 'Python Language Reference'
-" http://docs.python.org/reference/lexical_analysis.html#keywords.
+" https://docs.python.org/2/reference/lexical_analysis.html#keywords,
+" https://docs.python.org/3/reference/lexical_analysis.html#keywords.
 " Groups are in the order presented in NAMING CONVENTIONS in syntax.txt.
 " Exceptions come last at the end of each group (class and def below).
 "
 " Keywords 'with' and 'as' are new in Python 2.6
 " (use 'from __future__ import with_statement' in Python 2.5).
 "
-" Some compromises had to be made to support both Python 3.0 and 2.6.
-" We include Python 3.0 features, but when a definition is duplicated,
+" Some compromises had to be made to support both Python 3 and 2.
+" We include Python 3 features, but when a definition is duplicated,
 " the last definition takes precedence.
 "
-" - 'False', 'None', and 'True' are keywords in Python 3.0 but they are
-"   built-ins in 2.6 and will be highlighted as built-ins below.
-" - 'exec' is a built-in in Python 3.0 and will be highlighted as
+" - 'False', 'None', and 'True' are keywords in Python 3 but they are
+"   built-ins in 2 and will be highlighted as built-ins below.
+" - 'exec' is a built-in in Python 3 and will be highlighted as
 "   built-in below.
-" - 'nonlocal' is a keyword in Python 3.0 and will be highlighted.
-" - 'print' is a built-in in Python 3.0 and will be highlighted as
-"   built-in below (use 'from __future__ import print_function' in 2.6)
+" - 'nonlocal' is a keyword in Python 3 and will be highlighted.
+" - 'print' is a built-in in Python 3 and will be highlighted as
+"   built-in below (use 'from __future__ import print_function' in 2)
 "
 syn keyword pythonStatement	False, None, True
 syn keyword pythonStatement	as assert break continue del exec global
@@ -147,7 +148,8 @@ endif
 " - 08e0 or 08j are highlighted,
 "
 " and so on, as specified in the 'Python Language Reference'.
-" http://docs.python.org/reference/lexical_analysis.html#numeric-literals
+" https://docs.python.org/2/reference/lexical_analysis.html#numeric-literals
+" https://docs.python.org/3/reference/lexical_analysis.html#numeric-literals
 if !exists("python_no_number_highlight")
   " numbers (including longs and complex)
   syn match   pythonNumber	"\<0[oO]\=\o\+[Ll]\=\>"
@@ -159,54 +161,58 @@ if !exists("python_no_number_highlight")
   syn match   pythonNumber
 	\ "\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@="
   syn match   pythonNumber
-	\ "\%(^\|\W\)\@<=\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
+	\ "\%(^\|\W\)\zs\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
 endif
 
 " Group the built-ins in the order in the 'Python Library Reference' for
 " easier comparison.
-" http://docs.python.org/library/constants.html
-" http://docs.python.org/library/functions.html
-" http://docs.python.org/library/functions.html#non-essential-built-in-functions
+" https://docs.python.org/2/library/constants.html
+" https://docs.python.org/3/library/constants.html
+" http://docs.python.org/2/library/functions.html
+" http://docs.python.org/3/library/functions.html
+" http://docs.python.org/2/library/functions.html#non-essential-built-in-functions
+" http://docs.python.org/3/library/functions.html#non-essential-built-in-functions
 " Python built-in functions are in alphabetical order.
 if !exists("python_no_builtin_highlight")
   " built-in constants
-  " 'False', 'True', and 'None' are also reserved words in Python 3.0
+  " 'False', 'True', and 'None' are also reserved words in Python 3
   syn keyword pythonBuiltin	False True None
   syn keyword pythonBuiltin	NotImplemented Ellipsis __debug__
   " built-in functions
-  syn keyword pythonBuiltin	abs all any bin bool chr classmethod
-  syn keyword pythonBuiltin	compile complex delattr dict dir divmod
-  syn keyword pythonBuiltin	enumerate eval filter float format
+  syn keyword pythonBuiltin	abs all any bin bool bytearray callable chr
+  syn keyword pythonBuiltin	classmethod compile complex delattr dict dir
+  syn keyword pythonBuiltin	divmod enumerate eval filter float format
   syn keyword pythonBuiltin	frozenset getattr globals hasattr hash
   syn keyword pythonBuiltin	help hex id input int isinstance
   syn keyword pythonBuiltin	issubclass iter len list locals map max
-  syn keyword pythonBuiltin	min next object oct open ord pow print
-  syn keyword pythonBuiltin	property range repr reversed round set
+  syn keyword pythonBuiltin	memoryview min next object oct open ord pow
+  syn keyword pythonBuiltin	print property range repr reversed round set
   syn keyword pythonBuiltin	setattr slice sorted staticmethod str
   syn keyword pythonBuiltin	sum super tuple type vars zip __import__
-  " Python 2.6 only
-  syn keyword pythonBuiltin	basestring callable cmp execfile file
+  " Python 2 only
+  syn keyword pythonBuiltin	basestring cmp execfile file
   syn keyword pythonBuiltin	long raw_input reduce reload unichr
   syn keyword pythonBuiltin	unicode xrange
-  " Python 3.0 only
-  syn keyword pythonBuiltin	ascii bytearray bytes exec memoryview
-  " non-essential built-in functions; Python 2.6 only
+  " Python 3 only
+  syn keyword pythonBuiltin	ascii bytes exec
+  " non-essential built-in functions; Python 2 only
   syn keyword pythonBuiltin	apply buffer coerce intern
 endif
 
 " From the 'Python Library Reference' class hierarchy at the bottom.
-" http://docs.python.org/library/exceptions.html
+" http://docs.python.org/2/library/exceptions.html
+" http://docs.python.org/3/library/exceptions.html
 if !exists("python_no_exception_highlight")
-  " builtin base exceptions (only used as base classes for other exceptions)
+  " builtin base exceptions (used mostly as base classes for other exceptions)
   syn keyword pythonExceptions	BaseException Exception
-  syn keyword pythonExceptions	ArithmeticError EnvironmentError
+  syn keyword pythonExceptions	ArithmeticError BufferError
   syn keyword pythonExceptions	LookupError
-  " builtin base exception removed in Python 3.0
-  syn keyword pythonExceptions	StandardError
+  " builtin base exceptions removed in Python 3
+  syn keyword pythonExceptions	EnvironmentError StandardError
   " builtin exceptions (actually raised)
-  syn keyword pythonExceptions	AssertionError AttributeError BufferError
+  syn keyword pythonExceptions	AssertionError AttributeError
   syn keyword pythonExceptions	EOFError FloatingPointError GeneratorExit
-  syn keyword pythonExceptions	IOError ImportError IndentationError
+  syn keyword pythonExceptions	ImportError IndentationError
   syn keyword pythonExceptions	IndexError KeyError KeyboardInterrupt
   syn keyword pythonExceptions	MemoryError NameError NotImplementedError
   syn keyword pythonExceptions	OSError OverflowError ReferenceError
@@ -214,13 +220,26 @@ if !exists("python_no_exception_highligh
   syn keyword pythonExceptions	SystemError SystemExit TabError TypeError
   syn keyword pythonExceptions	UnboundLocalError UnicodeError
   syn keyword pythonExceptions	UnicodeDecodeError UnicodeEncodeError
-  syn keyword pythonExceptions	UnicodeTranslateError ValueError VMSError
-  syn keyword pythonExceptions	WindowsError ZeroDivisionError
+  syn keyword pythonExceptions	UnicodeTranslateError ValueError
+  syn keyword pythonExceptions	ZeroDivisionError
+  " builtin OS exceptions in Python 3
+  syn keyword pythonExceptions	BlockingIOError BrokenPipeError
+  syn keyword pythonExceptions	ChildProcessError ConnectionAbortedError
+  syn keyword pythonExceptions	ConnectionError ConnectionRefusedError
+  syn keyword pythonExceptions	ConnectionResetError FileExistsError
+  syn keyword pythonExceptions	FileNotFoundError InterruptedError
+  syn keyword pythonExceptions	IsADirectoryError NotADirectoryError
+  syn keyword pythonExceptions	PermissionError ProcessLookupError
+  syn keyword pythonExceptions	TimeoutError
+  " builtin exceptions deprecated/removed in Python 3
+  syn keyword pythonExceptions	IOError VMSError WindowsError
   " builtin warnings
   syn keyword pythonExceptions	BytesWarning DeprecationWarning FutureWarning
   syn keyword pythonExceptions	ImportWarning PendingDeprecationWarning
   syn keyword pythonExceptions	RuntimeWarning SyntaxWarning UnicodeWarning
   syn keyword pythonExceptions	UserWarning Warning
+  " builtin warnings in Python 3
+  syn keyword pythonExceptions	ResourceWarning
 endif
 
 if exists("python_space_error_highlight")
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/teraterm.vim
@@ -0,0 +1,139 @@
+" Vim syntax file
+" Language:	Tera Term Language (TTL)
+"		Based on Tera Term Version 4.86
+" Maintainer:	Ken Takata
+" URL:		https://github.com/k-takata/vim-teraterm
+" Last Change:	2015 Jun 24
+" Filenames:	*.ttl
+" License:	VIM License
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+syn case ignore
+
+syn region ttlComment	start=";" end="$" contains=@Spell
+syn region ttlComment	start="/\*" end="\*/" contains=@Spell
+syn region ttlFirstComment	start="/\*" end="\*/" contained contains=@Spell
+			\ nextgroup=ttlStatement,ttlFirstComment
+
+syn match ttlCharacter	"#\%(\d\+\|\$\x\+\)\>"
+syn match ttlNumber	"\%(\<\d\+\|\$\x\+\)\>"
+syn match ttlString	"'[^']*'" contains=@Spell
+syn match ttlString	'"[^"]*"' contains=@Spell
+syn cluster ttlConstant contains=ttlCharacter,ttlNumber,ttlString
+
+syn match ttlLabel	":\s*\w\{1,32}\>"
+
+syn keyword ttlOperator	and or xor not
+
+syn match ttlVar	"\<groupmatchstr\d\>"
+syn match ttlVar	"\<param\d\>"
+syn keyword ttlVar	inputstr matchstr paramcnt result timeout mtimeout
+
+
+syn match ttlLine nextgroup=ttlStatement "^"
+syn match ttlStatement contained "\s*"
+			\ nextgroup=ttlIf,ttlElseIf,ttlConditional,ttlRepeat,
+			\ ttlFirstComment,ttlComment,ttlLabel,@ttlCommand
+
+syn cluster ttlCommand contains=ttlControlCommand,ttlCommunicationCommand,
+			\ ttlStringCommand,ttlFileCommand,ttlPasswordCommand,
+			\ ttlMiscCommand
+
+
+syn keyword ttlIf contained nextgroup=ttlIfExpression if
+syn keyword ttlElseIf contained nextgroup=ttlElseIfExpression elseif
+
+syn match ttlIfExpression contained "\s.*"
+		\ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen,
+		\ @ttlCommand
+syn match ttlElseIfExpression contained "\s.*"
+		\ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen
+
+syn keyword ttlThen contained then
+syn keyword ttlConditional contained else endif
+
+syn keyword ttlRepeat contained for next until enduntil while endwhile
+syn match ttlRepeat contained
+			\ "\<\%(do\|loop\)\%(\s\+\%(while\|until\)\)\?\>"
+syn keyword ttlControlCommand contained
+			\ break call continue end execcmnd exit goto include
+			\ mpause pause return
+
+
+syn keyword ttlCommunicationCommand contained
+			\ bplusrecv bplussend callmenu changedir clearscreen
+			\ closett connect cygconnect disconnect dispstr
+			\ enablekeyb flushrecv gethostname getmodemstatus
+			\ gettitle kmtfinish kmtget kmtrecv kmtsend loadkeymap
+			\ logautoclosemode logclose loginfo logopen logpause
+			\ logrotate logstart logwrite quickvanrecv
+			\ quickvansend recvln restoresetup scprecv scpsend
+			\ send sendbreak sendbroadcast sendfile sendkcode
+			\ sendln sendlnbroadcast sendmulticast setbaud
+			\ setdebug setdtr setecho setmulticastname setrts
+			\ setsync settitle showtt testlink unlink wait
+			\ wait4all waitevent waitln waitn waitrecv waitregex
+			\ xmodemrecv xmodemsend ymodemrecv ymodemsend
+			\ zmodemrecv zmodemsend
+syn keyword ttlStringCommand contained
+			\ code2str expandenv int2str regexoption sprintf
+			\ sprintf2 str2code str2int strcompare strconcat
+			\ strcopy strinsert strjoin strlen strmatch strremove
+			\ strreplace strscan strspecial strsplit strtrim
+			\ tolower toupper
+syn keyword ttlFileCommand contained
+			\ basename dirname fileclose fileconcat filecopy
+			\ filecreate filedelete filelock filemarkptr fileopen
+			\ filereadln fileread filerename filesearch fileseek
+			\ fileseekback filestat filestrseek filestrseek2
+			\ filetruncate fileunlock filewrite filewriteln
+			\ findfirst findnext findclose foldercreate
+			\ folderdelete foldersearch getdir getfileattr makepath
+			\ setdir setfileattr
+syn keyword ttlPasswordCommand contained
+			\ delpassword getpassword ispassword passwordbox
+			\ setpassword
+syn keyword ttlMiscCommand contained
+			\ beep bringupbox checksum8 checksum8file checksum16
+			\ checksum16file checksum32 checksum32file closesbox
+			\ clipb2var crc16 crc16file crc32 crc32file exec
+			\ dirnamebox filenamebox getdate getenv getipv4addr
+			\ getipv6addr getspecialfolder gettime getttdir getver
+			\ ifdefined inputbox intdim listbox messagebox random
+			\ rotateleft rotateright setdate setdlgpos setenv
+			\ setexitcode settime show statusbox strdim uptime
+			\ var2clipb yesnobox
+
+
+hi def link ttlCharacter Character
+hi def link ttlNumber Number
+hi def link ttlComment Comment
+hi def link ttlFirstComment Comment
+hi def link ttlString String
+hi def link ttlLabel Label
+hi def link ttlIf Conditional
+hi def link ttlElseIf Conditional
+hi def link ttlThen Conditional
+hi def link ttlConditional Conditional
+hi def link ttlRepeat Repeat
+hi def link ttlControlCommand Keyword
+hi def link ttlVar Identifier
+hi def link ttlOperator Operator
+hi def link ttlCommunicationCommand Keyword
+hi def link ttlStringCommand Keyword
+hi def link ttlFileCommand Keyword
+hi def link ttlPasswordCommand Keyword
+hi def link ttlMiscCommand Keyword
+
+let b:current_syntax = "teraterm"
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
+
+" vim: ts=8 sw=2 sts=2
--- a/runtime/syntax/vb.vim
+++ b/runtime/syntax/vb.vim
@@ -223,7 +223,7 @@ syn keyword vbStatement Explicit FileCop
 syn keyword vbStatement GoTo Gosub Implements Kill LSet Let Lib LineInput
 syn keyword vbStatement Load Lock Loop Mid MkDir Name Next On OnError Open
 syn keyword vbStatement Option Preserve Private Property Public Put RSet
-syn keyword vbStatement RaiseEvent Randomize ReDim Redim Rem Reset Resume
+syn keyword vbStatement RaiseEvent Randomize ReDim Redim Reset Resume
 syn keyword vbStatement Return RmDir SavePicture SaveSetting Seek SendKeys
 syn keyword vbStatement Sendkeys Set SetAttr Static Step Stop Sub Time
 syn keyword vbStatement Type Unload Unlock Until Wend While Width With
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -35,12 +35,12 @@ syn keyword vimOption contained	al ar au
 syn keyword vimOption contained	aleph arab autoread backup balloonexpr bh bl brk buflisted cdpath cin cinwords co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime revins ro rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
 syn keyword vimOption contained	allowrevins arabic autowrite backupcopy bdir bin bomb browsedir buftype cedit cindent clipboard cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine ri rop runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
 syn keyword vimOption contained	altkeymap arabicshape autowriteall backupdir bdlay binary breakat bs casemap cf cink cm cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe relativenumber rightleft rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
-syn keyword vimOption contained	ambiwidth 
+syn keyword vimOption contained	ambiwidth fixeol fixendofline
 
 " vimOptions: These are the turn-off setting variants {{{2
 syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofk nogd nohid nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist 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 nobiosk nobl nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofkmap nogdefault nohidden nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp 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 nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofoldenable noguipty nohk 
+syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofoldenable noguipty nohk nofixeol nofixendofline
 
 " vimOptions: These are the invertible variants {{{2
 syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfk invgd invhid invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist 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