changeset 12045:444ad56c0cac

Update runtime files. commit https://github.com/vim/vim/commit/1ccd8fff8acfbd5df0fc0e9b4d288af84e51233e Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 11 19:50:37 2017 +0200 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Fri, 11 Aug 2017 20:00:05 +0200
parents f07a8b5428f9
children 278aabefc7f9
files runtime/doc/channel.txt runtime/doc/eval.txt runtime/doc/if_pyth.txt runtime/doc/index.txt runtime/doc/intro.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_07.txt runtime/doc/usr_08.txt runtime/doc/usr_09.txt runtime/doc/usr_12.txt runtime/doc/various.txt runtime/doc/vim.1 runtime/indent/sh.vim
diffstat 14 files changed, 95 insertions(+), 58 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.0.  Last change: 2017 Jul 22
+*channel.txt*      For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -475,6 +475,11 @@ it like this: >
 Without the handler you need to read the output with |ch_read()| or
 |ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
 
+Note that if the job exits before you read the output, the output may be lost.
+This depends on the system (on Unix this happens because closing the write end
+of a pipe causes the read end to get EOF).  To avoid this make the job sleep
+for a short while before it exits.
+
 The handler defined for "out_cb" will not receive stderr.  If you want to
 handle that separately, add an "err_cb" handler: >
     let job = job_start(command, {"out_cb": "MyHandler",
@@ -489,11 +494,6 @@ started job gets the focus.  To avoid th
 This might not always work when called early, put in the callback handler or
 use a timer to call it after the job has started.
 
-Depending on the system, starting a job can put Vim in the background, the
-started job gets the focus.  To avoid that, use the `foreground()` function.
-This might not always work when called early, put in the callback handler or
-use a timer to call it after the job has started.
-
 You can send a message to the command with ch_evalraw().  If the channel is in
 JSON or JS mode you can use ch_evalexpr().
 
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2017 Aug 06
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -894,10 +894,10 @@ On Ubuntu you will want to install these
 	python-dev
 For Python 3:
 	python3
-	pytyon3-dev
+	python3-dev
 For Python 3.6:
 	python3.6
-	pytyon3.6-dev
+	python3.6-dev
 
 If you have more than one version of Python 3, you need to link python3 to the
 one you prefer, before running configure.
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.0.  Last change: 2017 Jul 30
+*index.txt*     For Vim version 8.0.  Last change: 2017 Aug 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -540,7 +540,7 @@ tag		command		   action in Normal mode	~
 |CTRL-W_J|	CTRL-W J	   move current window to the very bottom
 |CTRL-W_K|	CTRL-W K	   move current window to the very top
 |CTRL-W_L|	CTRL-W L	   move current window to the far right
-|CTRL-W_N|	CTRL-W N	   terminal window: go to Terminal mode
+|CTRL-W_N|	CTRL-W N	   terminal window: go to Terminal Normal mode
 |CTRL-W_P|	CTRL-W P	   go to preview window
 |CTRL-W_R|	CTRL-W R	   rotate windows upwards N times
 |CTRL-W_S|	CTRL-W S	   same as "CTRL-W s"
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.0.  Last change: 2017 Jul 30
+*intro.txt*     For Vim version 8.0.  Last change: 2017 Aug 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -530,7 +530,7 @@ examples and use them directly.  Or type
 ==============================================================================
 5. Modes, introduction				*vim-modes-intro* *vim-modes*
 
-Vim has six BASIC modes:
+Vim has seven BASIC modes:
 
 					*Normal* *Normal-mode* *command-mode*
 Normal mode		In Normal mode you can enter all the normal editor
@@ -566,6 +566,11 @@ Ex mode			Like Command-line mode, but af
 			you remain in Ex mode.  Very limited editing of the
 			command line.  |Ex-mode|
 
+Terminal-Job mode	Interacting with a job in a terminal window.  Typed
+			keys go to the job and the job output is displayed in
+			the terminal window.  See |terminal| about how to
+			switch to other modes.
+
 There are seven ADDITIONAL modes.  These are variants of the BASIC modes:
 
 				*Operator-pending* *Operator-pending-mode*
@@ -592,10 +597,9 @@ Insert Normal mode	Entered when CTRL-O g
 			If the 'showmode' option is on "-- (insert) --" is
 			shown at the bottom of the window.
 
-Terminal Normal mode	Using Normal mode in a terminal window.  Making
-			changes is impossible.  Use a insert command, such as
-			"a" or "i", to return control to the job running in
-			the terminal.  Also called |Terminal-mode|.
+Terminal-Normal mode	Using Normal mode in a terminal window.  Making
+			changes is impossible.  Use an insert command, such as
+			"a" or "i", to return to Terminal-Job mode.
 
 Insert Visual mode	Entered when starting a Visual selection from Insert
 			mode, e.g., by using CTRL-O and then "v", "V" or
@@ -671,6 +675,8 @@ Normal mode from any other mode.  This c
 Normal mode, without causing a beep like <Esc> would.  However, this does not
 work in Ex mode.  When used after a command that takes an argument, such as
 |f| or |m|, the timeout set with 'ttimeoutlen' applies.
+When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode for only
+one command, see |t_CTRL-\_CTRL-N|.
 
 	*CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
 The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1315,6 +1315,7 @@
 +tcl	various.txt	/*+tcl*
 +tcl/dyn	various.txt	/*+tcl\/dyn*
 +termguicolors	various.txt	/*+termguicolors*
++terminal	various.txt	/*+terminal*
 +terminfo	various.txt	/*+terminfo*
 +termresponse	various.txt	/*+termresponse*
 +textobjects	various.txt	/*+textobjects*
@@ -4535,6 +4536,7 @@ E943	message.txt	/*E943*
 E944	pattern.txt	/*E944*
 E945	pattern.txt	/*E945*
 E946	terminal.txt	/*E946*
+E947	terminal.txt	/*E947*
 E95	message.txt	/*E95*
 E96	diff.txt	/*E96*
 E97	diff.txt	/*E97*
@@ -8535,6 +8537,7 @@ t_AL	term.txt	/*t_AL*
 t_BD	term.txt	/*t_BD*
 t_BE	term.txt	/*t_BE*
 t_CS	term.txt	/*t_CS*
+t_CTRL-\_CTRL-N	terminal.txt	/*t_CTRL-\\_CTRL-N*
 t_CV	term.txt	/*t_CV*
 t_Ce	term.txt	/*t_Ce*
 t_Co	term.txt	/*t_Co*
@@ -8794,16 +8797,21 @@ temp-file-name	eval.txt	/*temp-file-name
 tempfile	change.txt	/*tempfile*
 template	autocmd.txt	/*template*
 tempname()	eval.txt	/*tempname()*
+term++close	terminal.txt	/*term++close*
+term++open	terminal.txt	/*term++open*
 term-dependent-settings	term.txt	/*term-dependent-settings*
 term-list	syntax.txt	/*term-list*
 term.txt	term.txt	/*term.txt*
+term_getaltscreen()	eval.txt	/*term_getaltscreen()*
 term_getattr()	eval.txt	/*term_getattr()*
 term_getcursor()	eval.txt	/*term_getcursor()*
 term_getjob()	eval.txt	/*term_getjob()*
 term_getline()	eval.txt	/*term_getline()*
+term_getscrolled()	eval.txt	/*term_getscrolled()*
 term_getsize()	eval.txt	/*term_getsize()*
 term_getstatus()	eval.txt	/*term_getstatus()*
 term_gettitle()	eval.txt	/*term_gettitle()*
+term_gettty()	eval.txt	/*term_gettty()*
 term_list()	eval.txt	/*term_list()*
 term_scrape()	eval.txt	/*term_scrape()*
 term_sendkeys()	eval.txt	/*term_sendkeys()*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Aug 01
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,34 +35,31 @@ entered there will not be repeated below
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Check out coverity reports.
-
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
 
 Terminal emulator window:
 - Lots of stuff to implement, see src/terminal.c
-- Running a shell command from the GUI still has limitations.  Look into how
-  the terminal emulator of the Vim shell project can help:
-    http://code.hootsuite.com/vimshell/
 - Add winpty.dll and winpty-agent.exe in the NSIS build.
 - Add debugger interface.  Implementation for gdb by Xavier de Gaye.  Should
   work like an IDE.  Try to keep it generic.  Now found here:
     http://clewn.sf.net.
+  Can this replace Agide?  http://www.a-a-p.org/images/debugfull.png
+    - make showballoon() work in a terminal.  Requires getting mouse-move
+      events.
+    - send 'balloonText' events for the cursor position (using CursorHold ?)
+      in terminal mode.
+    - Implement the right-click popup menu for the terminal. Can use the
+      completion popup menu code and mouse dragging.
 - Look into the idevim plugin/script.
 - Related wishes for NetBeans commands:
     - make it possible to have 'defineAnnoType' also handle terminal colors.
-    - send 'balloonText' events for the cursor position (using CursorHold ?)
-      in terminal mode.
 
 +channel:
 - Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
-- Add 'cwd' argument to start_job(): directory to change to in the child.
-    check for valid directory before forking.
-  Part of patch for environment, Yasuhiro Matsumoto, #1160
 - When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
   2016 Dec 11, #1320)
 - Implement |job-term| ?
@@ -125,12 +122,32 @@ Regexp problems:
   Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
   (2017 May 15, #1252)
 
+Include a few color schemes, based on popularity:
+http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
+http://vimawesome.com/?q=tag:color-scheme
+Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
+- monokai - Xia Crusoe (2017 Aug 4)
+- seoul256 - Christian Brabandt (2017 Aug 3)
+- gruvbox -  Christian Brabandt (2017 Aug 3)
+- janah - Marco Hinz (2017 Aug 4)
+- apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file
+Suggested by Hiroki Kokubun:
+- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
+- [hybrid](https://github.com/w0ng/vim-hybrid)
+
 test_gui fails with gnome2: cannot create .gnome2 dir
     use  testdir/Xfakehome  instead of does/not/exist?
 
 Patch for quickfix: parse lines for any quickfix list. (Yegappan Lakshmanan,
 2017 Jul 20)
 
+Patch for restoring wide characters in the console buffer.
+(Ken Takata, 2016 Jun 7)
+
+Patch to add Couchbase syntax file. (Eugene Ciurana, 2017 Aug 8, #1951)
+
+Patch to fix font name problem with cp932. (Ken Takata, 2017 Aug 9)
+
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
@@ -141,22 +158,25 @@ ml_get errors with buggy script. (Domini
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
+Start a test directory under runtime, to test runtime file changes.
+Start with filetype detection.  Only include in the source distribution.
+"make test" in src/ can be renamed to "make testsrc" and "make test" would do
+both "testsrc" and "testruntime" targets.
+
 Patch for Murphi syntax. (Matthew Fernandez, 2017 Jul 24)
 
 Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)
 
-Bug with conceal mode: 3rd element returned by synconcealed() differs for
-every call. (Dominique Pelle, 2017 Jun 18)
+Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
+Kiichi, 2016 Feb 28)
+Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
+Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
+Update Aug 2017: #1953
 
 Add options_default() / options_restore() to set several options to Vim
 defaults for a plugin. Comments from Zyx, 2017 May 10.
 Perhaps use a vimcontext / endvimcontext command block.
 
-Signs drawn on top of messages. (worp, #1907)
-
-Folds open when job writes to another buffer. (Jonathan Fudger, 2017 Jul 31)
-Already fixed?
-
 Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
 Still happens (2017 Jul 9)
 
@@ -165,10 +185,11 @@ Memory leak in test_arabic.
 Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
 It can replace the BeOS code, which is likely not used anymore.
 Now on github: #1856.  Is now up-to-date?
+Got permission to include this under the Vim license.
 
 Refactored HTML indent file. (Michael Lee, #1821)
 
-Using uninitialzed value in test_crypt.
+Using uninitialized value in test_crypt.
 
 Test_writefile_fails_conversion failure on Solaris because if different iconv
 behavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
@@ -185,6 +206,8 @@ Alternatives for ~:
     @  list@get()    harder to read
     ->  list->get()  two characters, used for lambda
 
+The ++ options for the :edit command are also useful on the Vim command line.
+
 X11: Putting more than about 262040 characters of text on the clipboard and
 pasting it in another Vim doesn't work.  (Dominique Pelle, 2008 Aug 21-23)
 clip_x11_request_selection_cb() is called with zero value and length.
@@ -195,6 +218,10 @@ Kazunobu Kuriyama is working on a proper
 
 Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
 
+Creating a partial with an autoload function is confused about the "self"
+attribute of the function.  For an unknown function assume "self" and make
+that optiona? (Bjorn Linse, 2017 Aug 5)
+
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
 terminal.c and then CTRL-N twice.
@@ -278,12 +305,7 @@ Still need maplist() to find the mapping
 mapping?  Something unique would be better than the LHS.
 Perhaps simpler: actually delete the mappings.  Use maplist() to list matching
 mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
-maprestore() to restore (using the output of maplist().
-
-Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
-Kiichi, 2016 Feb 28)
-Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
-Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
+maprestore() to restore (using the output of maplist()).
 
 Add an argument to :mkvimrc (or add aother command) to skip mappings from
 plugins (source is a Vim script).  No need to put these in a .vimrc, they will
@@ -377,11 +399,9 @@ Patch to add random number generator. (H
 Alternative from Christian Brabandt. (2010 Sep 19)
 New one from Yasuhiro Matsumoto, #1277.
 
-Patch for restoring wide characters in the console buffer.
-(Ken Takata, 2016 Jun 7)
-
 Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
 Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
+Update Aug 2017: #1954
 
 Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
 Remarks from Christian Brabandt (Apr 21)
@@ -404,7 +424,7 @@ MS-Windows.  Perhaps in \#  the \ is see
 2017 Feb 9)  Can we expand wildcards first and send the path literally to the
 receiving Vim?  Or make an exception for #, it's not useful remotely.
 
-":sbr" docs state it respect 'switchbuf', but "vsplit" does not cause a
+":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
 vertical split. (Haldean Brown, 2017 Mar 1)
 
 Use ADDR_OTHER instead of ADDR_LINES for many more commands.
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt*	For Vim version 8.0.  Last change: 2006 Apr 24
+*usr_07.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -355,7 +355,7 @@ a sentence to the f register (f for Firs
 	"fyas
 
 The "yas" command yanks a sentence like before.  It's the "f that tells Vim
-the text should be place in the f register.  This must come just before the
+the text should be placed in the f register.  This must come just before the
 yank command.
    Now yank three whole lines to the l register (l for line): >
 
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt*	For Vim version 8.0.  Last change: 2014 Jul 06
+*usr_08.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -45,7 +45,7 @@ top one:
 	+----------------------------------+
 
 What you see here is two windows on the same file.  The line with "====" is
-that status line.  It displays information about the window above it.  (In
+the status line.  It displays information about the window above it.  (In
 practice the status line will be in reverse video.)
    The two windows allow you to view two parts of the same file.  For example,
 you could make the top window show the variable declarations of a program, and
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt*	For Vim version 8.0.  Last change: 2006 Apr 24
+*usr_09.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -60,7 +60,7 @@ THE WINDOW TITLE
 At the very top is the window title.  This is drawn by your window system.
 Vim will set the title to show the name of the current file.  First comes the
 name of the file.  Then some special characters and the directory of the file
-in parens.  These special character can be present:
+in parens.  These special characters can be present:
 
 	-	The file cannot be modified (e.g., a help file)
 	+	The file contains changes
@@ -206,7 +206,7 @@ the "real clipboard" are called clipboar
    To put text on the real clipboard, select a few different words in one of
 the gVims you have running.  Then use the Edit/Copy menu entry.  Now the text
 has been copied to the real clipboard.  You can't see this, unless you have
-some application that shows the clipboard contents (e.g., KDE's klipper).
+some application that shows the clipboard contents (e.g., KDE's Klipper).
    Now select the other gVim, position the cursor somewhere and use the
 Edit/Paste menu.  You will see the text from the real clipboard is inserted.
 
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt*	For Vim version 8.0.  Last change: 2007 May 11
+*usr_12.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -290,7 +290,7 @@ command: >
 The line range "%" is used, thus this works on the whole file.  The pattern
 that the ":substitute" command matches with is "\s\+$".  This finds white
 space characters (\s), 1 or more of them (\+), before the end-of-line ($).
-Later will be explained how you write patterns like this |usr_27.txt|.
+Later will be explained how you write patterns like this, see |usr_27.txt|.
    The "to" part of the substitute command is empty: "//".  Thus it replaces
 with nothing, effectively deleting the matched white space.
 
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -427,6 +427,7 @@ N  *+tag_old_static*	old method for stat
 m  *+tag_any_white*	any white space allowed in tags file |tag-any-white|
 m  *+tcl*		Tcl interface |tcl|
 m  *+tcl/dyn*		Tcl interface |tcl-dynamic| |/dyn|
+m  *+terminal*		Support for terminal window |terminal|
    *+terminfo*		uses |terminfo| instead of termcap
 N  *+termresponse*	support for |t_RV| and |v:termresponse|
 B  *+termguicolors*	24-bit color in xterm-compatible terminals support
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -1,6 +1,6 @@
 .TH VIM 1 "2006 Apr 11"
 .SH NAME
-vim \- Vi IMproved, a programmers text editor
+vim \- Vi IMproved, a programmer's text editor
 .SH SYNOPSIS
 .br
 .B vim
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -3,10 +3,11 @@
 " Maintainer:          Christian Brabandt <cb@256bit.org>
 " Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
 " Original Author:     Nikolai Weibull <now@bitwi.se>
-" Latest Revision:     2017-05-02
+" Latest Revision:     2017-08-08
 " License:             Vim (see :h license)
 " Repository:          https://github.com/chrisbra/vim-sh-indent
 " Changelog:
+"          20170808: - better indent of line continuation
 "          20170502: - get rid of buffer-shiftwidth function
 "          20160912: - preserve indentation of here-doc blocks
 "          20160627: - detect heredocs correctly
@@ -117,7 +118,8 @@ function! GetShIndent()
 endfunction
 
 function! s:is_continuation_line(line)
-  return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\)$'
+  return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
+                 \ '\s*\({\s*\)\=\(#.*\)\=$'
 endfunction
 
 function! s:find_continued_lnum(lnum)