Skip to content
Permalink
Browse files

Merge remote-tracking branch 'vim/master'

  • Loading branch information...
ychin committed Nov 4, 2019
2 parents 1fedb06 + 197c6b7 commit 67aa513bc3536f7a46048b74eb6e54a1711f6aa1
Showing with 5,143 additions and 4,909 deletions.
  1. +1 −0 .travis.yml
  2. +1 −0 Filelist
  3. +1 −1 runtime/defaults.vim
  4. +4 −1 runtime/doc/Makefile
  5. +6 −0 runtime/doc/doctags.vim
  6. +2 −2 runtime/doc/motion.txt
  7. +3 −3 runtime/doc/options.txt
  8. +2 −1 runtime/doc/popup.txt
  9. +1 −1 runtime/doc/syntax.txt
  10. +6 −0 runtime/doc/tags
  11. +1 −1 runtime/doc/term.txt
  12. +9 −1 runtime/doc/terminal.txt
  13. +40 −41 runtime/doc/todo.txt
  14. +5 −1 runtime/doc/windows.txt
  15. +3 −3 runtime/filetype.vim
  16. +15 −0 runtime/indent/testdir/vim.in
  17. +15 −0 runtime/indent/testdir/vim.ok
  18. +26 −1 runtime/indent/vim.vim
  19. +6 −6 runtime/plugin/matchparen.vim
  20. +27 −3 runtime/syntax/debchangelog.vim
  21. +2 −2 runtime/syntax/debsources.vim
  22. +62 −51 runtime/syntax/vim.vim
  23. +2 −2 src/autocmd.c
  24. +1 −1 src/buffer.c
  25. +6 −6 src/cindent.c
  26. +1 −1 src/crypt.c
  27. +1 −1 src/diff.c
  28. +11 −11 src/drawline.c
  29. +5 −0 src/ex_cmds.c
  30. +1 −1 src/getchar.c
  31. +2 −2 src/globals.h
  32. +1 −1 src/gui_gtk_x11.c
  33. +3 −2 src/highlight.c
  34. +2 −2 src/insexpand.c
  35. +1 −1 src/macros.h
  36. +1 −1 src/map.c
  37. +1 −1 src/memline.c
  38. +1 −1 src/message.c
  39. +1 −1 src/mouse.c
  40. +2 −4 src/normal.c
  41. +2 −0 src/ops.c
  42. +1 −1 src/option.c
  43. +7 −7 src/os_unix.c
  44. +16 −9 src/popupwin.c
  45. +1 −0 src/proto/os_unix.pro
  46. +1 −1 src/proto/terminal.pro
  47. +1 −1 src/pty.c
  48. +2 −2 src/quickfix.c
  49. +1 −1 src/regexp_nfa.c
  50. +3 −3 src/register.c
  51. +6 −8 src/search.c
  52. +1 −1 src/spellsuggest.c
  53. +1 −1 src/structs.h
  54. +92 −39 src/terminal.c
  55. +2 −0 src/testdir/Make_all.mak
  56. +2 −2 src/testdir/dumps/Test_popupwin_matches.dump
  57. +1 −1 src/testdir/dumps/Test_popupwin_menu_01.dump
  58. +1 −1 src/testdir/dumps/Test_popupwin_menu_02.dump
  59. +1 −1 src/testdir/dumps/Test_popupwin_menu_04.dump
  60. +6 −6 src/testdir/dumps/Test_popupwin_previewpopup_4.dump
  61. +6 −6 src/testdir/dumps/Test_popupwin_previewpopup_5.dump
  62. +6 −6 src/testdir/dumps/Test_popupwin_previewpopup_7.dump
  63. +6 −6 src/testdir/dumps/Test_popupwin_previewpopup_8.dump
  64. +10 −0 src/testdir/dumps/Test_popupwin_scroll_11.dump
  65. +10 −0 src/testdir/dumps/Test_popupwin_scroll_12.dump
  66. +0 −28 src/testdir/test49.ok
  67. +2,317 −4,605 src/testdir/test49.vim
  68. +41 −0 src/testdir/test_breakindent.vim
  69. +1 −1 src/testdir/test_filetype.vim
  70. +2 −1 src/testdir/test_gn.vim
  71. +69 −2 src/testdir/test_popupwin.vim
  72. +10 −0 src/testdir/test_substitute.vim
  73. +12 −0 src/testdir/test_terminal.vim
  74. +1,977 −0 src/testdir/test_trycatch.vim
  75. +195 −1 src/testdir/test_vimscript.vim
  76. +9 −0 src/testdir/test_virtualedit.vim
  77. +3 −4 src/textprop.c
  78. +2 −2 src/ui.c
  79. +1 −1 src/undo.c
  80. +34 −0 src/version.c
  81. +1 −1 src/vim.h
  82. +2 −2 src/viminfo.c
