Updated runtime files.
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 47039e1..dd4b8d3 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt* For Vim version 7.4. Last change: 2016 Jun 02
+*channel.txt* For Vim version 7.4. Last change: 2016 Jul 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -495,6 +495,9 @@
job stdin. This allows for editing the last line and sending it when pressing
Enter.
+NUL bytes in the text will be passed to the job (internally Vim stores these
+as NL bytes).
+
Reading job output in the close callback ~
*read-in-close-cb*
@@ -684,7 +687,8 @@
first column of the last line, the cursor will be moved to the newly added
line and the window is scrolled up to show the cursor if needed.
-Undo is synced for every added line.
+Undo is synced for every added line. NUL bytes are accepted (internally Vim
+stores these as NL bytes).
Writing to a file ~
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 438e28e..d8fe9c0 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -3283,7 +3283,7 @@
It is not possible to use `:redir` anywhere in {command}.
To get a list of lines use |split()| on the result: >
- split(evalcmd('args'), "\n")
+ split(execute('args'), "\n")
< When used recursively the output of the recursive call is not
included in the output of the higher level call.
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 5584460..4b9299b 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.4. Last change: 2016 Jun 10
+*map.txt* For Vim version 7.4. Last change: 2016 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1274,6 +1274,7 @@
-complete=mapping mapping name
-complete=menu menus
-complete=option options
+ -complete=packadd optional package |pack-add| names
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 98017ec..f535fcf 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 Jul 01
+*options.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8180,10 +8180,10 @@
has been used since the last search command.
*viminfo-n*
n Name of the viminfo file. The name must immediately follow
- the 'n'. Must be the last one! If the "-i" argument was
- given when starting Vim, that file name overrides the one
- given here with 'viminfo'. Environment variables are expanded
- when opening the file, not when setting the option.
+ the 'n'. Must be at the end of the option! If the "-i"
+ argument was given when starting Vim, that file name overrides
+ the one given here with 'viminfo'. Environment variables are
+ expanded when opening the file, not when setting the option.
*viminfo-r*
r Removable media. The argument is a string (up to the next
','). This parameter can be given several times. Each
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 817703d..b613cf0 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 Jun 15
+*starting.txt* For Vim version 7.4. Last change: 2016 Jul 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1426,6 +1426,7 @@
BBB - value from session B
BOTH - value from session B, value from session A is lost
+ *viminfo-timestamp*
For some items a timestamp is used to keep the last changed version. Here it
doesn't matter in which sequence Vim sessions exit, the newest item(s) are
always kept. This is used for:
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a35bb7a..12ed733 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2041,6 +2041,8 @@
:cat eval.txt /*:cat*
:catch eval.txt /*:catch*
:cb quickfix.txt /*:cb*
+:cbo quickfix.txt /*:cbo*
+:cbottom quickfix.txt /*:cbottom*
:cbuffer quickfix.txt /*:cbuffer*
:cc quickfix.txt /*:cc*
:ccl quickfix.txt /*:ccl*
@@ -2393,6 +2395,8 @@
:lat undo.txt /*:lat*
:later undo.txt /*:later*
:lb quickfix.txt /*:lb*
+:lbo quickfix.txt /*:lbo*
+:lbottom quickfix.txt /*:lbottom*
:lbuffer quickfix.txt /*:lbuffer*
:lc editing.txt /*:lc*
:lcd editing.txt /*:lcd*
@@ -4457,6 +4461,7 @@
E928 eval.txt /*E928*
E929 starting.txt /*E929*
E93 windows.txt /*E93*
+E930 eval.txt /*E930*
E94 windows.txt /*E94*
E95 message.txt /*E95*
E96 diff.txt /*E96*
@@ -4472,6 +4477,7 @@
Ex-mode intro.txt /*Ex-mode*
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
F motion.txt /*F*
+FALSE eval.txt /*FALSE*
FAQ intro.txt /*FAQ*
Farsi farsi.txt /*Farsi*
FileAppendCmd autocmd.txt /*FileAppendCmd*
@@ -4686,6 +4692,7 @@
TOhtml-performance syntax.txt /*TOhtml-performance*
TOhtml-uncopyable-text syntax.txt /*TOhtml-uncopyable-text*
TOhtml-wrap-text syntax.txt /*TOhtml-wrap-text*
+TRUE eval.txt /*TRUE*
TSQL ft_sql.txt /*TSQL*
TTpro-telnet syntax.txt /*TTpro-telnet*
Tab intro.txt /*Tab*
@@ -5746,6 +5753,7 @@
exclusive motion.txt /*exclusive*
exclusive-linewise motion.txt /*exclusive-linewise*
executable() eval.txt /*executable()*
+execute() eval.txt /*execute()*
execute-menus gui.txt /*execute-menus*
exepath() eval.txt /*exepath()*
exim starting.txt /*exim*
@@ -6373,6 +6381,7 @@
getcmdpos() eval.txt /*getcmdpos()*
getcmdtype() eval.txt /*getcmdtype()*
getcmdwintype() eval.txt /*getcmdwintype()*
+getcompletion() eval.txt /*getcompletion()*
getcurpos() eval.txt /*getcurpos()*
getcwd() eval.txt /*getcwd()*
getfontname() eval.txt /*getfontname()*
@@ -9051,6 +9060,7 @@
viminfo-read starting.txt /*viminfo-read*
viminfo-read-write starting.txt /*viminfo-read-write*
viminfo-s options.txt /*viminfo-s*
+viminfo-timestamp starting.txt /*viminfo-timestamp*
viminfo-write starting.txt /*viminfo-write*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 07c4f05..88a6ce2 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 Jul 02
+*todo.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,14 +34,10 @@
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Further implement 'barline' in viminfo:
-- Use timestamp for more items: locations, marks.
-
Problem with setqflist([]): grep 4 times, ":colder 3", setqflist([]) will
clear the next list, not the current one. Ramel Eshed, Jun 8.
+channel:
-- Should write_buf_line() change NL to NUL characters?
- GUI cursor blinking interrupted when the job output goes to a buffer that is
in a window. (Ramel Eshed, 2016 Jun 9)
- GUI cursor blinking interrupted when there is a status line. (Ramel Eshed,
@@ -61,17 +57,11 @@
With xterm could use -S{pty}.
Quickfix improvements for background building and grepping:
- Patch from Yegappan, 2016 Jun 17.
- Need to reset values when starting a new list.
-- If 'efm' is the same as last time re-use the fmt_first list.
-- Do not clear "dir_stack", "directory" and "file_stack", "currfile" when
- using ":addexpr".
- Move multiline, multiignore, multiscan outside of the function.
-- Add :cbottom, if quickfix window is visible scroll to make the last line
- visible. Use scroll_cursor_bot(0, FALSE);
-- Add a flag/property/option to quickfix commands and functions to keep a file
- name as a string and not create a buffer for it? To avoid creating lots of
- buffers. (Ramel Eshed)
+- Add a command modifier ":usefname" to quickfix commands and functions to
+ keep a file name as a string and not create a buffer for it? To avoid
+ creating lots of buffers. (Ramel Eshed)
+ Store the relative file name and set a flag "qf_relative". Before changing
+ directory turn them into full paths.
Regexp problems:
- When using automatic engine selection there is a false match. Forcing
@@ -130,16 +120,18 @@
Should json_encode()/json_decode() restrict recursiveness?
Or avoid recursiveness.
-Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
-Update 2016 Apr 24.
-Update 2016 Jun 14, includes some tests.
-
-Patch to support expression argument to sort() instead of a function name.
-Yasuhiro Matsumoto, 2013 May 31.
-Or should we add a more general mechanism, like a lambda() function?
+Add a lambda() function.
Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
Correction for test, Ken Takata, 2016 May 27.
Merged patch: Ken Takata, 2016 Jun 15.
+Need to separate-out closure and lambda somehow.
+Define lambda directly, not as a string: {v -> v * 8}
+Lambda implementation by Ken Takata, 2016 Jul 7.
+
+Python: Extended funcrefs: use func_T* structure in place of char_u* function
+names.
+(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
+Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Once .exe with updated installer is available: Add remark to download page
about /S and /D options (Ken Takata, 2016 Apr 13)
@@ -161,7 +153,8 @@
5)
'completeopt' noinsert breaks redo register (Shougo, 2016 Jun 18, #874)
-Patch to fix this: #875
+Patch to fix this: #905.
+There also is #875 to fix another problem?
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
@@ -769,11 +762,6 @@
:help gives example for z?, but it does not work. m? and t? do work.
-Python: Extended funcrefs: use func_T* structure in place of char_u* function
-names.
-(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
-Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
-
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
With tests: Sep 5.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index d720344..1eec17e 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 Jun 13
+*usr_41.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM USER MANUAL - by Bram Moolenaar
@@ -611,6 +611,7 @@
byteidxcomp() like byteidx() but count composing characters
repeat() repeat a string multiple times
eval() evaluate a string expression
+ execute() execute an Ex command and get the output
List manipulation: *list-functions*
get() get an item without error for wrong index
@@ -978,6 +979,8 @@
shiftwidth() effective value of 'shiftwidth'
+ wordcount() get byte/word/char count of buffer
+
taglist() get list of matching tags
tagfiles() get a list of tags files
@@ -986,7 +989,6 @@
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
- wordcount() get byte/word/char count of buffer
==============================================================================
*41.7* Defining a function
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 31f1a1b..01182c7 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.4. Last change: 2016 May 24
+*various.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -470,9 +470,12 @@
shown on the screen. When [!] is included, an
existing file is overwritten. When [!] is omitted,
and {file} exists, this command fails.
+
Only one ":redir" can be active at a time. Calls to
":redir" will close any active redirection before
- starting redirection to the new target.
+ starting redirection to the new target. For recursive
+ use check out |execute()|.
+
To stop the messages and commands from being echoed to
the screen, put the commands in a function and call it
with ":silent call Function()".
@@ -512,6 +515,8 @@
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
command output messages will cause errors. {not in Vi}
+ To get the output of one command the |execute()|
+ function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used. {not in Vi}
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index bb8d62d..5340733 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt* For Vim version 8.0. Last change: 2016 Jun 04
+*version8.txt* For Vim version 8.0. Last change: 2016 Jul 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,12 +16,12 @@
See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
differences between other versions.
-INCOMPATIBLE CHANGES |incompatible-8|
-
NEW FEATURES |new-8|
Vim script enhancements |new-vim-script-8|
+INCOMPATIBLE CHANGES |incompatible-8|
+
IMPROVEMENTS |improvements-8|
COMPILE TIME CHANGES |compile-changes-8|
@@ -30,21 +30,6 @@
==============================================================================
-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. It hasn't been working for a while
-and removing it cleans up the code quite a bit.
-
-The support for Windows 16 bit (Windows 95 and older) has been removed.
-
-Minor incompatibilities:
-
-For filetype detection: ...
-
-==============================================================================
NEW FEATURES *new-8*
First a list of the bigger new features. A comprehensive list is below.
@@ -52,14 +37,18 @@
Asynchronous I/O support, channels ~
-Vim can now exchange messages with another process in the background. The
-messages are received and handled while Vim is waiting for a character. See
-|channel-demo| for an example, communicating with a Python server.
+Vim can now exchange messages with other processes in the background. This
+makes it possible to have servers do work and send back the results to Vim.
+See |channel-demo| for an example, this shows 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()|.
+This makes it possible to build very complex plugins, written in any language
+and running in a separate process.
+
Jobs ~
@@ -74,8 +63,8 @@
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 a call four seconds (4000 milli seconds) later, like: >
- call CheckTemp()
+This will call the CheckTemp() function four seconds (4000 milli seconds)
+later.
Partials ~
@@ -85,8 +74,7 @@
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 a make call four seconds later, like: >
- call CheckTemp('out')
+This will call CheckTemp('out') four seconds later.
Packages ~
@@ -103,26 +91,7 @@
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. Also new are several functions
-that are added specifically for testing.
-
-These functions have been added:
- |assert_equal()|
- |assert_notequal()|
- |assert_exception()|
- |assert_fails()|
- |assert_false()|
- |assert_match()|
- |assert_notmatch()|
- |assert_true()|
- |test_alloc_fail()|
- |test_disable_char_avail()|
- |test_garbagecollect_now()|
- |test_null_channel()|
- |test_null_dict()|
- |test_null_job()|
- |test_null_list()|
- |test_null_partial()|
- |test_null_string()|
+that are added specifically for testing. See |test-functions|.
Window IDs ~
@@ -132,6 +101,13 @@
unique ID, so that they are easy to find. See |win_getid()| and |win_id2win()|.
+Viminfo uses timestamps ~
+
+Previously the information stored in viminfo was whatever the last Vim wrote
+there. Now timestamps are used to always keep the most recent items.
+See |viminfo-timestamp|.
+
+
Wrapping lines with indent ~
The 'breakindent' option has been added to be able to wrap lines without
@@ -216,6 +192,21 @@
==============================================================================
+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. It hasn't been working for a while
+and removing it cleans up the code quite a bit.
+
+The support for Windows 16 bit (Windows 95 and older) has been removed.
+
+Minor incompatibilities:
+
+For filetype detection: ...
+
+==============================================================================
IMPROVEMENTS *improvements-8*
The existing blowfish encryption turned out to be much weaker than it was