Updated runtime files.
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index d36f2ce..33a09be 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -142,6 +142,7 @@
version5.txt \
version6.txt \
version7.txt \
+ version8.txt \
vi_diff.txt \
visual.txt \
windows.txt \
@@ -275,6 +276,7 @@
version5.html \
version6.html \
version7.html \
+ version8.html \
vi_diff.html \
vimindex.html \
visual.html \
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b0b8479..1b4b3b7 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.4. Last change: 2016 Mar 29
+*eval.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -411,7 +411,8 @@
A key is always a String. You can use a Number, it will be converted to a
String automatically. Thus the String '4' and the number 4 will find the same
entry. Note that the String '04' and the Number 04 are different, since the
-Number will be converted to the String '4'.
+Number will be converted to the String '4'. The empty string can be used as a
+key.
A value can be any expression. Using a Dictionary for a value creates a
nested Dictionary: >
@@ -874,11 +875,11 @@
expr8 *expr8*
-----
expr8[expr1] item of String or |List| *expr-[]* *E111*
- *E909*
+ *E909* *subscript*
If expr8 is a Number or String this results in a String that contains the
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
-an alternative.
+an alternative, or use `split()` to turn the string into a list of characters.
Index zero gives the first byte. This is like it works in C. Careful:
text column numbers start with one! Example, to get the byte under the
@@ -2046,6 +2047,7 @@
readfile( {fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
reltime( [{start} [, {end}]]) List get time value
+reltimefloat( {time}) Float turn the time value into a Float
reltimestr( {time}) String turn time value into a String
remote_expr( {server}, {string} [, {idvar}])
String send expression
@@ -2183,6 +2185,7 @@
Number write list of lines to file {fname}
xor( {expr}, {expr}) Number bitwise XOR
+
abs({expr}) *abs()*
Return the absolute value of {expr}. When {expr} evaluates to
a |Float| abs() returns a |Float|. When {expr} can be
@@ -2996,6 +2999,7 @@
When there is one argument {list} this is used as a |List|
with two, three or four item:
+ [{lnum}, {col}]
[{lnum}, {col}, {off}]
[{lnum}, {col}, {off}, {curswant}]
This is like the return value of |getpos()| or |getcurpos()|,
@@ -3400,7 +3404,10 @@
similar to using ":normal!". You can call feedkeys()
several times without 'x' and then one time with 'x'
(possibly with an empty {string}) to execute all the
- typeahead.
+ typeahead. Note that when Vim ends in Insert mode it
+ will behave as if <Esc> is typed, to avoid getting
+ stuck, waiting for a character to be typed before the
+ script continues.
Return value is always 0.
filereadable({file}) *filereadable()*
@@ -4633,7 +4640,7 @@
"fail" job failed to start
"dead" job died or was stopped after running
- If an exit callback was set with the "exit-cb" option and the
+ If an exit callback was set with the "exit_cb" option and the
job is now detected to be "dead" the callback will be invoked.
For more information see |job_info()|.
@@ -5642,7 +5649,8 @@
reltime([{start} [, {end}]]) *reltime()*
Return an item that represents a time value. The format of
the item depends on the system. It can be passed to
- |reltimestr()| to convert it to a string.
+ |reltimestr()| to convert it to a string or |reltimefloat()|
+ to convert to a Float.
Without an argument it returns the current time.
With one argument is returns the time passed since the time
specified in the argument.
@@ -5652,6 +5660,16 @@
reltime().
{only available when compiled with the |+reltime| feature}
+reltimefloat({time}) *reltimefloat()*
+ Return a Float that represents the time value of {time}.
+ Example: >
+ let start = reltime()
+ call MyFunction()
+ let seconds = reltimefloat(reltime(start))
+< See the note of reltimestr() about overhead.
+ Also see |profiling|.
+ {only available when compiled with the |+reltime| feature}
+
reltimestr({time}) *reltimestr()*
Return a String that represents the time value of {time}.
This is the number of seconds, a dot and the number of
@@ -7340,7 +7358,7 @@
tabpage.
Return 1 if successful, 0 if the window cannot be found.
-win_id2tabwin({expr} *win_id2tabwin()*
+win_id2tabwin({expr}) *win_id2tabwin()*
Return a list with the tab number and window number of window
with ID {expr}: [tabnr, winnr].
Return [0, 0] if the window cannot be found.
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 605b998..c657790 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
+*gui_x11.txt* For Vim version 7.4. Last change: 2016 Apr 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -305,7 +305,7 @@
"arrow" pointer is used.
==============================================================================
-5. GTK version *gui-gtk* *GTK+* *GTK*
+5. GTK version *gui-gtk* *GTK+* *GTK* *GTK3*
The GTK version of the GUI works a little bit different.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 09cb325..23d981a 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 7.4. Last change: 2016 Feb 27
+*help.txt* For Vim version 7.4. Last change: 2016 Mar 31
VIM - main help file
k
@@ -178,6 +178,7 @@
|version5.txt| Differences between Vim version 4.6 and 5.x
|version6.txt| Differences between Vim version 5.7 and 6.x
|version7.txt| Differences between Vim version 6.4 and 7.x
+|version8.txt| Differences between Vim version 7.4 and 8.x
*sys-file-list*
Remarks about specific systems ~
|os_390.txt| OS/390 Unix
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 2d52d13..2a06b63 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 7.4. Last change: 2016 Mar 28
+*helphelp.txt* For Vim version 7.4. Last change: 2016 Apr 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -322,6 +322,10 @@
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
+When referring to a Vim command and to create a hot-link, place the
+name between two backticks, eg. inside `:filetype`. You will see this is
+highlighted as a command, like a code block (see below).
+
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 6ddf076..b354ddf 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.4. Last change: 2016 Apr 03
+*options.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2646,7 +2646,7 @@
also 'gdefault' option.
Switching this option on is discouraged!
- *'emoji'* *'emo'*
+ *'emoji'* *'emo'* *'noemoji'* *'noemo'*
'emoji' 'emo' boolean (default: on)
global
{not in Vi}
@@ -3634,7 +3634,7 @@
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
Normally you would use "cDEFAULT".
- qXX - quality XX. Valid charsets are: PROOF, DRAFT,
+ qXX - quality XX. Valid quality names are: PROOF, DRAFT,
ANTIALIASED, UNANTIALIASED, CLEARTYPE, DEFAULT.
Normally you would use "qDEFAULT".
Some quality values isn't supported in legacy OSs.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 2a3d2c4..9cb6e11 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.4. Last change: 2016 Jan 03
+*pattern.txt* For Vim version 7.4. Last change: 2016 Apr 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1104,8 +1104,8 @@
'/', alphabetic, numeric, '_' or '~'.
These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multi-byte characters when using the new
- regexp engine. In the future these items may work for multi-byte
- characters.
+ regexp engine. See |two-engines|. In the future these items may
+ work for multi-byte characters.
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. This
diff --git a/runtime/doc/pi_logipat.txt b/runtime/doc/pi_logipat.txt
index ea3acda..d2eac80 100644
--- a/runtime/doc/pi_logipat.txt
+++ b/runtime/doc/pi_logipat.txt
@@ -1,25 +1,25 @@
-*pi_logipat.txt* Logical Patterns Mar 13, 2013
+*logiPat.txt* Logical Patterns Jun 22, 2015
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
-Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
+Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
(see |copyright|) except use "LogiPat" instead of "Vim"
No warranty, express or implied. Use At-Your-Own-Risk.
==============================================================================
-1. Contents *logipat* *logipat-contents*
+1. Contents *logiPat* *logiPat-contents*
- 1. Contents.................: |logipat-contents|
- 2. LogiPat Manual...........: |logipat-manual|
- 3. LogiPat Examples.........: |logipat-examples|
- 4. Caveat...................: |logipat-caveat|
- 5. LogiPat History..........: |logipat-history|
+ 1. Contents.................: |logiPat-contents|
+ 2. LogiPat Manual...........: |logiPat-manual|
+ 3. LogiPat Examples.........: |logiPat-examples|
+ 4. Caveat...................: |logiPat-caveat|
+ 5. LogiPat History..........: |logiPat-history|
+
==============================================================================
-2. LogiPat Manual *logipat-manual* *logipat-man*
+2. LogiPat Manual *logiPat-manual* *logiPat-man*
-
- *logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
+ *logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators*
Boolean logic patterns are composed of
operators ! = not
@@ -30,13 +30,12 @@
:LogiPat {boolean-logic pattern} *:LogiPat*
:LogiPat is a command which takes a boolean-logic
- argument (|logipat-arg|).
+ argument (|logiPat-arg|).
:LP {boolean-logic pattern} *:LP*
:LP is a shorthand command version of :LogiPat
- (|:LogiPat|).
- :ELP {boolean-logic pattern} *:ELP*
+ :LPE {boolean-logic pattern} *:LPE*
No search is done, but the conversion from the
boolean logic pattern to the regular expression
is performed and echoed onto the display.
@@ -59,8 +58,9 @@
To get a " inside a pattern, as opposed to having it delimit
the pattern, double it.
+
==============================================================================
-3. LogiPat Examples *logipat-examples*
+3. LogiPat Examples *logiPat-examples*
LogiPat takes Boolean logic arguments and produces a regular
expression which implements the choices. A series of examples
@@ -96,22 +96,26 @@
==============================================================================
-4. Caveat *logipat-caveat*
+4. Caveat *logiPat-caveat*
The "not" operator may be fragile; ie. it may not always play well
with the & (logical-and) and | (logical-or) operators. Please try out
your patterns, possibly with :set hls, to insure that what is matching
is what you want.
-==============================================================================
-3. LogiPat History *logipat-history*
+==============================================================================
+3. LogiPat History *logiPat-history*
+
+ v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard
+ plugin distribution; hence the name change
v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
in \%(...\) parentheses
- Dec 12, 2011 * |:ELP| added
+ Dec 12, 2011 * |:LPE| added
* "" is mapped to a single " and left inside patterns
v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
v1 May 23, 2005 * initial release
+
==============================================================================
vim:tw=78:ts=8:ft=help
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index bbc7498..68103b5 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,12 +1,12 @@
-*pi_vimball.txt* For Vim version 7.4. Last change: 2012 Jan 17
+*pi_vimball.txt* For Vim version 7.4. Last change: 2016 Apr 11
----------------
Vimball Archiver
----------------
-Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
+Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
-Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *Vimball-copyright*
+Copyright: (c) 2004-2015 by Charles E. Campbell *Vimball-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
except use "vimball" instead of "VIM". Like anything else that's free,
@@ -99,10 +99,10 @@
If it doesn't exist, then if g:vimball_mkdir doesn't exist, it is set
as follows: >
- |g:netrw_local_mkdir|, if it exists
- "mkdir" , if it is executable
- "makedir" , if it is executable
- Otherwise , it is undefined.
+ |g:netrw_localmkdir|, if it exists
+ "mkdir" , if it is executable
+ "makedir" , if it is executable
+ Otherwise , it is undefined.
< One may explicitly specify the directory making command using
g:vimball_mkdir. This command is used to make directories that
are needed as indicated by the vimball.
@@ -120,8 +120,7 @@
source the file to extract its contents.
Extraction will only proceed if the first line of a putative vimball
- file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
- line.
+ file holds the "Vimball Archiver by Charles E. Campbell" line.
LISTING FILES IN A VIMBALL *:VimballList*
@@ -182,13 +181,16 @@
==============================================================================
4. Vimball History *vimball-history* {{{1
+ 37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
+ the autocmds in vimballPlugin.vim
+ Jul 06, 2015 * there are two uses of tabc; changed to tabc!
34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
its now turned off)
- 32 : May 19, 2010 * (Christian Brabandt) :so someplugin.vba and
+ 32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
:so someplugin.vba.gz (and the other supported
compression types) now works
* (Jan Steffens) added support for xz compression
@@ -200,6 +202,7 @@
MkVimball, however, now will create *.vmb files.
Feb 11, 2011 * motoyakurotsu reported an error with vimball's
handling of zero-length files
+ Feb 18, 2016 * Changed =~ to =~# where appropriate
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 8d415ae..f42ea82 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 7.4. Last change: 2016 Feb 24
+*quickref.txt* For Vim version 7.4. Last change: 2016 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -679,6 +679,7 @@
'display' 'dy' list of flags for how to display text
'eadirection' 'ead' in which direction 'equalalways' works
'edcompatible' 'ed' toggle flags of ":substitute" command
+'emoji' 'emo' emoji characters are considered full width
'encoding' 'enc' encoding used internally
'endofline' 'eol' write <EOL> for last line in file
'equalalways' 'ea' windows are automatically made the same size
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index e2c4c2f..92ab585 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 7.4. Last change: 2016 Mar 27
+*repeat.txt* For Vim version 7.4. Last change: 2016 Apr 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -72,8 +72,8 @@
The global commands work by first scanning through the [range] lines and
marking each line where a match occurs (for a multi-line pattern, only the
start of the match matters).
-In a second scan the [cmd] is executed for each marked line with its line
-number prepended. For ":v" and ":g!" the command is executed for each not
+In a second scan the [cmd] is executed for each marked line, as if the cursor
+was in that line. For ":v" and ":g!" the command is executed for each not
marked line. If a line is deleted its mark disappears.
The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
the command. If an error message is given for a line, the command for that
@@ -234,8 +234,11 @@
there yet.
Note that {name} is the directory name, not the name
- of the .vim file. If the "{name}/plugin" directory
- contains more than one file they are all sourced.
+ of the .vim file. All the files matching the pattern
+ pack/*/opt/{name}/plugin/**/*.vim ~
+ will be sourced. This allows for using subdirectories
+ below "plugin", just like with plugins in
+ 'runtimepath'.
If the filetype detection was not enabled yet (this
is usually done with a "syntax enable" or "filetype
@@ -251,15 +254,24 @@
Also see |pack-add|.
*:packl* *:packloadall*
-:packloadall[!] Load all packages in the "start" directories under
- 'packpath'. The directories found are added to
- 'runtimepath'.
+:packl[oadall][!] Load all packages in the "start" directory under each
+ entry in 'packpath'.
+
+ First all the directories found are added to
+ 'runtimepath', then the plugins found in the
+ directories are sourced. This allows for a plugin to
+ depend on something of another plugin, e.g. an
+ "autoload" directory. See |packload-two-steps| for
+ how this can be useful.
+
This is normally done automatically during startup,
after loading your .vimrc file. With this command it
can be done earlier.
+
Packages will be loaded only once. After this command
it won't happen again. When the optional ! is added
this command will load packages even when done before.
+
An error only causes sourcing the script where it
happens to be aborted, further plugins will be loaded.
See |packages|.
@@ -471,8 +483,9 @@
pack/foo/opt/foodebug/plugin/debugger.vim
When Vim starts up, after processing your .vimrc, it scans all directories in
-'packpath' for plugins under the "pack/*/start" directory and loads them. The
-directory is added to 'runtimepath'.
+'packpath' for plugins under the "pack/*/start" directory. First all those
+directories are added to 'runtimepath'. Then all the plugins are loaded.
+See |packload-two-steps| for how these two steps can be useful.
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
"~/.vim/pack/foo/start/foobar" to 'runtimepath'.
@@ -599,6 +612,23 @@
:helptags path/start/foobar/doc
:helptags path/opt/fooextra/doc
+
+Dependencies between plugins ~
+ *packload-two-steps*
+Suppose you have a two plugins that depend on the same functionality. You can
+put the common functionality in an autoload directory, so that it will be
+found automatically. Your package would have these files:
+
+ pack/foo/start/one/plugin/one.vim >
+ call foolib#getit()
+< pack/foo/start/two/plugin/two.vim >
+ call foolib#getit()
+< pack/foo/start/lib/autoload/foolib.vim >
+ func foolib#getit()
+
+This works, because loading packages will first add all found directories to
+'runtimepath' before sourcing the plugins.
+
==============================================================================
7. Debugging scripts *debug-scripts*
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index d2c44b9..050afcd 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.4. Last change: 2016 Mar 26
+*starting.txt* For Vim version 7.4. Last change: 2016 Apr 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -865,9 +865,10 @@
commands from the command line have not been executed yet. You can
use "--cmd 'set noloadplugins'" |--cmd|.
- Plugin packs are loaded. These are plugins, as above, but found in
- 'packpath' "start" directories. Every plugin directory found is added
- in 'runtimepath'. See |packages|.
+ Packages are loaded. These are plugins, as above, but found in the
+ "start" directory of each entry in 'packpath'. Every plugin directory
+ found is added in 'runtimepath' and then the plugins are sourced. See
+ |packages|.
5. Set 'shellpipe' and 'shellredir'
The 'shellpipe' and 'shellredir' options are set according to the
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index f635111..ab5c083 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.4. Last change: 2016 Mar 12
+*syntax.txt* For Vim version 7.4. Last change: 2016 Apr 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -941,26 +941,27 @@
:unlet c_comment_strings
Variable Highlight ~
-c_gnu GNU gcc specific items
-c_comment_strings strings and numbers inside a comment
-c_space_errors trailing white space and spaces before a <Tab>
-c_no_trail_space_error ... but no trailing spaces
-c_no_tab_space_error ... but no spaces before a <Tab>
-c_no_bracket_error don't highlight {}; inside [] as errors
-c_no_curly_error don't highlight {}; inside [] and () as errors;
+*c_gnu* GNU gcc specific items
+*c_comment_strings* strings and numbers inside a comment
+*c_space_errors* trailing white space and spaces before a <Tab>
+*c_no_trail_space_error* ... but no trailing spaces
+*c_no_tab_space_error* ... but no spaces before a <Tab>
+*c_no_bracket_error* don't highlight {}; inside [] as errors
+*c_no_curly_error* don't highlight {}; inside [] and () as errors;
except { and } in first column
-c_curly_error highlight a missing }; this forces syncing from the
+*c_curly_error* highlight a missing }; this forces syncing from the
start of the file, can be slow
-c_no_ansi don't do standard ANSI types and constants
-c_ansi_typedefs ... but do standard ANSI types
-c_ansi_constants ... but do standard ANSI constants
-c_no_utf don't highlight \u and \U in strings
-c_syntax_for_h for *.h files use C syntax instead of C++ and use objc
+*c_no_ansi* don't do standard ANSI types and constants
+*c_ansi_typedefs* ... but do standard ANSI types
+*c_ansi_constants* ... but do standard ANSI constants
+*c_no_utf* don't highlight \u and \U in strings
+*c_syntax_for_h* for *.h files use C syntax instead of C++ and use objc
syntax instead of objcpp
-c_no_if0 don't highlight "#if 0" blocks as comments
-c_no_cformat don't highlight %-formats in strings
-c_no_c99 don't highlight C99 standard items
-c_no_c11 don't highlight C11 standard items
+*c_no_if0* don't highlight "#if 0" blocks as comments
+*c_no_cformat* don't highlight %-formats in strings
+*c_no_c99* don't highlight C99 standard items
+*c_no_c11* don't highlight C11 standard items
+*c_no_bsd* don't highlight BSD specific types
When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will
become a fold. If you don't want comments to become a fold use: >
@@ -5047,6 +5048,9 @@
:syntax reset
+It is a bit of a wrong name, since it does not reset any syntax items, it only
+affects the highlighting.
+
This doesn't change the colors for the 'highlight' option.
Note that the syntax colors that you set in your vimrc file will also be reset
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a11cf6c..ec0e580 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -538,6 +538,8 @@
'noed' options.txt /*'noed'*
'noedcompatible' options.txt /*'noedcompatible'*
'noek' options.txt /*'noek'*
+'noemo' options.txt /*'noemo'*
+'noemoji' options.txt /*'noemoji'*
'noendofline' options.txt /*'noendofline'*
'noeol' options.txt /*'noeol'*
'noequalalways' options.txt /*'noequalalways'*
@@ -1867,7 +1869,6 @@
:CompilerSet usr_41.txt /*:CompilerSet*
:DiffOrig diff.txt /*:DiffOrig*
:DoMatchParen pi_paren.txt /*:DoMatchParen*
-:ELP pi_logipat.txt /*:ELP*
:Explore pi_netrw.txt /*:Explore*
:GLVS pi_getscript.txt /*:GLVS*
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
@@ -1876,6 +1877,7 @@
:GnatTags ft_ada.txt /*:GnatTags*
:Hexplore pi_netrw.txt /*:Hexplore*
:LP pi_logipat.txt /*:LP*
+:LPE pi_logipat.txt /*:LPE*
:LPF pi_logipat.txt /*:LPF*
:Lexplore pi_netrw.txt /*:Lexplore*
:LogiPat pi_logipat.txt /*:LogiPat*
@@ -4502,6 +4504,7 @@
GNOME gui_x11.txt /*GNOME*
GTK gui_x11.txt /*GTK*
GTK+ gui_x11.txt /*GTK+*
+GTK3 gui_x11.txt /*GTK3*
GUI gui.txt /*GUI*
GUI-X11 gui_x11.txt /*GUI-X11*
GUIEnter autocmd.txt /*GUIEnter*
@@ -4952,6 +4955,8 @@
assert_fails() eval.txt /*assert_fails()*
assert_false() eval.txt /*assert_false()*
assert_match() eval.txt /*assert_match()*
+assert_notequal() eval.txt /*assert_notequal()*
+assert_notmatch() eval.txt /*assert_notmatch()*
assert_true() eval.txt /*assert_true()*
at motion.txt /*at*
atan() eval.txt /*atan()*
@@ -5073,6 +5078,7 @@
bug-fixes-5 version5.txt /*bug-fixes-5*
bug-fixes-6 version6.txt /*bug-fixes-6*
bug-fixes-7 version7.txt /*bug-fixes-7*
+bug-fixes-8 version8.txt /*bug-fixes-8*
bug-reports intro.txt /*bug-reports*
bugreport.vim intro.txt /*bugreport.vim*
bugs intro.txt /*bugs*
@@ -5166,7 +5172,25 @@
c_Left cmdline.txt /*c_Left*
c_Right cmdline.txt /*c_Right*
c_Up cmdline.txt /*c_Up*
+c_ansi_constants syntax.txt /*c_ansi_constants*
+c_ansi_typedefs syntax.txt /*c_ansi_typedefs*
+c_comment_strings syntax.txt /*c_comment_strings*
+c_curly_error syntax.txt /*c_curly_error*
c_digraph cmdline.txt /*c_digraph*
+c_gnu syntax.txt /*c_gnu*
+c_no_ansi syntax.txt /*c_no_ansi*
+c_no_bracket_error syntax.txt /*c_no_bracket_error*
+c_no_bsd syntax.txt /*c_no_bsd*
+c_no_c11 syntax.txt /*c_no_c11*
+c_no_c99 syntax.txt /*c_no_c99*
+c_no_cformat syntax.txt /*c_no_cformat*
+c_no_curly_error syntax.txt /*c_no_curly_error*
+c_no_if0 syntax.txt /*c_no_if0*
+c_no_tab_space_error syntax.txt /*c_no_tab_space_error*
+c_no_trail_space_error syntax.txt /*c_no_trail_space_error*
+c_no_utf syntax.txt /*c_no_utf*
+c_space_errors syntax.txt /*c_space_errors*
+c_syntax_for_h syntax.txt /*c_syntax_for_h*
c_wildchar cmdline.txt /*c_wildchar*
call() eval.txt /*call()*
carriage-return intro.txt /*carriage-return*
@@ -5327,6 +5351,7 @@
compile-changes-5 version5.txt /*compile-changes-5*
compile-changes-6 version6.txt /*compile-changes-6*
compile-changes-7 version7.txt /*compile-changes-7*
+compile-changes-8 version8.txt /*compile-changes-8*
compiler-compaqada ft_ada.txt /*compiler-compaqada*
compiler-decada ft_ada.txt /*compiler-decada*
compiler-gcc quickfix.txt /*compiler-gcc*
@@ -6783,6 +6808,7 @@
improvements-5 version5.txt /*improvements-5*
improvements-6 version6.txt /*improvements-6*
improvements-7 version7.txt /*improvements-7*
+improvements-8 version8.txt /*improvements-8*
in_bot channel.txt /*in_bot*
in_buf channel.txt /*in_buf*
in_mode channel.txt /*in_mode*
@@ -6795,6 +6821,7 @@
incompatible-5 version5.txt /*incompatible-5*
incompatible-6 version6.txt /*incompatible-6*
incompatible-7 version7.txt /*incompatible-7*
+incompatible-8 version8.txt /*incompatible-8*
indent() eval.txt /*indent()*
indent-expression indent.txt /*indent-expression*
indent.txt indent.txt /*indent.txt*
@@ -6988,18 +7015,19 @@
location-list-window quickfix.txt /*location-list-window*
log() eval.txt /*log()*
log10() eval.txt /*log10()*
-logipat pi_logipat.txt /*logipat*
-logipat-arg pi_logipat.txt /*logipat-arg*
-logipat-caveat pi_logipat.txt /*logipat-caveat*
-logipat-contents pi_logipat.txt /*logipat-contents*
-logipat-copyright pi_logipat.txt /*logipat-copyright*
-logipat-examples pi_logipat.txt /*logipat-examples*
-logipat-history pi_logipat.txt /*logipat-history*
-logipat-input pi_logipat.txt /*logipat-input*
-logipat-man pi_logipat.txt /*logipat-man*
-logipat-manual pi_logipat.txt /*logipat-manual*
-logipat-operators pi_logipat.txt /*logipat-operators*
-logipat-pattern pi_logipat.txt /*logipat-pattern*
+logiPat pi_logipat.txt /*logiPat*
+logiPat-arg pi_logipat.txt /*logiPat-arg*
+logiPat-caveat pi_logipat.txt /*logiPat-caveat*
+logiPat-contents pi_logipat.txt /*logiPat-contents*
+logiPat-copyright pi_logipat.txt /*logiPat-copyright*
+logiPat-examples pi_logipat.txt /*logiPat-examples*
+logiPat-history pi_logipat.txt /*logiPat-history*
+logiPat-input pi_logipat.txt /*logiPat-input*
+logiPat-man pi_logipat.txt /*logiPat-man*
+logiPat-manual pi_logipat.txt /*logiPat-manual*
+logiPat-operators pi_logipat.txt /*logiPat-operators*
+logiPat-pattern pi_logipat.txt /*logiPat-pattern*
+logiPat.txt pi_logipat.txt /*logiPat.txt*
long-lines version5.txt /*long-lines*
love intro.txt /*love*
lowercase change.txt /*lowercase*
@@ -7452,6 +7480,7 @@
new-5 version5.txt /*new-5*
new-6 version6.txt /*new-6*
new-7 version7.txt /*new-7*
+new-8 version8.txt /*new-8*
new-GTK-GUI version5.txt /*new-GTK-GUI*
new-MzScheme version7.txt /*new-MzScheme*
new-Select-mode version5.txt /*new-Select-mode*
@@ -7484,6 +7513,7 @@
new-indent-flex version6.txt /*new-indent-flex*
new-items-6 version6.txt /*new-items-6*
new-items-7 version7.txt /*new-items-7*
+new-items-8 version8.txt /*new-items-8*
new-line-continuation version5.txt /*new-line-continuation*
new-location-list version7.txt /*new-location-list*
new-lua version7.txt /*new-lua*
@@ -7526,6 +7556,7 @@
new-utf-8 version6.txt /*new-utf-8*
new-vertsplit version6.txt /*new-vertsplit*
new-vim-script version7.txt /*new-vim-script*
+new-vim-script-8 version8.txt /*new-vim-script-8*
new-vim-server version6.txt /*new-vim-server*
new-vimgrep version7.txt /*new-vimgrep*
new-virtedit version6.txt /*new-virtedit*
@@ -7611,6 +7642,7 @@
pack-add repeat.txt /*pack-add*
package-create repeat.txt /*package-create*
packages repeat.txt /*packages*
+packload-two-steps repeat.txt /*packload-two-steps*
page-down intro.txt /*page-down*
page-up intro.txt /*page-up*
page_down intro.txt /*page_down*
@@ -7619,6 +7651,7 @@
papp.vim syntax.txt /*papp.vim*
paragraph motion.txt /*paragraph*
pascal.vim syntax.txt /*pascal.vim*
+patches-8 version8.txt /*patches-8*
pathshorten() eval.txt /*pathshorten()*
pattern pattern.txt /*pattern*
pattern-atoms pattern.txt /*pattern-atoms*
@@ -7670,7 +7703,6 @@
phtml.vim syntax.txt /*phtml.vim*
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
-pi_logipat.txt pi_logipat.txt /*pi_logipat.txt*
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
pi_paren.txt pi_paren.txt /*pi_paren.txt*
pi_spec.txt pi_spec.txt /*pi_spec.txt*
@@ -7871,6 +7903,7 @@
regular-expression pattern.txt /*regular-expression*
reload editing.txt /*reload*
reltime() eval.txt /*reltime()*
+reltimefloat() eval.txt /*reltimefloat()*
reltimestr() eval.txt /*reltimestr()*
remote.txt remote.txt /*remote.txt*
remote_expr() eval.txt /*remote_expr()*
@@ -8260,6 +8293,7 @@
sublist eval.txt /*sublist*
submatch() eval.txt /*submatch()*
subscribe-maillist intro.txt /*subscribe-maillist*
+subscript eval.txt /*subscript*
substitute() eval.txt /*substitute()*
substitute-CR version6.txt /*substitute-CR*
suffixes cmdline.txt /*suffixes*
@@ -8919,6 +8953,7 @@
version-7.2 version7.txt /*version-7.2*
version-7.3 version7.txt /*version-7.3*
version-7.4 version7.txt /*version-7.4*
+version-8.0 version8.txt /*version-8.0*
version-variable eval.txt /*version-variable*
version4.txt version4.txt /*version4.txt*
version5.txt version5.txt /*version5.txt*
@@ -8929,6 +8964,8 @@
version7.3 version7.txt /*version7.3*
version7.4 version7.txt /*version7.4*
version7.txt version7.txt /*version7.txt*
+version8.0 version8.txt /*version8.0*
+version8.txt version8.txt /*version8.txt*
vi intro.txt /*vi*
vi-differences vi_diff.txt /*vi-differences*
vi: options.txt /*vi:*
@@ -8937,6 +8974,8 @@
view-diffs diff.txt /*view-diffs*
view-file starting.txt /*view-file*
views-sessions starting.txt /*views-sessions*
+vim-7.4 version7.txt /*vim-7.4*
+vim-8 version8.txt /*vim-8*
vim-additions vi_diff.txt /*vim-additions*
vim-announce intro.txt /*vim-announce*
vim-arguments starting.txt /*vim-arguments*
@@ -8950,6 +8989,7 @@
vim-variable eval.txt /*vim-variable*
vim.vim syntax.txt /*vim.vim*
vim7 version7.txt /*vim7*
+vim8 version8.txt /*vim8*
vim: options.txt /*vim:*
vim_did_enter-variable eval.txt /*vim_did_enter-variable*
vim_starting eval.txt /*vim_starting*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index e9a6d91..ff359b1 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.4. Last change: 2016 Mar 29
+*todo.txt* For Vim version 7.4. Last change: 2016 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,14 +27,31 @@
See |develop.txt| for development plans. You can vote for which items should
be worked on, but only if you sponsor Vim development. See |sponsor|.
-Issues can also be entered online: http://code.google.com/p/vim/issues/list
+Issues can also be entered online: https://github.com/vim/vim/issues
Updates will be forwarded to the vim_dev maillist. Issues entered there will
not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Using free memory. (Dominique, 2016 Mar 27)
+Crash in garbagecollect() after starting a job. (Yasuhiro Matsumoto)
+ :let g:a = job_start(['ls'])
+ :call garbagecollect()
+-> Need to find a way to call garbagecollect() in a test.
+
+Channel closes unexpectedly. (Christian Robinson, 2016 Apr 10)
+Log file later.
+Remarks from Kazunobu Kuriyama. Fix from Hirohito, suggested by Ozaki Kiichi.
+
+When test_partial start_job() has a non-existing command memory leaks.
+
+Vim 8 features to mention:
+* TabNew, TabNewEntered and TabClosed autocommand events.
+
+Also keep a list of loaded plugins, skip when encountered again?
+
+Memory leak in test49
+Memory leak in test_alot, with matchstrpos()
+channel:
- When a message in the queue but there is no callback, drop it after a while?
@@ -50,23 +67,17 @@
- job_start(): run job in a newly opened terminal.
With xterm could use -S{pty}.
-Partial:
-- Maybe we also need VAR_PARTIAL support in if_mzsch.
+Test for try/catch in 'tabline'. #746, Haya, 2016 Apr 10.
Make it so that the window ID can be used where currently a window nr is used
-Patch to add "q" item to guifont. #720, Kim Brouer, 2016 Mar 29
-Better patch from Yasuhiro Matsumoto, 2016 Jan 4.
-
Patch to make tag jump work on function({expr}). (Hirohito Higashi, 2016 Mar
25)
-Allow for an empty dictionary key?
-
Patch to improve I/O for Perl. (Damien, 2016 Jan 9, update Jan 22 2nd one)
-Patch to fix ml_get error. (Alexander Freiherr von Buddenbrock, 2016 Mar 4,
-#676)
+Add strgetchar(): get a character by index from a string.
+ using [] is a byte index.
Regexp problems:
- The regexp engines are not reentrant, causing havoc when interrupted by a
@@ -89,6 +100,7 @@
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
- Does not work with NFA regexp engine:
\%u, \%x, \%o, \%d followed by a composing character
+- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
2015 Feb 7)
@@ -114,21 +126,31 @@
Patch 7.4.1401 caused autochdir not to work on startup. (Rob Hoelz, #704)
+Patch to support partions for Python, #734. Nikolai Pavlov, 2017 Apr 6
+
Patch to fix that folds close with autocomplete. #643
Christian Brabandt, 2016 Feb 18.
Also include update_curswant() fix for getcurpos(). (Christian Brabandt, 2016
Feb 9)
+When cross-compiling skip generating the tags file (and moving it out of the
+way). (Christian Neukirchen, 2016 Apr 7) #740
+
Patch to list some messages and clear messages. (Yasuhiro Matsumoto, 2016 Mar
12)
Patch to fix escaping special characters for delete(). (tc-0, 2016 Mar 20,
#700) Test fails on MS-Windows.
+Patch to have complete() not set 'modified'. (Shougo, 2016 Apr 9, #745)
+
Patch to put undo options together in undo window.
(Gary Johnson, 2016 Jan 28)
+Still problems with 'emoji'. See issue #721. Patch 7.4.1697 half-fixes it.
+Avoid PLAN_WRITE in windgoto() ?
+
Patch to have better check for {action} argument of setqflist().
Nikolai Pavlov, Feb 25, #661. Can be even more strict.
Also see patch from Hirohito Higash, Feb 25.
@@ -141,6 +163,11 @@
Cannot delete a file with square brackets with delete(). (#696)
+Patch on issue #728 by Christian Brabandt, 2016 Apr 7. Update with test: Apr 8.
+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)
+
Patch to add 'topbot' to 'belloff' option. (Coot, 2016 Mar 18, #695)
Patch to make matchit work better, respect 'matchpairs'. (Ken Takata, 2016 Mar
@@ -164,7 +191,13 @@
Update 2016 Mar 28. Can include all parts into one dist patch.
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
-Update 2016 Mar 28.
+Update 2016 Apr 4.
+
+Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
+Updated 2016 Feb 10
+
+Patch to improve indenting for C++ constructor with initializer list.
+(Hirohito Higashi, 2016 Mar 31)
After 7.5 is released:
- Drop support for older MS-Windows systems, before XP.
@@ -193,6 +226,8 @@
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
+Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
+
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
@@ -224,18 +259,22 @@
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
+7 Add a watchpoint in the debug mode: An expression that breaks execution
+ when evaluating to non-zero. Add the "watchadd expr" command, stop when
+ the value of the expression changes. ":watchdel" deletes an item,
+ ":watchlist" lists the items. (Charles Campbell)
+Patch by Christian Brabandt, 2016 Feb 1.
+
+Patch to discard remainder of long error messages in quickfix, avoid using
+them as separate messages. (Anton Lindqvist, 2016 Apr 9)
+
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Add value "smart" to 'tagcase': ignore case when tag is all lower case.
-
-7 Add a watchpoint in the debug mode: An expression that breaks execution
- when evaluating to non-zero. Add the "watchadd expr" command, stop when
- the value of the expression changes. ":watchdel" deletes an item,
- ":watchlist" lists the items. (Charles Campbell)
-Patch by Christian Brabandt, 2016 Feb 1.
+Patch from Christian Brabandt, 2016 Mar 30, #712.
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
@@ -311,7 +350,7 @@
inconsistent with the documentation.
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
-13, last version) Update Mar 21.
+13, last version) Update Mar 21., Apr 2.
Can we cache the syntax attributes, so that updates for 'relativenumber' and
'cursorline'/'cursorcolumn' are a lot faster?
@@ -324,7 +363,7 @@
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
24) Also need a way to get the global arg list? Update later on Jan 24
-Update Mar 5.
+Update Mar 5. Update Apr 7.
To support Thai (and other languages) word boundaries, include the ICU
library: http://userguide.icu-project.org/boundaryanalysis
@@ -332,9 +371,6 @@
When complete() first argument is before where insert started and 'backspace'
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
-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)
-
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
30)
@@ -369,8 +405,8 @@
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
-Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
-26, update 2013 Dec 14, another 2014 Nov 22)
+Patch to add GUI colors to the terminal, when 'guicolors' is set. (ZyX, 2013
+Jan 26, update 2013 Dec 14, another 2014 Nov 22)
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
Sep 10)
@@ -379,7 +415,7 @@
Needs a different check for CLEARTYPE_QUALITY.
Problem mentioned by Christian Brabandt, 2016 Jan 4.
-Example in editing.txt uses $HOME with the expectating that it ends in a
+Example in editing.txt uses $HOME with the expectation that it ends in a
slash. For me it does, but perhaps not for everybody. Add a function that
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
@@ -404,6 +440,7 @@
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on issue 543 (Roland Puntaier).
+Also see #737: langmap not applied to replaying recording.
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
@@ -539,9 +576,6 @@
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
insert a space. (Micha Mos, 2014 Nov 7)
-Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
-Updated 2016 Feb 10
-
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
No error for missing endwhile. (ZyX, 2014 Mar 20)
@@ -781,6 +815,9 @@
May 19: with local variables.
May 28: with options
+Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
+Lakshmanan, 2016 Apr 2016)
+
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
28) With tests: Oct 9.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 4ce4c23..8bbc29d 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 7.4. Last change: 2016 Mar 27
+*usr_41.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM USER MANUAL - by Bram Moolenaar
@@ -769,6 +769,7 @@
strftime() convert time to a string
reltime() get the current or elapsed time accurately
reltimestr() convert reltime() result to a string
+ reltimefloat() convert reltime() result to a Float
*buffer-functions* *window-functions* *arg-functions*
Buffers, windows and the argument list:
@@ -891,7 +892,9 @@
Testing: *test-functions*
assert_equal() assert that two expressions values are equal
+ assert_notequal() assert that two expressions values are not equal
assert_match() assert that a pattern matches the value
+ assert_notmatch() assert that a pattern does not match the value
assert_false() assert that an expression is false
assert_true() assert that an expression is true
assert_exception() assert that a command throws an exception
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 90b80ca..0b38263 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.4. Last change: 2014 Aug 29
+*version7.txt* For Vim version 7.4. Last change: 2016 Apr 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1681,7 +1681,7 @@
The GTK font dialog uses a font size zero when the font name doesn't include a
size. Use a default size of 10.
-This example in the documentation didn't work:
+This example in the documentation didn't work: >
:e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.
@@ -10158,7 +10158,7 @@
Make the references to features in the help more consistent. (Sylvain Hitier)
==============================================================================
-VERSION 7.4 *version-7.4* *version7.4*
+VERSION 7.4 *version-7.4* *version7.4* *vim-7.4*
This section is about improvements made between version 7.3 and 7.4.
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
new file mode 100644
index 0000000..8d14a87
--- /dev/null
+++ b/runtime/doc/version8.txt
@@ -0,0 +1,233 @@
+*version8.txt* For Vim version 8.0. Last change: 2016 Apr 12
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+
+NOTE: THIS FILE IS STILL BEING WORKED ON
+
+ *vim8* *vim-8* *version-8.0* *version8.0*
+Welcome to Vim 8! A large number of bugs have been fixed and several
+features have been added. This file mentions all the new items and changes to
+existing features since Vim 7.4. Bug fixes, the patches for Vim 7.4, can be
+found below |vim-7.4|. Use this command to see the version you are using: >
+ :version
+
+See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
+See |version4.txt| for differences between Vim 3.x and Vim 4.x.
+See |version5.txt| for differences between Vim 4.x and Vim 5.x.
+See |version6.txt| for differences between Vim 5.x and Vim 6.x.
+See |version7.txt| for differences between Vim 6.x and Vim 7.x.
+
+INCOMPATIBLE CHANGES |incompatible-8|
+
+NEW FEATURES |new-8|
+
+Vim script enhancements |new-vim-script-8|
+
+IMPROVEMENTS |improvements-8|
+
+COMPILE TIME CHANGES |compile-changes-8|
+
+PATCHES |patches-8|
+
+
+==============================================================================
+INCOMPATIBLE CHANGES *incompatible-8*
+
+These changes are incompatible with previous releases. Check this list if you
+run into a problem when upgrading from Vim 7.4 to 8.0.
+
+The support for MS-DOS has been removed.
+
+
+Minor incompatibilities:
+
+For filetype detection: ...
+
+==============================================================================
+NEW FEATURES *new-8*
+
+First a list to the bigger new features. A comprehensive list is below.
+
+
+Asynchronous I/O support, channels ~
+
+Vim can now exchange messages with another process in the background. The
+message are received and handled while Vim is waiting for a character. See
+|channel-demo| for an example, communicating with a Python server.
+
+Closely related to channels is JSON support. JSON is widely supported and can
+easily be used for inter-process communication, allowing for writing a server
+in any language. The functions to use are |json_encode()| and |json_decode()|.
+
+
+Jobs ~
+
+Vim can now start a job, communicate with it and stop it. This is very useful
+to run a process for completion, syntax checking, etc. Channels are used to
+communicate with the job. Jobs can also read from or write to a buffer or a
+file. See |job_start()|.
+
+
+Timers ~
+
+Also asynchronous are timers. They can fire once or repeatedly and invoke a
+function to do any work. For example: >
+ let tempTimer = timer_start(4000, 'CheckTemp')
+This will make call 4 seconds later, like: >
+ call CheckTemp()
+
+
+Partials ~
+
+Vim already had a Funcref, a reference to a function. A partial also refers
+to a function, and additionally binds arguments and/or a dictionary. This is
+especially useful for callbacks on channels and timers. E.g., for the timer
+example above, to pass an argument to the function: >
+ let tempTimer = timer_start(4000, function('CheckTemp', ['out']))
+This will make call 4 seconds later, like: >
+ call CheckTemp('out')
+
+
+Packages ~
+
+Plugins keep growing and more of them are available then ever before. To keep
+the collection of plugins manageable package support has been added. This is
+a convenient way to get one or more plugins, drop them in a directory and
+possibly keep them updated. Vim will load them automatically, or only when
+desired. See |packages|.
+
+
+New style tests ~
+
+This is for Vim developers. So far writing tests for Vim has not been easy.
+Vim 8 adds assert functions and a framework to run tests. This makes it a lot
+simpler to write tests and keep them updated.
+
+These functions have been added:
+ |assert_equal()|
+ |assert_notequal()|
+ |assert_exception()|
+ |assert_fails()|
+ |assert_false()|
+ |assert_match()|
+ |assert_notmatch()|
+ |assert_true()|
+ |alloc_fail()|
+ |disable_char_avail_for_testing()|
+
+
+Window IDs ~
+
+Previously windows could only be accessed by their number. And every time a
+window would open, close or move that number changes. Each window now has a
+unique ID, so that they are easy to find.
+
+
+Wrapping lines with indent ~
+
+The 'breakindent' option has been added to be able to wrap lines without
+changing the amount of indent.
+
+
+Windows: Direct-X support ~
+
+This adds the 'renderoptions' option to allow for switching on Direct-X
+(DirectWrite) support on MS-Windows.
+
+
+GTK+ 3 support ~
+
+GTK+ 2 is getting old, GTK+ 3 is here. Support has been added and it already
+works quite well, mostly just like GTK+ 2.
+
+
+Vim script enhancements *new-vim-script-8*
+-----------------------
+
+In Vim scripts the following types have been added:
+
+ |Special| |v:false|, |v:true|, |v:none| and |v:null|
+ |Channel| connection to another process for asynchronous I/O
+ |Job| process control
+
+Many functions and commands have been added to support the new types.
+
+
+
+Various new items *new-items-8*
+-----------------
+
+Normal mode commands: ~
+
+
+Insert mode commands: ~
+
+
+Options: ~
+
+
+Ex commands: ~
+
+
+Ex command modifiers: ~
+
+
+Ex command arguments: ~
+
+
+New and extended functions: ~
+
+
+
+New Vim variables: ~
+
+|v:vim_did_enter| Set when VimEnter autocommands are triggered
+
+
+New autocommand events: ~
+
+
+
+New highlight groups: ~
+
+
+New items in search patterns: ~
+
+
+New Syntax/Indent/FTplugin files: ~
+
+
+New Keymaps: ~
+
+
+New message translations: ~
+
+
+Others: ~
+
+
+==============================================================================
+IMPROVEMENTS *improvements-8*
+
+The existing blowfish encryption turned out to be much weaker than it was
+supposed to be. The blowfish2 method has been added to fix that. Note that
+this still isn't a state-of-the-art encryption, but good enough for most
+usage. See 'cryptmethod'.
+
+==============================================================================
+COMPILE TIME CHANGES *compile-changes-8*
+
+Dropped the support for MS-DOS. It was too big to fit in memory.
+
+
+==============================================================================
+PATCHES *patches-8* *bug-fixes-8*
+
+The list of patches that got included since 7.4.0. This includes all the new
+features, but does not include runtime file changes (syntax, indent, help,
+etc.)
+
+TODO: INCLUDE PATCH LIST.
+
+ vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index e2dcd42..e3c8773 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -321,7 +321,7 @@
\-R
Read-only mode.
The 'readonly' option will be set.
-You can still edit the buffer, but will be prevented from accidently
+You can still edit the buffer, but will be prevented from accidentally
overwriting a file.
If you do want to overwrite a file, add an exclamation mark to the Ex command,
as in ":w!".