@@ -77,6 +77,7 @@ script:
- macvim_excmd -c 'py3 import sys; print("Test")'
- macvim_excmd -c 'ruby puts("Test")'
- make test
- make -C runtime/doc vimtags VIMEXE=../../src/MacVim/build/Release/MacVim.app/Contents/bin/vim
- echo -en "travis_fold:end:test\\r\\033[0K"
- echo -e "\\033[33;1mTesting MacVim (GUI)\\033[0m" && echo -en "travis_fold:start:test_gui\\r\\033[0K"
- make -C src/testdir clean
@@ -663,6 +663,7 @@ RT_ALL = \
runtime/doc/*.txt \
runtime/doc/Makefile \
runtime/doc/doctags.c \
runtime/doc/doctags.vim \
runtime/doc/test_urls.vim \
runtime/doc/vim.1 \
runtime/doc/evim.1 \
@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2019 Sep 28
" Last change: 2019 Oct 27
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -324,7 +324,10 @@ all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
# Use Vim to generate the tags file. Can only be used when Vim has been
# compiled and installed. Supports multiple languages.
vimtags: $(DOCS)
$(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
@if which $(VIMEXE) >/dev/null; then \
$(VIMEXE) --clean -eX -u doctags.vim >/dev/null; \
echo "help tags updated"; \
else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi

# Use "doctags" to generate the tags file. Only works for English!
tags: doctags $(DOCS)
@@ -0,0 +1,6 @@
" This script makes a tags file for help text.
"
" Usage: vim -eX -u doctags.vim

helptags ++t .
qa!
@@ -1,4 +1,4 @@
*motion.txt* For Vim version 8.1. Last change: 2019 Oct 28
*motion.txt* For Vim version 8.1. Last change: 2019 Nov 01


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -227,7 +227,7 @@ g^ When lines wrap ('wrap' on): To the first non-blank
gm Like "g0", but half a screenwidth to the right (or as
much as possible).

*gm* *gM*
*gM*
gM Like "g0", but to halfway the text of the line.
With a count: to this percentage of text in the line.
Thus "10gM" is near the start of the text and "90gM"
@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Oct 26
*options.txt* For Vim version 8.1. Last change: 2019 Nov 01


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6602,8 +6602,8 @@ A jump table for the options with a short description can be found at |Q_op|.
See |option-backslash| about including spaces and backslashes.
Environment variables are expanded |:set_env|.

If the name of the shell contains a space, you might need to enclose
it in quotes or escape the space. Example with quotes: >
If the name of the shell contains a space, you need to enclose it in
quotes and escape the space. Example: >
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
< Note the backslash before each quote (to avoid starting a comment) and
each space (to avoid ending the option value). Also note that the
@@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.1. Last change: 2019 Oct 20
*popup.txt* For Vim version 8.1. Last change: 2019 Nov 03


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -362,6 +362,7 @@ popup_getpos({id}) *popup_getpos()*
core_height height of the text box in screen cells
firstline line of the buffer at top (1 unless scrolled)
(not the value of the "firstline" property)
lastline line of the buffer at the bottom
scrollbar non-zero if a scrollbar is displayed
visible one if the popup is displayed, zero if hidden
Note that these are the actual screen positions. They differ
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.1. Last change: 2019 Oct 04
*syntax.txt* For Vim version 8.1. Last change: 2019 Oct 27


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5395,6 +5395,7 @@ arglist-quit usr_07.txt /*arglist-quit*
arglistid() eval.txt /*arglistid()*
argument-list editing.txt /*argument-list*
argv() eval.txt /*argv()*
argv-variable eval.txt /*argv-variable*
as motion.txt /*as*
asin() eval.txt /*asin()*
asm.vim syntax.txt /*asm.vim*
@@ -6899,6 +6900,7 @@ gF editing.txt /*gF*
gH visual.txt /*gH*
gI insert.txt /*gI*
gJ change.txt /*gJ*
gM motion.txt /*gM*
gN visual.txt /*gN*
gP change.txt /*gP*
gQ intro.txt /*gQ*
@@ -7187,6 +7189,8 @@ hl-Folded syntax.txt /*hl-Folded*
hl-Ignore syntax.txt /*hl-Ignore*
hl-IncSearch syntax.txt /*hl-IncSearch*
hl-LineNr syntax.txt /*hl-LineNr*
hl-LineNrAbove syntax.txt /*hl-LineNrAbove*
hl-LineNrBelow syntax.txt /*hl-LineNrBelow*
hl-MatchParen syntax.txt /*hl-MatchParen*
hl-Menu syntax.txt /*hl-Menu*
hl-ModeMsg syntax.txt /*hl-ModeMsg*
@@ -9521,6 +9525,7 @@ terminal-functions usr_41.txt /*terminal-functions*
terminal-info term.txt /*terminal-info*
terminal-job-index index.txt /*terminal-job-index*
terminal-key-codes term.txt /*terminal-key-codes*
terminal-mouse term.txt /*terminal-mouse*
terminal-ms-windows terminal.txt /*terminal-ms-windows*
terminal-options term.txt /*terminal-options*
terminal-output-codes term.txt /*terminal-output-codes*
@@ -9714,6 +9719,7 @@ utf-8-typing mbyte.txt /*utf-8-typing*
utf8 mbyte.txt /*utf8*
v visual.txt /*v*
v: eval.txt /*v:*
v:argv eval.txt /*v:argv*
v:beval_bufnr eval.txt /*v:beval_bufnr*
v:beval_col eval.txt /*v:beval_col*
v:beval_lnum eval.txt /*v:beval_lnum*
@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.1. Last change: 2019 Oct 12
*term.txt* For Vim version 8.1. Last change: 2019 Oct 27


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2019 Oct 20
*terminal.txt* For Vim version 8.1. Last change: 2019 Nov 01


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -210,6 +210,10 @@ Command syntax ~
no window will be used.
++norestore Do not include this terminal window
in a session file.
++shell Instead of executing {command}
directly, use a shell, like with
`:!command` *E279*
{only works on Unix currently}
++kill={how} When trying to close the terminal
window kill the job with {how}. See
|term_setkill()| for the values.
@@ -1173,8 +1177,12 @@ Example session ~
*termdebug-example*
Start in the Vim "src" directory and build Vim: >
% make
Make sure that debug symbols are present, usually that means that $CFLAGS
includes "-g".

Start Vim: >
% ./vim

Load the termdebug plugin and start debugging Vim: >
:packadd termdebug
:Termdebug vim
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Oct 26
*todo.txt* For Vim version 8.1. Last change: 2019 Nov 02


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -40,7 +40,27 @@ browser use: https://github.com/vim/vim/issues/1234

Termdebug: Ctrl-W . doesn't work with modifyOtherKeys set.

Cannot scroll popup window with mouse in GUI? (#5138)

Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
directly. Perhaps ":term ++shell cmd". (issue #3340)

Include netrw 166a?

In a function these two lines are different:
let [a, b, c] =<< trim END fails
let [a,b,c] =<< trim END works
issue #5051

Make 'showbreak' global-local.

Update libvterm on github, rename termscreen.c back to screen.c.

Graduate FEAT_TAG_BINS and make LSIZE for tags bigger.

Popup windows:
- When using "botleft" for "pos" and there is not enough space, positioning
goes below, but this must not happen if there is less space there. #5151
- Use popup (or popup menu) for command line completion
- Implement flip option
- Make redrawing more efficient and avoid flicker:
@@ -54,14 +74,14 @@ Popup windows:
incomplete cell.

Text properties:
- Implement prop_find() #4970
- Implement prop_find() issue #4970
- Adjusting column/length when inserting text
- Text properties spanning more than one line
- prop_find()
- See remakrs at top of src/textprop.c

'incsearch' with :s: (#3321)
'incsearch' with :s:
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
was set. (#3837)
was set. (issue #3837)
- :s/foo using CTRL-G moves to another line, should not happen, or use the
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
- :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
@@ -73,7 +93,7 @@ Text properties:
Then :%s?foo should take the first match above the cursor line.

Prompt buffer:
- Add a command line history, using up/down keys. #5010
- Add a command line history, using up/down keys. issue #5010
- delay next prompt until plugin gives OK?
- add prompt_addtext({buf}, {expr}) none add text to a prompt buffer

@@ -86,7 +106,7 @@ Terminal debugger:
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
after "run". Everything else works, including communication channel. Not
initializing mzscheme avoid the problem, thus it's not some #ifdef.
- Add support for lldb? #3565
- Add support for lldb? issue #3565
- Could we do something similar for debugging Vim scripts? At least see the
script while stepping through it. Simple version would use an extra window.
More complete solution would actually run Vim in a Terminal and control it
@@ -104,8 +124,6 @@ Terminal emulator window:
- Allow for specifying the directory, with ++cwd={dir}.
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
#2977)
- Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
directly. Perhaps ":term ++shell cmd". (#3340)
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
K_MIDDLEMOUSE, calling insert_reg().
- Users expect parsing the :term argument like a shell does, also support
@@ -129,19 +147,11 @@ E279, E290, E292, E362, E366, E450, E451, E452,
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E863, E889, E900

"gN" does not work properly with single-char search pattern. (Jaehwang Jerry
Jung, #5075)

Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.

In a function these two lines are different:
let [a, b, c] =<< trim END fails
let [a,b,c] =<< trim END works
issue #5051

Patch to properly break CJK lines: Anton Kochkov, #3875
Flag in 'formatoptions' is not used in the tests.

@@ -153,14 +163,9 @@ Undo puts cursor in wrong line after "cG<Esc>" undo.

Sound: support on Mac? Or does libcanberra work there?

Patch for #4733: #4734. Test needs improvements.

Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)

Patch to highlight the line number differently below the cursor line. (Shaun
Brady, #624)

Patch to add more tests for cmd.exe: #4928
Patch to user manual: #5098. Comments by DC Slagel:
- semicolon use should be OK.
- Keep capital after colon.

Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
20)
@@ -174,9 +179,6 @@ terminal.c and then CTRL-N twice.
Should do current file first and not split it up when more results are found.
(Also #1890)

Patch to use timers in matchparen. (Daniel Hahler, #1338)
Ready to include now?

Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)

@@ -187,24 +189,15 @@ Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)

Patch to fix using zero sc_sid. (#4877)

Enable 'termbidi' if $VTE_VERSION >= 5703 ?

Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126

Make 'showbreak' global-local.

The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687

Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)

Patch to add v:argv, arguments that Vim was started with. (Dmitri
Vereshchagin, #1322)

New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
Patch: New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)

Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the BeOS code, which is likely not used anymore.
@@ -333,6 +326,12 @@ Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)

Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
CTRL-Y scroll one screen line, also if this means the first line doesn't start
with the first character (like what happens with a last line that doesn't
fit). Display "<<<" at the start of the first visible line (like "@@@" is
displayed in the last line). (Arseny Nasokin, #5154)

Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)

@@ -1146,6 +1145,9 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep

+channel:
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
available. Should be more efficient than looping over ch_read() with
ch_status() to check for more.
- Add a separate timeout for opening a socket. Currently it's fixed at 50
msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@@ -4629,9 +4631,6 @@ Messages:


Screen updating:
7 Add a string to the 'display' option to make CTRL-E and CTRL-Y scroll one
screen line, also if this means the first line doesn't start with the
first character (like what happens with a single line that doesn't fit).
- screen_line():
- insert/delete character stuff.
- improve delete rest of line (spaces at end of line).
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2019 Oct 18
*windows.txt* For Vim version 8.1. Last change: 2019 Oct 27


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -548,6 +548,10 @@ CTRL-W + Increase current window height by N (default 1).
CTRL-W CTRL-_ *CTRL-W_CTRL-_* *CTRL-W__*
CTRL-W _ Set current window height to N (default: highest possible).

:{winnr}res[ize] [+-]N
Like `:resize` above, but apply the size to window {winnr}
instead of the current window.

z{nr}<CR> Set current window height to {nr}.

*CTRL-W_<*
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Oct 19
" Last Change: 2019 Nov 01

" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -384,8 +384,8 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
" CUDA Cumpute Unified Device Architecture
au BufNewFile,BufRead *.cu,*.cuh setf cuda

" Dockerfile
au BufNewFile,BufRead Dockerfile,*.Dockerfile setf dockerfile
" Dockerfilb; Podman uses the same syntax with name Containerfile
au BufNewFile,BufRead Containerfile,Dockerfile,*.Dockerfile setf dockerfile

" WildPackets EtherPeek Decoder
au BufNewFile,BufRead *.dcd setf dcd

0 comments on commit 67aa513

Please sign in to comment.
You can’t perform that action at this time.