changeset 9908:2b6654519a7c

commit https://github.com/vim/vim/commit/7571d55f7dcc009a375b2124cce2c8b21f361234 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 18 22:54:46 2016 +0200 Updated runtime files.
author Christian Brabandt <cb@256bit.org>
date Thu, 18 Aug 2016 23:00:06 +0200
parents d46c83883c95
children 3ee84d270ea7
files runtime/doc/eval.txt runtime/doc/sign.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/version8.txt runtime/doc/windows.txt runtime/filetype.vim runtime/indent/teraterm.vim runtime/keymap/russian-jcukenmac.vim runtime/syntax/rst.vim runtime/syntax/teraterm.vim
diffstat 11 files changed, 179 insertions(+), 675 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 Aug 16
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Aug 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -43,7 +43,7 @@ There are nine types of variables:
 Number		A 32 or 64 bit signed number.  |expr-number| *Number*
 		64-bit Numbers are available only when compiled with the
 		|+num64| feature.
-		Examples:  -123  0x10  0177
+		Examples:  -123  0x10  0177  0b1011
 
 Float		A floating point number. |floating-point-format| *Float*
 		{only when compiled with the |+float| feature}
@@ -1038,9 +1038,10 @@ When expr8 is a |Funcref| type variable,
 number
 ------
 number			number constant			*expr-number* 
-						*hex-number* *octal-number*
-
-Decimal, Hexadecimal (starting with 0x or 0X), or Octal (starting with 0).
+				*hex-number* *octal-number* *binary-number*
+
+Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
+and Octal (starting with 0).
 
 						*floating-point-format*
 Floating point numbers can be written in two forms:
@@ -1446,8 +1447,8 @@ v:beval_winnr	The number of the window, 
 		window gets a number).
 
 					*v:beval_winid* *beval_winid-variable*
-v:beval_winid	The window ID of the window, over which the mouse pointer is.
-		Otherwise like v:beval_winnr.
+v:beval_winid	The |window-ID| of the window, over which the mouse pointer
+		is.  Otherwise like v:beval_winnr.
 
 					*v:char* *char-variable*
 v:char		Argument for evaluating 'formatexpr' and used for the typed
@@ -1945,7 +1946,8 @@ v:windowid	When any X11 based GUI is run
 		When an MS-Windows GUI is running this will be set to the
 		window handle.
 		Otherwise the value is zero.
-		Note: for windows inside Vim use |winnr()| or |win_getid()|.
+		Note: for windows inside Vim use |winnr()| or |win_getid()|,
+		see |window-ID|.
 
 ==============================================================================
 4. Builtin Functions					*functions*
@@ -2462,7 +2464,7 @@ arglistid([{winnr} [, {tabnr}]])
 		With {winnr} only use this window in the current tab page.
 		With {winnr} and {tabnr} use the window in the specified tab
 		page.
-		{winnr} can be the window number or the window ID.
+		{winnr} can be the window number or the |window-ID|.
 
 							*argv()*
 argv([{nr}])	The result is the {nr}th file in the argument list of the
@@ -2708,7 +2710,7 @@ bufnr({expr} [, {create}])
 		Obsolete name for bufnr("$"): last_buffer_nr().
 
 bufwinid({expr})					*bufwinid()*
-		The result is a Number, which is the window ID of the first
+		The result is a Number, which is the |window-ID| of the first
 		window associated with buffer {expr}.  For the use of {expr},
 		see |bufname()| above.  If buffer {expr} doesn't exist or
 		there is no such window, -1 is returned.  Example: >
@@ -3116,7 +3118,7 @@ ch_setoptions({handle}, {options})			*ch
 		lost.
 
 		These options cannot be changed:
-			"waittime"	only applies to "ch_open()|
+			"waittime"	only applies to |ch_open()|
 
 ch_status({handle})						*ch_status()*
 		Return the status of {handle}:
@@ -4020,7 +4022,7 @@ getbufinfo([{dict}])
 					    lnum  line number
 					    name  sign name
 			variables	dictionary of buffer local variables.
-			windows		list of window IDs with this buffer
+			windows		list of |window-ID|s with this buffer
 
 		Examples: >
 			for buf in getbufinfo()
@@ -4283,7 +4285,7 @@ getcwd([{winnr} [, {tabnr}]])
 		in the current tab page.
 		With {winnr} and {tabnr} return the local current directory of
 		the window in the specified tab page.
-		{winnr} can be the window number or the window ID.
+		{winnr} can be the window number or the |window-ID|.
 		Return an empty string if the arguments are invalid.
 
 getfsize({fname})					*getfsize()*
@@ -4380,7 +4382,7 @@ getline({lnum} [, {end}])
 
 getloclist({nr}[, {what}])				*getloclist()*
 		Returns a list with all the entries in the location list for
-		window {nr}.  {nr} can be the window number or the window ID.
+		window {nr}.  {nr} can be the window number or the |window-ID|.
 		When {nr} is zero the current window is used.
 
 		For a location list window, the displayed location list is
@@ -4456,7 +4458,7 @@ getqflist([{what}])					*getqflist()*
 			type	type of the error, 'E', '1', etc.
 			valid	|TRUE|: recognized error message
 
-		When there is no error list or it's empty an empty list is
+		When there is no error list or it's empty, an empty list is
 		returned. Quickfix list entries with non-existing buffer
 		number are returned with "bufnr" set to zero.
 
@@ -4471,8 +4473,8 @@ getqflist([{what}])					*getqflist()*
 		returns only the items listed in {what} as a dictionary. The
 		following string items are supported in {what}:
 			nr	get information for this quickfix list
-			title	get list title
-			winid	get window id (if opened)
+			title	get the list title
+			winid	get the |window-ID| (if opened)
 			all	all of the above quickfix properties
 		Non-string items in {what} are ignored.
 		If "nr" is not present then the current quickfix list is used.
@@ -4482,7 +4484,7 @@ getqflist([{what}])					*getqflist()*
 		The returned dictionary contains the following entries:
 			nr	quickfix list number
 			title	quickfix list title text
-			winid	quickfix window id (if opened)
+			winid	quickfix |window-ID| (if opened)
 
 		Examples: >
 			:echo getqflist({'all': 1})
@@ -4529,9 +4531,9 @@ gettabinfo([{arg}])					*gettabinfo()*
 		empty List is returned.
 
 		Each List item is a Dictionary with the following entries:
-			nr		tab page number.
+			tabnr		tab page number.
 			variables	dictionary of tabpage local variables.
-			windows		List of window IDs in the tag page.
+			windows		List of |window-ID|s in the tag page.
 
 gettabvar({tabnr}, {varname} [, {def}])				*gettabvar()*
 		Get the value of a tab-local variable {varname} in tab page
