# HG changeset patch # User Christian Brabandt # Date 1502474405 -7200 # Node ID 444ad56c0cac1f68a9d2c38abea1231ec97647b7 # Parent f07a8b5428f9f3f79b093d83605478cdb311c6c3 Update runtime files. commit https://github.com/vim/vim/commit/1ccd8fff8acfbd5df0fc0e9b4d288af84e51233e Author: Bram Moolenaar Date: Fri Aug 11 19:50:37 2017 +0200 Update runtime files. diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt --- 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(). diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- 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 diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt --- 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. diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt --- 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" diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt --- 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 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 can be used to go to Insert mode when diff --git a/runtime/doc/tags b/runtime/doc/tags --- 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()* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- 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. diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt --- 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): > diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt --- 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 diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt --- 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. diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt --- 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. diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- 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 diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1 --- 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 diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim --- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -3,10 +3,11 @@ " Maintainer: Christian Brabandt " Previous Maintainer: Peter Aronoff " Original Author: Nikolai Weibull -" 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)