@@ -4553,7 +4555,7 @@ gettabwinvar({tabnr}, {winnr}, {varname}
 		Note that {varname} must be the name without "w:".
 		Tabs are numbered starting with one.  For the current tabpage
 		use |getwinvar()|.
-		{winnr} can be the window number or the window ID.
+		{winnr} can be the window number or the |window-ID|.
 		When {winnr} is zero the current window is used.
 		This also works for a global option, buffer-local option and
 		window-local option, but it doesn't work for a global variable
@@ -4581,22 +4583,22 @@ getwininfo([{winid}])					*getwininfo()*
 		is returned.  If the window does not exist the result is an
 		empty list.
 
-		Without an information about all the windows in all the tab
-		pages is returned.
+		Without {winid} information about all the windows in all the
+		tab pages is returned.
 
 		Each List item is a Dictionary with the following entries:
-			bufnum		number of buffer in the window
+			bufnr		number of buffer in the window
 			height		window height
 			loclist		1 if showing a location list
 					{only with the +quickfix feature}
-			nr		window number
 			options		dictionary of window local options
 			quickfix	1 if quickfix or location list window
 					{only with the +quickfix feature}
-			tpnr		tab page number
+			tabnr		tab page number
 			variables	dictionary of window local variables
 			width		window width
-			winid		window ID
+			winid		|window-ID|
+			winnr		window number
 
 getwinvar({winnr}, {varname} [, {def}])				*getwinvar()*
 		Like |gettabwinvar()| for the current tabpage.
@@ -4704,7 +4706,7 @@ haslocaldir([{winnr} [, {tabnr}]])			*ha
 		With {winnr} use this window in the current tab page.
 		With {winnr} and {tabnr} use the window in the specified tab
 		page.
-		{winnr} can be the window number or the window ID.
+		{winnr} can be the window number or the |window-ID|.
 		Return 0 if the arguments are invalid.
 
 hasmapto({what} [, {mode} [, {abbr}]])			*hasmapto()*
@@ -5994,6 +5996,9 @@ printf({fmt}, {expr1} ...)				*printf()*
 		s	The text of the String argument is used.  If a
 			precision is specified, no more bytes than the number
 			specified are used.
+			If the argument is not a String type, it is
+			automatically converted to text with the same format
+			as ":echo".
 							*printf-S*
 		S	The text of the String argument is used.  If a
 			precision is specified, no more display cells than the
@@ -6671,7 +6676,7 @@ setline({lnum}, {text})					*setline()*
 
 setloclist({nr}, {list}[, {action}[, {what}]])		*setloclist()*
 		Create or replace or add to the location list for window {nr}.
-		{nr} can be the window number or the window ID.
+		{nr} can be the window number or the |window-ID|.
 		When {nr} is zero the current window is used.
 
 		For a location list window, the displayed location list is
@@ -6859,7 +6864,7 @@ settabwinvar({tabnr}, {winnr}, {varname}
 		{val}.
 		Tabs are numbered starting with one.  For the current tabpage
 		use |setwinvar()|.
-		{winnr} can be the window number or the window ID.
+		{winnr} can be the window number or the |window-ID|.
 		When {winnr} is zero the current window is used.
 		This also works for a global or local buffer option, but it
 		doesn't work for a global or local buffer variable.
@@ -7967,11 +7972,11 @@ wildmenumode()					*wildmenumode()*
 
 
 win_findbuf({bufnr})					*win_findbuf()*
-		Returns a list with window IDs for windows that contain buffer
-		{bufnr}.  When there is none the list is empty.
+		Returns a list with |window-ID|s for windows that contain
+		buffer {bufnr}.  When there is none the list is empty.
 
 win_getid([{win} [, {tab}]])				*win_getid()*
-		Get the window ID for the specified window.
+		Get the |window-ID| for the specified window.
 		When {win} is missing use the current window.
 		With {win} this is the window number.  The top window has
 		number 1.
@@ -7996,7 +8001,7 @@ win_id2win({expr})					*win_id2win()*
 							*winbufnr()*
 winbufnr({nr})	The result is a Number, which is the number of the buffer
 		associated with window {nr}.  {nr} can be the window number or
-		the window ID.
+		the |window-ID|.
 		When {nr} is zero, the number of the buffer in the current
 		window is returned.
 		When window {nr} doesn't exist, -1 is returned.
@@ -8010,7 +8015,7 @@ wincol()	The result is a Number, which i
 
 winheight({nr})						*winheight()*
 		The result is a Number, which is the height of window {nr}.
-		{nr} can be the window number or the window ID.
+		{nr} can be the window number or the |window-ID|.
 		When {nr} is zero, the height of the current window is
 		returned.  When window {nr} doesn't exist, -1 is returned.
 		An existing window always has a height of zero or more.
@@ -8090,7 +8095,7 @@ winsaveview()	Returns a |Dictionary| tha
 
 winwidth({nr})						*winwidth()*
 		The result is a Number, which is the width of window {nr}.
-		{nr} can be the window number or the window ID.
+		{nr} can be the window number or the |window-ID|.
 		When {nr} is zero, the width of the current window is
 		returned.  When window {nr} doesn't exist, -1 is returned.
 		An existing window always has a width of zero or more.
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.4.  Last change: 2016 Aug 12
+*sign.txt*      For Vim version 7.4.  Last change: 2016 Aug 17
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
@@ -197,7 +197,9 @@ JUMPING TO A SIGN					*:sign-jump* *E157
 		If the file isn't displayed in window and the current file can
 		not be |abandon|ed this fails.
 
-:sign jump {id} buffer={nr}
-		Same, but use buffer {nr}.
+:sign jump {id} buffer={nr}					*E934*
+		Same, but use buffer {nr}.  This fails if buffer {nr} does not
+		have a name.
+
 
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4474,6 +4474,7 @@ E930	eval.txt	/*E930*
 E931	message.txt	/*E931*
 E932	eval.txt	/*E932*
 E933	eval.txt	/*E933*
+E934	sign.txt	/*E934*
 E94	windows.txt	/*E94*
 E95	message.txt	/*E95*
 E96	diff.txt	/*E96*
@@ -5069,6 +5070,7 @@ beval_lnum-variable	eval.txt	/*beval_lnu
 beval_text-variable	eval.txt	/*beval_text-variable*
 beval_winid-variable	eval.txt	/*beval_winid-variable*
 beval_winnr-variable	eval.txt	/*beval_winnr-variable*
+binary-number	eval.txt	/*binary-number*
 bitwise-function	usr_41.txt	/*bitwise-function*
 blockwise-examples	visual.txt	/*blockwise-examples*
 blockwise-operators	visual.txt	/*blockwise-operators*
@@ -7793,10 +7795,12 @@ print-options	print.txt	/*print-options*
 print.txt	print.txt	/*print.txt*
 printf()	eval.txt	/*printf()*
 printf-%	eval.txt	/*printf-%*
+printf-B	eval.txt	/*printf-B*
 printf-E	eval.txt	/*printf-E*
 printf-G	eval.txt	/*printf-G*
 printf-S	eval.txt	/*printf-S*
 printf-X	eval.txt	/*printf-X*
+printf-b	eval.txt	/*printf-b*
 printf-c	eval.txt	/*printf-c*
 printf-d	eval.txt	/*printf-d*
 printf-e	eval.txt	/*printf-e*
@@ -9202,6 +9206,7 @@ win_id2win()	eval.txt	/*win_id2win()*
 winbufnr()	eval.txt	/*winbufnr()*
 wincol()	eval.txt	/*wincol()*
 window	windows.txt	/*window*
+window-ID	windows.txt	/*window-ID*
 window-contents	intro.txt	/*window-contents*
 window-exit	editing.txt	/*window-exit*
 window-functions	usr_41.txt	/*window-functions*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Aug 16
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Aug 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,7 +34,11 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Rename 'langnoremap' to 'langremap' and invert the value?
+
 +channel:
+- Check that raw mode does NL-NUL conversion.
+- 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?
   Add timestamp to queued messages and callbacks with ID, remove after a
@@ -99,12 +103,17 @@ Regexp problems:
 - Search for /\%d0\+  causes error E363 in a file with consecutive NUL
   characters. (Christian Brabandt, 2016 Jun 7)
 
+getbufinfo() may return a lot of data.  Select what to return?
+    remove variables, does that help?
+
 json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
 What if there is an invalid character?
 
 Should json_encode()/json_decode() restrict recursiveness?
 Or avoid recursiveness.
 
+Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
+
 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
@@ -133,6 +142,8 @@ Problem with whitespace in errorformat. 
 
 Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
 
+cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
+
 Syntax highlighting for messages with RFC3339 timestamp (#946)
 Did maintainer reply?
 
@@ -146,27 +157,16 @@ Jul 25, #948)
 
 'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
 
-'s$^$\=capture("s/^//gn")' locks Vim in sandbox mode (#950)
-Patch by Christian Brabandt, 2016 Jul 27.
-
 MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
 Otherwise task flickers in taskbar.
 
 Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
 Also for ":@.".
 
-Patch to make printf() convert to string for %s items. (Ken Takata, 2016 Aug
-1)
-
-Patch to add %b to printf(). (Ozaki Kiichi, 2016 Aug 5)
-
 Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
 
 Patch on issue #728 by Christian Brabandt, 2016 Apr 7.  Update with test: Apr 8.
 Explanation Apr 12.
-Might be related to:
-Test 44 fails when [[=A=]] is changed to [[=À=]].  Caused by getcmdline() not
-handling the 0x80 as a second byte correctly?  (Dominique Pelle, 2015 Jun 10)
 
 Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
 times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 Aug 16
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Aug 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -318,7 +318,6 @@ New and extended functions: ~
 
 New Vim variables: ~
 
-|v:vim_did_enter|	Set when VimEnter autocommands are triggered
 |v:beval_winid|		Window ID of the window where the mouse pointer is
 |v:completed_item|	complete items for the most recently completed word
 |v:errors|		errors found by assert functions
@@ -343,7 +342,7 @@ New Vim variables: ~
 |v:t_string|		value of String type
 |v:testing|		must be set before using `test_garbagecollect_now()`
 |v:true|		a Number with value one
-|v:vim_did_enter|	zero until most of startup is done
+|v:vim_did_enter|	set just before VimEnter autocommands are triggered
 
 
 New autocommand events: ~
@@ -12668,605 +12667,7 @@ Solution:   Use vim_strcat() instead of 
 Files:      src/quickfix.c
 
 Patch 7.4.2065
-Problem:    Compiler warns for uninitialzed variable. (John Marriott)
-Solution:   Set lnum to the right value.
-Files:      src/evalfunc.c
-
-Patch 7.4.2066
-Problem:    getcompletion() not well tested.
-Solution:   Add more testing.
-Files:      src/testdir/test_cmdline.vim
-
-Patch 7.4.2067
-Problem:    Compiler warning for char/char_u conversion. (Tony Mechelynck)
-            Inefficient code.
-Solution:   Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast.
-Files:      src/quickfix.c
-
-Patch 7.4.2068
-Problem:    Not all arguments of trunc_string() are tested.  Memory access
-            error when running the message tests.
-Solution:   Add another test case. (Yegappan Lakshmanan)  Make it easy to run
-            unittests with valgrind.  Fix the access error.
-Files:      src/message.c, src/message_test.c, src/Makefile
-
-Patch 7.4.2069
-Problem:    spell.c is too big.
-Solution:   Split it in spell file handling and spell checking.
-Files:      src/spell.c, src/spellfile.c, src/spell.h, src/Makefile,
-            src/proto/spell.pro, src/proto/spellfile.pro, src/proto.h
-            Filelist, src/Make_bc5.mak, src/Make_cyg_ming.mak,
-            src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak,
-            src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak
-
-Patch 7.4.2070 (after 7.4.2069)
-Problem:    Missing change to include file.
-Solution:   Include the spell header file.
-Files:      src/vim.h
-
-Patch 7.4.2071
-Problem:    The return value of type() is difficult to use.
-Solution:   Define v:t_ constants. (Ken Takata)
-Files:      runtime/doc/eval.txt, src/eval.c, src/evalfunc.c,
-            src/testdir/test_channel.vim, src/testdir/test_viml.vim, src/vim.h
-
-Patch 7.4.2072
-Problem:    substitute() does not support a Funcref argument.
-Solution:   Support a Funcref like it supports  a string starting with "\=".
-Files:      src/evalfunc.c, src/regexp.c, src/eval.c, src/proto/eval.pro,
-            src/proto/regexp.pro, src/testdir/test_expr.vim
-
-Patch 7.4.2073
-Problem:    rgb.txt is read for every color name.
-Solution:   Load rgb.txt once. (Christian Brabandt)  Add a test.
-Files:      runtime/rgb.txt, src/term.c, src/testdir/test_syn_attr.vim
-
-Patch 7.4.2074
-Problem:    One more place using a dummy variable.
-Solution:   Use offsetof(). (Ken Takata)
-Files:      src/userfunc.c
-
-Patch 7.4.2075
-Problem:    No autocommand event to initialize a window or tab page.
-Solution:   Add WinNew and TabNew events. (partly by Felipe Morales)
-Files:      src/fileio.c, src/window.c, src/vim.h,
-            src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
-
-Patch 7.4.2076
-Problem:    Syntax error when dict has '>' key.
-Solution:   Check for endchar. (Ken Takata)
-Files:      src/userfunc.c, src/testdir/test_lambda.vim
-
-Patch 7.4.2077
-Problem:    Cannot update 'tabline' when a tab was closed.
-Solution:   Add the TabClosed autocmd event. (partly by Felipe Morales)
-Files:      src/fileio.c, src/window.c, src/vim.h,
-            src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
-
-Patch 7.4.2078
-Problem:    Running checks in po directory fails.
-Solution:   Add colors used in syntax.c to the builtin color table.
-Files:      src/term.c
-
-Patch 7.4.2079
-Problem:    Netbeans test fails on non-Unix systems.
-Solution:   Only do the permission check on Unix systems.
-Files:      src/testdir/test_netbeans.vim
-
-Patch 7.4.2080
-Problem:    When using PERROR() on some systems assert_fails() does not see
-            the error.
-Solution:   Make PERROR() always report the error.
-Files:      src/vim.h, src/message.c, src/proto/message.pro
-
-Patch 7.4.2081
-Problem:    Line numbers in the error list are not always adjusted.
-Solution:   Set b_has_qf_entry properly. (Yegappan Lakshmanan)
-Files:      src/quickfix.c, src/structs.h, src/testdir/test_quickfix.vim
-
-Patch 7.4.2082
-Problem:    Not much test coverage for digraphs.
-Solution:   Add a new style digraph test. (Christian Brabandt)
-Files:      src/Makefile, src/testdir/test_alot.vim,
-            src/testdir/test_digraph.vim
-
-Patch 7.4.2083
-Problem:    Coverity complains about not restoring a value.
-Solution:   Restore the value, although it's not really needed.  Change return
-            to jump to cleanup, might leak memory.
-Files:      src/userfunc.c
-
-Patch 7.4.2084
-Problem:    New digraph test makes testing hang.
-Solution:   Don't set "nocp".
-Files:      src/testdir/test_digraph.vim
-
-Patch 7.4.2085
-Problem:    Digraph tests fails on some systems.
-Solution:   Run it separately and set 'encoding' early.
-Files:      src/testdir/Make_all.mak, src/testdir/test_alot.vim,
-            src/testdir/test_digraph.vim
-
-Patch 7.4.2086
-Problem:    Using the system default encoding makes tests unpredictable.
-Solution:   Always use utf-8 or latin1 in the new style tests.  Remove setting
-            encoding and scriptencoding where it is not needed.
-Files:      src/testdir/runtest.vim, src/testdir/test_channel.vim,
-            src/testdir/test_digraph.vim, src/testdir/test_expand_dllpath.vim,
-            src/testdir/test_expr_utf8.vim, src/testdir/test_json.vim,
-            src/testdir/test_matchadd_conceal_utf8.vim,
-            src/testdir/test_regexp_utf8.vim, src/testdir/test_visual.vim,
-            src/testdir/test_alot_utf8.vim,
-
-Patch 7.4.2087
-Problem:    Digraph code test coverage is still low.
-Solution:   Add more tests. (Christian Brabandt)
-Files:      src/testdir/test_digraph.vim
-
-Patch 7.4.2088 (after 7.4.2087)
-Problem:    Keymap test fails with normal features.
-Solution:   Bail out if the keymap feature is not supported.
-Files:      src/testdir/test_digraph.vim
-
-Patch 7.4.2089
-Problem:    Color handling of X11 GUIs is too complicated.
-Solution:   Simplify the code.  Use RGBA where appropriate. (Kazunobu
-            Kuriyama)
-Files:      src/gui.h, src/gui_beval.c, src/gui_gtk_x11.c, src/netbeans.c
-
-Patch 7.4.2090
-Problem:    Using submatch() in a lambda passed to substitute() is verbose.
-Solution:   Use a static list and pass it as an optional argument to the
-            function.  Fix memory leak.
-Files:      src/structs.h, src/list.c, src/userfunc.c, src/channel.c,
-            src/eval.c, src/evalfunc.c, src/ex_cmds2.c, src/regexp.c,
-            src/proto/list.pro, src/proto/userfunc.pro,
-            src/testdir/test_expr.vim, runtime/doc/eval.txt
-
-Patch 7.4.2091
-Problem:    Coverity reports a resource leak when out of memory.
-Solution:   Close the file before returning.
-Files:      src/term.c
-
-Patch 7.4.2092
-Problem:    GTK 3 build fails with older GTK version.
-Solution:   Check the pango version. (Kazunobu Kuriyama)
-Files:      src/gui_beval.c
-
-Patch 7.4.2093
-Problem:    Netbeans test fails once in a while.  Leaving log file behind.
-Solution:   Add it to the list of flaky tests.  Disable logfile.
-Files:      src/testdir/runtest.vim, src/testdir/test_channel.vim
-
-Patch 7.4.2094
-Problem:    The color allocation in X11 is overly complicated.
-Solution:   Remove find_closest_color(), XAllocColor() already does this.
-            (Kazunobu Kuriyama)
-Files:      src/gui_x11.c
-
-Patch 7.4.2095
-Problem:    Man test fails when run with the GUI.
-Solution:   Adjust for different behavior of GUI.  Add assert_inrange().
-Files:      src/eval.c, src/evalfunc.c, src/proto/eval.pro,
-            src/testdir/test_assert.vim, src/testdir/test_man.vim,
-            runtime/doc/eval.txt
-
-Patch 7.4.2096
-Problem:    Lambda functions show up with completion.
-Solution:   Don't show lambda functions. (Ken Takata)
-Files:      src/userfunc.c, src/testdir/test_cmdline.vim
-
-Patch 7.4.2097
-Problem:    Warning from 64 bit compiler.
-Solution:   use size_t instead of int. (Mike Williams)
-Files:      src/message.c
-
-Patch 7.4.2098
-Problem:    Text object tests are old style.
-Solution:   Turn them into new style tests. (James McCoy, closes #941)
-Files:      src/testdir/Make_all.mak, src/testdir/test_textobjects.in,
-            src/testdir/test_textobjects.ok, src/testdir/test_textobjects.vim,
-            src/Makefile
-
-Patch 7.4.2099
-Problem:    When a keymap is active only "(lang)" is displayed. (Ilya
-            Dogolazky)
-Solution:   Show the keymap name. (Dmitri Vereshchagin, closes #933)
-Files:      src/buffer.c, src/proto/screen.pro, src/screen.c
-
-Patch 7.4.2100
-Problem:    "cgn" and "dgn" do not work correctly with a single character
-            match and the replacement includes the searched pattern. (John
-            Beckett)
-Solution:   If the match is found in the wrong column try in the next column.
-            Turn the test into new style. (Christian Brabandt)
-Files:      src/search.c, src/testdir/Make_all.mak, src/Makefile,
-            src/testdir/test53.in, src/testdir/test53.ok,
-            src/testdir/test_gn.vim
-
-Patch 7.4.2101
-Problem:    Looping over windows, buffers and tab pages is inconsistent.
-Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
-Files:      src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c,
-            src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/fileio.c,
-            src/globals.h, src/gui.c, src/gui_mac.c, src/if_lua.c,
-            src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/if_tcl.c,
-            src/main.c, src/mark.c, src/memfile.c, src/memline.c, src/misc1.c,
-            src/move.c, src/netbeans.c, src/normal.c, src/option.c,
-            src/quickfix.c, src/screen.c, src/spell.c, src/term.c,
-            src/window.c, src/workshop.c
-
-Patch 7.4.2102 (after 7.4.2101)
-Problem:    Tiny build with GUI fails.
-Solution:   Revert one FOR_ALL_ change.
-Files:      src/gui.c
-
-Patch 7.4.2103
-Problem:    Can't have "augroup END" right after ":au!".
-Solution:   Check for the bar character before the command argument.
-Files:      src/fileio.c, src/testdir/test_autocmd.vim,
-            runtime/doc/autocmd.txt
-
-Patch 7.4.2104
-Problem:    Code duplication when unreferencing a function.
-Solution:   De-duplicate.
-Files:      src/userfunc.c
-
-Patch 7.4.2105
-Problem:    Configure reports default features to be "normal" while it is
-            "huge".
-Solution:   Change the default text.  Build with newer autoconf.
-Files:      src/configure.in, src/auto/configure
-
-Patch 7.4.2106
-Problem:    Clang warns about missing field in initializer.
-Solution:   Define COMMA and use it.  (Kazunobu Kuriyama)
-Files:      src/ex_cmds.c, src/globals.h, src/vim.h
-
-Patch 7.4.2107 (after 7.4.2106)
-Problem:    Misplaced equal sign.
-Solution:   Remove it.
-Files:      src/globals.h
-
-Patch 7.4.2108
-Problem:    Netbeans test is flaky.
-Solution:   Wait for the cursor to be positioned.
-Files:      src/testdir/test_netbeans.vim
-
-Patch 7.4.2109
-Problem:    Setting 'display' to "lastline" is a drastic change, while
-            omitting it results in lots of "@" lines.
-Solution:   Add "truncate" to show "@@@" for a truncated line.
-Files:      src/option.h, src/screen.c, runtime/doc/options.txt
-
-Patch 7.4.2110
-Problem:    When there is an CmdUndefined autocmd then the error for a missing
-            command is E464 instead of E492. (Manuel Ortega)
-Solution:   Don't let the pointer be NULL.
-Files:      src/ex_docmd.c, src/testdir/test_usercommands.vim
-
-Patch 7.4.2111
-Problem:    Defaults are very conservative.
-Solution:   Move settings from vimrc_example.vim to defaults.vim.  Load
-            defaults.vim if no .vimrc was found.
-Files:      src/main.c, src/version.c, src/os_amiga.h, src/os_dos.h,
-            src/os_mac.h, src/os_unix.h, src/feature.h, src/Makefile,
-            runtime/vimrc_example.vim, runtime/defaults.vim,
-            runtime/evim.vim, Filelist, runtime/doc/starting.txt
-
-Patch 7.4.2112
-Problem:    getcompletion(.., 'dir') returns a match with trailing "*" when
-            there are no matches. (Chdiza)
-Solution:   Return an empty list when there are no matches.  Add a trailing
-            slash to directories. (Yegappan Lakshmanan)  Add tests for no
-            matches. (closes #947)
-Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
-
-Patch 7.4.2113
-Problem:    Test for undo is flaky.
-Solution:   Turn it into a new style test.  Use test_settime() to avoid
-            flakyness.
-Files:      src/Makefile, src/undo.c, src/testdir/test61.in,
-            src/testdir/test61.ok, src/testdir/test_undo.vim,
-            src/testdir/test_undolevels.vim, src/testdir/Make_all.mak,
-            src/testdir/test_alot.vim
-
-Patch 7.4.2114
-Problem:    Tiny build fails.
-Solution:   Always include vim_time().
-Files:      src/ex_cmds.c
-
-Patch 7.4.2115
-Problem:    Loading defaults.vim with -C argument.
-Solution:   Don't load the defaults script with -C argument.  Test sourcing
-            the defaults script.  Set 'display' to "truncate".
-Files:      src/main.c, src/Makefile, runtime/defaults.vim,
-            src/testdir/test_startup.vim, src/testdir/Make_all.mak
-
-Patch 7.4.2116
-Problem:    The default vimrc for Windows is very conservative.
-Solution:   Use the defaults.vim in the Windows installer.
-Files:      src/dosinst.c
-
-Patch 7.4.2117
-Problem:    Deleting an augroup that still has autocmds does not give a
-            warning.  The next defined augroup takes its place.
-Solution:   Give a warning and prevent the index being used for another group
-            name.
-Files:      src/fileio.c, src/testdir/test_autocmd.vim
-
-Patch 7.4.2118
-Problem:    Mac: can't build with tiny features.
-Solution:   Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama)
-Files:      src/vim.h
-
-Patch 7.4.2119
-Problem:    Closures are not supported.
-Solution:   Capture variables in lambdas from the outer scope. (Yasuhiro
-            Matsumoto, Ken Takata)
-Files:      runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/globals.h,
-            src/proto/eval.pro, src/proto/userfunc.pro,
-            src/testdir/test_lambda.vim, src/userfunc.c
-
-Patch 7.4.2120
-Problem:    User defined functions can't be a closure.
-Solution:   Add the "closure" argument. Allow using :unlet on a bound
-            variable. (Yasuhiro Matsumoto, Ken Takata)
-Files:      runtime/doc/eval.txt, src/testdir/test_lambda.vim, src/userfunc.c,
-            src/eval.c src/proto/userfunc.pro
-
-Patch 7.4.2121
-Problem:    No easy way to check if lambda and closure are supported.
-Solution:   Add the +lambda feature.
-Files:      src/evalfunc.c, src/version.c, src/testdir/test_lambda.vim
-
-Patch 7.4.2122 (after 7.4.2118)
-Problem:    Mac: don't get +clipboard in huge build.
-Solution:   Move #define down below including feature.h
-Files:      src/vim.h
-
-Patch 7.4.2123
-Problem:    No new style test for diff mode.
-Solution:   Add a test.  Check that folds are in sync.
-Files:      src/Makefile, src/testdir/test_diffmode.vim,
-            src/testdir/Make_all.mak, src/testdir/test47.in,
-            src/testdir/test47.ok
-
-Patch 7.4.2124
-Problem:    diffmode test leaves files behind, breaking another test.
-Solution:   Delete the files.
-Files:      src/testdir/test_diffmode.vim
-
-Patch 7.4.2125
-Problem:    Compiler warning for loss of data.
-Solution:   Add a type cast. (Christian Brabandt)
-Files:      src/message.c
-
-Patch 7.4.2126
-Problem:    No tests for :diffget and :diffput
-Solution:   Add tests.
-Files:      src/testdir/test_diffmode.vim
-
-Patch 7.4.2127
-Problem:    The short form of ":noswapfile" is ":noswap" instead of ":nos".
-            (Kent Sibilev)
-Solution:   Only require three characters.  Add a test for the short forms.
-Files:      src/ex_docmd.c, src/testdir/test_usercommands.vim
-
-Patch 7.4.2128
-Problem:    Memory leak when saving for undo fails.
-Solution:   Free allocated memory. (Hirohito Higashi)
-Files:      src/ex_cmds.c
-
-Patch 7.4.2129
-Problem:    Memory leak when using timer_start(). (Dominique Pelle)
-Solution:   Don't copy the callback when using a partial.
-Files:      src/evalfunc.c
-
-Patch 7.4.2130
-Problem:    Pending timers cause false memory leak reports.
-Solution:   Free all timers on exit.
-Files:      src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/misc2.c
-
-Patch 7.4.2131
-Problem:    More memory leaks when using partial, e.g. for "exit-cb".
-Solution:   Don't copy the callback when using a partial.
-Files:      src/channel.c
-
-Patch 7.4.2132
-Problem:    test_partial has memory leaks reported.
-Solution:   Add a note about why this happens.
-Files:      src/testdir/test_partial.vim
-
-Patch 7.4.2133 (after 7.4.2128)
-Problem:    Can't build with tiny features.
-Solution:   Add #ifdef.
-Files:      src/ex_cmds.c
-
-Patch 7.4.2134
-Problem:    No error for using function() badly.
-Solution:   Check for passing wrong function name. (Ken Takata)
-Files:      src/eval.c, src/evalfunc.c, src/proto/userfunc.pro,
-            src/testdir/test_expr.vim, src/userfunc.c, src/vim.h
-
-Patch 7.4.2135
-Problem:    Various tiny issues.
-Solution:   Update comments, white space, etc.
-Files:      src/diff.c, src/digraph.c, src/testdir/test80.in,
-            src/testdir/test_channel.vim, src/testdir/Makefile,
-            runtime/menu.vim, src/INSTALLpc.txt, src/xpm/README.txt
-
-Patch 7.4.2136
-Problem:    Closure function fails.
-Solution:   Don't reset uf_scoped when it points to another funccal.
-Files:      src/userfunc.c, src/testdir/test_lambda.vim
-
-Patch 7.4.2137
-Problem:    Using function() with a name will find another function when it is
-            redefined.
-Solution:   Add funcref().  Refer to lambda using a partial.  Fix several
-            reference counting issues.
-Files:      src/vim.h, src/structs.h, src/userfunc.c, src/eval.c,
-            src/evalfunc.c, src/channel.c, src/proto/eval.pro,
-            src/proto/userfunc.pro, src/if_mzsch.c, src/regexp.c, src/misc2.c,
-            src/if_py_both.h, src/testdir/test_expr.vim, runtime/doc/eval.txt
-
-Patch 7.4.2138
-Problem:    Test 86 and 87 fail.
-Solution:   Call func_ref() also for regular functions.
-Files:      src/if_py_both.h
-
-Patch 7.4.2139
-Problem:    :delfunction causes illegal memory access.
-Solution:   Correct logic when deciding to free a function.
-Files:      src/userfunc.c, src/testdir/test_lambda.vim
-
-Patch 7.4.2140
-Problem:    Tiny build fails.
-Solution:   Add dummy typedefs.
-Files:      src/structs.h
-
-Patch 7.4.2141
-Problem:    Coverity reports bogus NULL check.
-Solution:   When checking for a variable in the funccal scope don't pass the
-            varname.
-Files:      src/userfunc.c, src/proto/userfunc.pro, src/eval.c
-
-Patch 7.4.2142
-Problem:    Leaking memory when redefining a function.
-Solution:   Don't increment the function reference count when it's found by
-            name. Don't remove the wrong function from the hashtab.  More
-            reference counting fixes.
-Files:      src/structs.h, src/userfunc.c
-
-Patch 7.4.2143
-Problem:    A funccal is garbage collected while it can still be used.
-Solution:   Set copyID in all referenced functions.  Do not list lambda
-            functions with ":function".
-Files:      src/userfunc.c, src/proto/userfunc.pro, src/eval.c,
-            src/testdir/test_lambda.vim
-
-Patch 7.4.2144
-Problem:    On MS-Windows quickfix does not handle a line with 1023 bytes
-            ending in CR-LF properly.
-Solution:   Don't consider CR a line break. (Ken Takata)
-Files:      src/quickfix.c
-
-Patch 7.4.2145
-Problem:    Win32: Using CreateThread/ExitThread is not safe.
-Solution:   Use _beginthreadex and return from the thread. (Ken Takata)
-Files:      src/os_win32.c
-
-Patch 7.4.2146
-Problem:    Not enough testing for popup menu.  CTRL-E does not always work
-            properly.
-Solution:   Add more tests.  When using CTRL-E check if the popup menu is
-            visible. (Christian Brabandt)
-Files:      src/edit.c, src/testdir/test_popup.vim
-
-Patch 7.4.2147 (after 7.4.2146)
-Problem:    test_alot fails.
-Solution:   Close window.
-Files:      src/testdir/test_popup.vim
-
-Patch 7.4.2148
-Problem:    Not much testing for cscope.
-Solution:   Add a test that uses the cscope program. (Christian Brabandt)
-Files:      src/testdir/test_cscope.vim
-
-Patch 7.4.2149
-Problem:    If a test leaves a window open a following test may fail.
-Solution:   Always close extra windows after running a test.
-Files:      src/testdir/runtest.vim, src/testdir/test_popup.vim
-
-Patch 7.4.2150
-Problem:    Warning with MinGW 64. (John Marriott)
-Solution:   Change return type. (Ken Takata)
-Files:      src/os_win32.c
-
-Patch 7.4.2151
-Problem:    Quickfix test fails on MS-Windows.
-Solution:   Close the help window. (Christian Brabandt)
-Files:      src/testdir/test_quickfix.vim
-
-Patch 7.4.2152
-Problem:    No proper translation of messages with a count.
-Solution:   Use ngettext(). (Sergey Alyoshin)
-Files:      src/evalfunc.c, src/fold.c, src/os_win32.c, src/screen.c, src/vim.h
-
-Patch 7.4.2153
-Problem:    GUI test isn't testing much.
-Solution:   Turn into a new style test.  Execute a shell command.
-Files:      src/testdir/test_gui.vim, src/testdir/test16.in,
-            src/testdir/test16.ok, src/testdir/Make_all.mak, src/Makefile,
-            src/testdir/Make_vms.mms
-
-Patch 7.4.2154
-Problem:    Test_communicate() fails sometimes.
-Solution:   Add it to the flaky tests.
-Files:      src/testdir/runtest.vim
-
-Patch 7.4.2155
-Problem:    Quotes make GUI test fail on MS-Windows.
-Solution:   Remove quotes, strip white space.
-Files:      src/testdir/test_gui.vim
-
-Patch 7.4.2156
-Problem:    Compiler warning.
-Solution:   Add type cast. (Ken Takata, Mike Williams)
-Files:      src/os_win32.c
-
-Patch 7.4.2157
-Problem:    Test_job_start_fails() is expected to report memory leaks, making
-            it hard to see other leaks in test_partial.
-Solution:   Move Test_job_start_fails() to a separate test file.
-Files:      src/testdir/test_partial.vim, src/testdir/test_job_fails.vim,
-            src/Makefile, src/testdir/Make_all.mak
-
-Patch 7.4.2158
-Problem:    Result of getcompletion('', 'cscope') depends on previous
-            completion. (Christian Brabandt)
-Solution:   Call set_context_in_cscope_cmd().
-Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
-
-Patch 7.4.2159
-Problem:    Insufficient testing for cscope.
-Solution:   Add more tests. (Dominique Pelle)
-Files:      src/testdir/test_cscope.vim
-
-Patch 7.4.2160
-Problem:    setmatches() mixes up values. (Nikolai Pavlov)
-Solution:   Save the string instead of reusing a shared buffer.
-Files:      src/dict.c, src/evalfunc.c, src/testdir/test_expr.vim,
-
-Patch 7.4.2161 (after 7.4.2160)
-Problem:    Expression test fails without conceal feature.
-Solution:   Only check "conceal" with the conceal feature.
-Files:      src/testdir/test_expr.vim
-
-Patch 7.4.2162
-Problem:    Result of getcompletion('', 'sign') depends on previous
-            completion.
-Solution:   Call set_context_in_sign_cmd(). (Dominique Pelle)
-Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
-
-Patch 7.4.2063
-Problem:    eval.c is still too big.
-Solution:   Split off internal functions to evalfunc.c.
-Files:      src/eval.c, src/evalfunc.c, src/list.c, src/proto.h,
-            src/globals.h, src/vim.h, src/proto/eval.pro,
-            src/proto/evalfunc.pro, src/proto/list.pro, src/Makefile, Filelist,
-            src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_dice.mak,
-            src/Make_ivc.mak, src/Make_manx.mak, src/Make_morph.mak,
-            src/Make_mvc.mak, src/Make_sas.mak
-
-Patch 7.4.2064
-Problem:    Coverity warns for possible buffer overflow.
-Solution:   Use vim_strcat() instead of strcat().
-Files:      src/quickfix.c
-
-Patch 7.4.2065
-Problem:    Compiler warns for uninitialzed variable. (John Marriott)
+Problem:    Compiler warns for uninitialized variable. (John Marriott)
 Solution:   Set lnum to the right value.
 Files:      src/evalfunc.c
 
@@ -14155,7 +13556,7 @@ Files:      src/gui_gtk_x11.c
 Patch 7.4.2215
 Problem:    It's not easy to find out if a window is a quickfix or location
             list window.
-Solution:   Add "loclist" and "quickfix" entries to the dict returnec by
+Solution:   Add "loclist" and "quickfix" entries to the dict returned by
             getwininfo(). (Yegappan Lakshmanan)
 Files:      runtime/doc/eval.txt, src/evalfunc.c,
             src/testdir/test_bufwintabinfo.vim
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.4.  Last change: 2016 Jul 30
+*windows.txt*   For Vim version 7.4.  Last change: 2016 Aug 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -75,7 +75,7 @@ places where a Normal mode command can't
 
 The main Vim window can hold several split windows.  There are also tab pages
 |tab-page|, each of which can hold multiple windows.
-
+							*window-ID*
 Each window has a unique identifier called the window ID.  This identifier
 will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
 functions can be used to convert between the window/tab number and the
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2016 Jul 21
+" Last Change:	2016 Aug 18
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -779,8 +779,7 @@ au BufNewFile,BufRead *.mo,*.gdmo		setf 
 au BufNewFile,BufRead *.ged,lltxxxxx.txt	setf gedcom
 
 " Git
-au BufNewFile,BufRead COMMIT_EDITMSG		setf gitcommit
-au BufNewFile,BufRead MERGE_MSG			setf gitcommit
+au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
 au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
 au BufNewFile,BufRead *.git/modules/*/config	setf gitconfig
 au BufNewFile,BufRead */.config/git/config	setf gitconfig
--- a/runtime/indent/teraterm.vim
+++ b/runtime/indent/teraterm.vim
@@ -1,9 +1,9 @@
 " Vim indent file
 " Language:	Tera Term Language (TTL)
-"		Based on Tera Term Version 4.86
+"		Based on Tera Term Version 4.92
 " Maintainer:	Ken Takata
 " URL:		https://github.com/k-takata/vim-teraterm
-" Last Change:	2015 Jun 4
+" Last Change:	2016 Aug 17
 " Filenames:	*.ttl
 " License:	VIM License
 
@@ -25,9 +25,7 @@ endif
 " The shiftwidth() function is relatively new.
 " Don't require it to exist.
 if exists('*shiftwidth')
-  function s:sw() abort
-    return shiftwidth()
-  endfunction
+  let s:sw = function('shiftwidth')
 else
   function s:sw() abort
     return &shiftwidth
@@ -48,7 +46,7 @@ function! GetTeraTermIndent(lnum)
 
   let l:ind = l:previ
 
-  if l:prevl =~ '^\s*if\>.*\<then\s*$'
+  if l:prevl =~ '^\s*if\>.*\<then\>'
     " previous line opened a block
     let l:ind += s:sw()
   endif
new file mode 100644
--- /dev/null
+++ b/runtime/keymap/russian-jcukenmac.vim
@@ -0,0 +1,94 @@
+" Vim Keymap file for russian characters, layout 'jcuken', Mac variant
+
+" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
+" Maintainer:   Anton Fonarev <avfonarev@gmail.com>
+" Last Changed: 2016 August 17
+
+" All characters are given literally, conversion to another encoding (e.g.,
+" UTF-8) should work.
+
+scriptencoding utf-8
+
+let b:keymap_name = "ru"
+
+loadkeymap
+
+\|  Ё   CYRILLIC CAPITAL LETTER IO
+\\  ё   CYRILLIC SMALL LETTER IO
+
+F   А   CYRILLIC CAPITAL LETTER A
+<   Б   CYRILLIC CAPITAL LETTER BE
+D   В   CYRILLIC CAPITAL LETTER VE
+U   Г   CYRILLIC CAPITAL LETTER GHE
+L   Д   CYRILLIC CAPITAL LETTER DE
+T   Е   CYRILLIC CAPITAL LETTER IE
+:   Ж   CYRILLIC CAPITAL LETTER ZHE
+P   З   CYRILLIC CAPITAL LETTER ZE
+B   И   CYRILLIC CAPITAL LETTER I
+Q   Й   CYRILLIC CAPITAL LETTER SHORT I
+R   К   CYRILLIC CAPITAL LETTER KA
+K   Л   CYRILLIC CAPITAL LETTER EL
+V   М   CYRILLIC CAPITAL LETTER EM
+Y   Н   CYRILLIC CAPITAL LETTER EN
+J   О   CYRILLIC CAPITAL LETTER O
+G   П   CYRILLIC CAPITAL LETTER PE
+H   Р   CYRILLIC CAPITAL LETTER ER
+C   С   CYRILLIC CAPITAL LETTER ES
+N   Т   CYRILLIC CAPITAL LETTER TE
+E   У   CYRILLIC CAPITAL LETTER U
+A   Ф   CYRILLIC CAPITAL LETTER EF
+{   Х   CYRILLIC CAPITAL LETTER HA
+W   Ц   CYRILLIC CAPITAL LETTER TSE
+X   Ч   CYRILLIC CAPITAL LETTER CHE
+I   Ш   CYRILLIC CAPITAL LETTER SHA
+O   Щ   CYRILLIC CAPITAL LETTER SHCHA
+}   Ъ   CYRILLIC CAPITAL LETTER HARD SIGN
+S   Ы   CYRILLIC CAPITAL LETTER YERU
+M   Ь   CYRILLIC CAPITAL LETTER SOFT SIGN
+\"  Э   CYRILLIC CAPITAL LETTER E
+>   Ю   CYRILLIC CAPITAL LETTER YU
+Z   Я   CYRILLIC CAPITAL LETTER YA
+f   а   CYRILLIC SMALL LETTER A
+,   б   CYRILLIC SMALL LETTER BE
+d   в   CYRILLIC SMALL LETTER VE
+u   г   CYRILLIC SMALL LETTER GHE
+l   д   CYRILLIC SMALL LETTER DE
+t   е   CYRILLIC SMALL LETTER IE
+;   ж   CYRILLIC SMALL LETTER ZHE
+p   з   CYRILLIC SMALL LETTER ZE
+b   и   CYRILLIC SMALL LETTER I
+q   й   CYRILLIC SMALL LETTER SHORT I
+r   к   CYRILLIC SMALL LETTER KA
+k   л   CYRILLIC SMALL LETTER EL
+v   м   CYRILLIC SMALL LETTER EM
+y   н   CYRILLIC SMALL LETTER EN
+j   о   CYRILLIC SMALL LETTER O
+g   п   CYRILLIC SMALL LETTER PE
+h   р   CYRILLIC SMALL LETTER ER
+c   с   CYRILLIC SMALL LETTER ES
+n   т   CYRILLIC SMALL LETTER TE
+e   у   CYRILLIC SMALL LETTER U
+a   ф   CYRILLIC SMALL LETTER EF
+[   х   CYRILLIC SMALL LETTER HA
+w   ц   CYRILLIC SMALL LETTER TSE
+x   ч   CYRILLIC SMALL LETTER CHE
+i   ш   CYRILLIC SMALL LETTER SHA
+o   щ   CYRILLIC SMALL LETTER SHCHA
+]   ъ   CYRILLIC SMALL LETTER HARD SIGN
+s   ы   CYRILLIC SMALL LETTER YERU
+m   ь   CYRILLIC SMALL LETTER SOFT SIGN
+'   э   CYRILLIC SMALL LETTER E
+.   ю   CYRILLIC SMALL LETTER YU
+z   я   CYRILLIC SMALL LETTER YA
+
+§   >
+±   <
+@   "
+#   №
+$   %
+%   :
+^   ,
+&   .
+*   ;
+`   ]
+~   [
--- a/runtime/syntax/rst.vim
+++ b/runtime/syntax/rst.vim
@@ -2,7 +2,8 @@
 " Language: reStructuredText documentation format
 " Maintainer: Marshall Ward <marshall.ward@gmail.com>
 " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2016-06-17
+" Website: https://github.com/marshallward/vim-restructuredtext
+" Latest Revision: 2016-08-18
 
 if exists("b:current_syntax")
   finish
@@ -89,7 +90,7 @@ function! s:DefineOneInlineMarkup(name, 
         \ ' start=+' . a:char_left . '\zs' . a:start .
         \ '\ze[^[:space:]' . a:char_right . a:start[strlen(a:start) - 1] . ']+' .
         \ a:middle .
-        \ ' end=+\S' . a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+'
+        \ ' end=+\S' . a:end . '\ze\%($\|\s\|[''"’)\]}>/:.,;!?\\-]\)+'
 endfunction
 
 function! s:DefineInlineMarkup(name, start, middle, end)
@@ -103,6 +104,8 @@ function! s:DefineInlineMarkup(name, sta
   call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\[', '\]')
   call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '{', '}')
   call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '<', '>')
+  call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '’', '’')
+  " TODO: Additional Unicode Pd, Po, Pi, Pf, Ps characters
 
   call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\%(^\|\s\|[/:]\)', '')
 
@@ -186,11 +189,8 @@ hi def link rstHyperlinkTarget          
 hi def link rstExDirective                  String
 hi def link rstSubstitutionDefinition       rstDirective
 hi def link rstDelimiter                    Delimiter
-hi def link rstEmphasis                     Underlined
-hi def link rstStrongEmphasis               Special
-" TODO Append these atttributes somehow
-"hi def rstEmphasis term=italic cterm=italic gui=italic
-"hi def rstStrongEmphasis term=bold cterm=bold gui=bold
+hi def rstEmphasis ctermfg=13 term=italic cterm=italic gui=italic
+hi def rstStrongEmphasis ctermfg=1 term=bold cterm=bold gui=bold
 hi def link rstInterpretedTextOrHyperlinkReference  Identifier
 hi def link rstInlineLiteral                String
 hi def link rstSubstitutionReference        PreProc
--- a/runtime/syntax/teraterm.vim
+++ b/runtime/syntax/teraterm.vim
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:	Tera Term Language (TTL)
-"		Based on Tera Term Version 4.86
+"		Based on Tera Term Version 4.92
 " Maintainer:	Ken Takata
 " URL:		https://github.com/k-takata/vim-teraterm
-" Last Change:	2015 Jun 24
+" Last Change:	2016 Aug 17
 " Filenames:	*.ttl
 " License:	VIM License
 
@@ -33,7 +33,7 @@ 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 keyword ttlVar	inputstr matchstr paramcnt params result timeout mtimeout
 
 
 syn match ttlLine nextgroup=ttlStatement "^"