Skip to content
Permalink
Browse files

Merge remote-tracking branch 'vim/master'

  • Loading branch information
ychin committed Feb 6, 2020
2 parents edec8e7 + 4af1117 commit e49369c996d676738daea21cd9dfb559c7651e98
Showing with 3,692 additions and 804 deletions.
  1. +1 −1 runtime/doc/autocmd.txt
  2. +1 −2 runtime/doc/cmdline.txt
  3. +8 −3 runtime/doc/eval.txt
  4. 0 runtime/doc/evim-it.1
  5. +3 −2 runtime/doc/insert.txt
  6. +18 −1 runtime/doc/popup.txt
  7. +2 −0 runtime/doc/tags
  8. +3 −3 runtime/doc/tagsrch.txt
  9. +2 −2 runtime/doc/terminal.txt
  10. +5 −0 runtime/doc/testing.txt
  11. +52 −15 runtime/doc/todo.txt
  12. +1 −0 runtime/doc/usr_41.txt
  13. +1 −2 runtime/doc/version8.txt
  14. 0 runtime/doc/vim-it.1
  15. +19 −10 runtime/doc/vim9.txt
  16. 0 runtime/doc/vimdiff-it.1
  17. 0 runtime/doc/vimtutor-it.1
  18. 0 runtime/doc/xxd-it.1
  19. +5 −2 runtime/filetype.vim
  20. +6 −2 runtime/ftplugin/c.vim
  21. 0 runtime/ftplugin/swift.vim
  22. 0 runtime/ftplugin/swiftgyb.vim
  23. 0 runtime/indent/lifelines.vim
  24. +3 −1 runtime/syntax/cs.vim
  25. +5 −4 runtime/syntax/debchangelog.vim
  26. +4 −3 runtime/syntax/debsources.vim
  27. +26 −7 runtime/syntax/dockerfile.vim
  28. +5 −5 runtime/syntax/fortran.vim
  29. 0 runtime/syntax/sil.vim
  30. 0 runtime/syntax/swift.vim
  31. 0 runtime/syntax/swiftgyb.vim
  32. +1 −1 src/arglist.c
  33. +1 −1 src/auto/configure
  34. +33 −16 src/channel.c
  35. +2 −2 src/configure.ac
  36. +2 −2 src/drawline.c
  37. +1 −1 src/eval.c
  38. +63 −39 src/evalfunc.c
  39. +24 −12 src/evalvars.c
  40. +2 −2 src/evalwindow.c
  41. +10 −9 src/ex_docmd.c
  42. +5 −5 src/fileio.c
  43. +67 −43 src/filepath.c
  44. +1 −1 src/globals.h
  45. +4 −2 src/highlight.c
  46. +1 −1 src/if_mzsch.c
  47. +1 −1 src/if_py_both.h
  48. +2 −0 src/insexpand.c
  49. +1 −0 src/json.c
  50. +50 −27 src/list.c
  51. +8 −1 src/macros.h
  52. +4 −0 src/main.c
  53. +16 −0 src/misc1.c
  54. +5 −0 src/mouse.c
  55. +6 −0 src/optionstr.c
  56. +35 −2 src/os_win32.c
  57. +5 −0 src/osdef.sh
  58. +1 −0 src/popupmenu.c
  59. +81 −16 src/popupwin.c
  60. +1 −1 src/proto/channel.pro
  61. +1 −0 src/proto/evalfunc.pro
  62. +1 −0 src/proto/evalvars.pro
  63. +1 −0 src/proto/misc1.pro
  64. +3 −1 src/proto/popupwin.pro
  65. +1 −0 src/proto/regexp.pro
  66. +1 −0 src/proto/search.pro
  67. +3 −1 src/proto/terminal.pro
  68. +1 −0 src/proto/testing.pro
  69. +1 −1 src/proto/vim9compile.pro
  70. +9 −0 src/regexp.c
  71. +6 −0 src/search.c
  72. +9 −5 src/structs.h
  73. +4 −0 src/tag.c
  74. +186 −52 src/terminal.c
  75. +35 −0 src/testdir/Make_all.mak
  76. +4 −1 src/testdir/check.vim
  77. +10 −0 src/testdir/dumps/Test_popup_settext_07.dump
  78. +5 −5 src/testdir/dumps/Test_popupwin_20.dump
  79. +5 −5 src/testdir/dumps/Test_popupwin_21.dump
  80. +15 −0 src/testdir/dumps/Test_terminal_popup_1.dump
  81. +15 −0 src/testdir/dumps/Test_terminal_popup_2.dump
  82. +15 −0 src/testdir/dumps/Test_terminal_popup_3.dump
  83. +15 −0 src/testdir/dumps/Test_terminal_popup_4.dump
  84. +3 −3 src/testdir/shared.vim
  85. +0 −35 src/testdir/test_alot.vim
  86. +5 −1 src/testdir/test_blob.vim
  87. +2 −0 src/testdir/test_cd.vim
  88. +13 −4 src/testdir/test_channel.vim
  89. +4 −0 src/testdir/test_compiler.vim
  90. +19 −17 src/testdir/test_cscope.vim
  91. +33 −0 src/testdir/test_ex_mode.vim
  92. +198 −0 src/testdir/test_excmd.vim
  93. +4 −2 src/testdir/test_execute_func.vim
  94. +3 −1 src/testdir/test_expr.vim
  95. +1 −1 src/testdir/test_filechanged.vim
  96. +2 −1 src/testdir/test_filetype.vim
  97. +10 −0 src/testdir/test_filter_map.vim
  98. +6 −0 src/testdir/test_fnameescape.vim
  99. +14 −0 src/testdir/test_fnamemodify.vim
  100. +284 −9 src/testdir/test_functions.vim
  101. +9 −0 src/testdir/test_ga.vim
  102. +3 −1 src/testdir/test_glob2regpat.vim
  103. +38 −0 src/testdir/test_global.vim
  104. +50 −0 src/testdir/test_help.vim
  105. +48 −0 src/testdir/test_help_tagjump.vim
  106. +5 −1 src/testdir/test_highlight.vim
  107. +3 −1 src/testdir/test_lambda.vim
  108. +20 −14 src/testdir/test_listdict.vim
  109. +34 −33 src/testdir/test_lua.vim
  110. +31 −1 src/testdir/test_messages.vim
  111. +5 −0 src/testdir/test_move.vim
  112. +36 −3 src/testdir/test_options.vim
  113. +4 −0 src/testdir/test_packadd.vim
  114. +1 −1 src/testdir/test_partial.vim
  115. +38 −4 src/testdir/test_popupwin.vim
  116. +1 −1 src/testdir/test_python3.vim
  117. +4 −0 src/testdir/test_quickfix.vim
  118. +5 −3 src/testdir/test_regexp_latin.vim
  119. +32 −30 src/testdir/test_ruby.vim
  120. +41 −0 src/testdir/test_search.vim
  121. +108 −26 src/testdir/test_sort.vim
  122. +74 −0 src/testdir/test_substitute.vim
  123. +138 −37 src/testdir/test_terminal.vim
  124. +24 −0 src/testdir/test_textformat.vim
  125. +18 −0 src/testdir/test_timers.vim
  126. +6 −1 src/testdir/test_true_false.vim
  127. +5 −3 src/testdir/test_user_func.vim
  128. +55 −40 src/testdir/test_vim9_expr.vim
  129. +299 −3 src/testdir/test_vim9_script.vim
  130. +39 −25 src/testdir/test_vimscript.vim
  131. +9 −0 src/testdir/test_window_cmd.vim
  132. +65 −0 src/testdir/test_writefile.vim
  133. +19 −0 src/testing.c
  134. +35 −10 src/userfunc.c
  135. +122 −0 src/version.c
  136. +10 −6 src/vim9.h
  137. +566 −143 src/vim9compile.c
  138. +106 −14 src/vim9execute.c
  139. +2 −3 src/vim9script.c
  140. +34 −5 src/window.c
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 17
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 26


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -933,8 +933,7 @@ These modifiers can be given, in this order:
directory.
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
current directory, but on MS-Windows the drive is removed if
it is the current drive.
current directory.
For maximum shortness, use ":~:.".
:h Head of the file name (the last component and any separators
removed). Cannot be used with :e, :r or :t.
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2020 Jan 19
*eval.txt* For Vim version 8.2. Last change: 2020 Feb 03


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1808,7 +1808,9 @@ v:errors Errors found by assert functions, such as |assert_true()|.

*v:event* *event-variable*
v:event Dictionary containing information about the current
|autocommand|. The dictionary is emptied when the |autocommand|
|autocommand|. See the specific event for what it puts in
this dictionary.
The dictionary is emptied when the |autocommand|
finishes, please refer to |dict-identity| for how to get an
independent copy of it.

@@ -2858,6 +2860,7 @@ term_wait({buf} [, {time}]) Number wait for screen to be updated
test_alloc_fail({id}, {countdown}, {repeat})
none make memory allocation fail
test_autochdir() none enable 'autochdir' during startup
test_clear_search_pat() none clears the last used search pattern
test_feedinput({string}) none add key sequence to input buffer
test_garbagecollect_now() none free memory right now for testing
test_garbagecollect_soon() none free memory soon for testing
@@ -3467,6 +3470,7 @@ chdir({dir}) *chdir()*
directory (|:tcd|) then changes the tabpage local
directory.
- Otherwise, changes the global directory.
{dir} must be a String.
If successful, returns the previous working directory. Pass
this to another chdir() to restore the directory.
On failure, returns an empty string.
@@ -5676,7 +5680,7 @@ getwininfo([{winid}]) *getwininfo()*
GetWinnr()->getwininfo()

getwinpos([{timeout}]) *getwinpos()*
The result is a list with two numbers, the result of
The result is a List with two numbers, the result of
|getwinposx()| and |getwinposy()| combined:
[x-pos, y-pos]
{timeout} can be used to specify how long to wait in msec for
@@ -10473,6 +10477,7 @@ winline() The result is a Number, which is the screen line of the cursor
*winnr()*
winnr([{arg}]) The result is a Number, which is the number of the current
window. The top window has number 1.
Returns zero for a popup window.

The optional argument {arg} supports the following values:
$ the number of the last window (the window
0 runtime/doc/evim-it.1 100755 → 100644
No changes.
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2020 Jan 04
*insert.txt* For Vim version 8.2. Last change: 2020 Jan 26


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1079,7 +1079,8 @@ If you want to suppress the warning message for an empty result, return

Other items are ignored.

For acting upon end of completion, see the |CompleteDone| autocommand event.
For acting upon end of completion, see the |CompleteDonePre| and
|CompleteDone| autocommand event.

For example, the function can contain this: >
let matches = ... list of words ...
@@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.2. Last change: 2019 Nov 30
*popup.txt* For Vim version 8.2. Last change: 2020 Feb 03


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11,6 +11,7 @@ Displaying text in a floating window. *popup* *popup-window* *popupwin*
Window position and size |popup-position|
Closing the popup window |popup-close|
Popup buffer and window |popup-buffer|
Terminal in popup window |popup-terminal|
2. Functions |popup-functions|
Details |popup-function-details|
3. Usage |popup-usage|
@@ -140,6 +141,22 @@ And options can be set on the buffer with `setbufvar()`, e.g.: >
You can also use `win_execute()` with a ":setlocal" command.


TERMINAL IN POPUP WINDOW *popup-terminal*

A special case is running a terminal in a popup window. Many rules are then
different: *E863*
- The popup window always has focus, it is not possible to switch to another
window.
- When the job ends, the popup window closes.
- The default Pmenu color is only used for the border and padding. To change
the color of the terminal itself set 'wincolor'.

To run a terminal in a popup window, first create the terminal hidden. Then
pass the buffer number to popup_create(). Example: >
let buf = term_start(['picker', 'Something'], #{hidden: 1, term_finish: 'close'})
let winid = popup_create(buf, #{minwidth: 50, minheight: 20})
set wincolor=Search

==============================================================================
2. Functions *popup-functions*

@@ -4725,6 +4725,7 @@ E858 eval.txt /*E858*
E859 eval.txt /*E859*
E86 windows.txt /*E86*
E862 eval.txt /*E862*
E863 popup.txt /*E863*
E864 pattern.txt /*E864*
E865 pattern.txt /*E865*
E866 pattern.txt /*E866*
@@ -8452,6 +8453,7 @@ popup-menu-added version5.txt /*popup-menu-added*
popup-position popup.txt /*popup-position*
popup-props popup.txt /*popup-props*
popup-scrollbar popup.txt /*popup-scrollbar*
popup-terminal popup.txt /*popup-terminal*
popup-textprop-pos popup.txt /*popup-textprop-pos*
popup-usage popup.txt /*popup-usage*
popup-window popup.txt /*popup-window*
@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.2. Last change: 2019 Dec 27
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Jan 30


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -903,8 +903,8 @@ The following is a hypothetical example of a function used for 'tagfunc'. It
uses the output of |taglist()| to generate the result: a list of tags in the
inverse order of file names.
>
function! TagFunc(pattern, flags, info)
function! CompareFilenames(item1, item2)
function TagFunc(pattern, flags, info)
function CompareFilenames(item1, item2)
let f1 = a:item1['filename']
let f2 = a:item2['filename']
return f1 >=# f2 ?
@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.2. Last change: 2020 Jan 04
*terminal.txt* For Vim version 8.2. Last change: 2020 Jan 30


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1025,7 +1025,7 @@ Writing a screen dump test for Vim ~
For an example see the Test_syntax_c() function in
src/testdir/test_syntax.vim. The main parts are:
- Write a file you want to test with. This is useful for testing syntax
highlighting. You can also start Vim with en empty buffer.
highlighting. You can also start Vim with an empty buffer.
- Run Vim in a terminal with a specific size. The default is 20 lines of 75
characters. This makes sure the dump is always this size. The function
RunVimInTerminal() takes care of this. Pass it the arguments for the Vim
@@ -52,6 +52,11 @@ test_autochdir() *test_autochdir()*
startup has finished.


test_clear_search_pat() *test_clear_search_pat()*
Clears the last used search pattern (|/|) and the substitute
pattern (|:s|). This is useful for testing conditions where
these patterns are not set previously.

test_feedinput({string}) *test_feedinput()*
Characters in {string} are queued for processing as if they
were typed by the user. This uses a low level input buffer.
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Jan 23
*todo.txt* For Vim version 8.2. Last change: 2020 Feb 04


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

Include ipv6 syntax changes? (DJ Lucas, #5360)

Add win_type(), which "popup" and "cmdline" as values?

Vim9 script:
- test s:var += 'some'
test exported += 'some'
- implement default values for optional arguments
Generate instructions at start of function, skip over if argument provided?
- Disallow unlet for local/script/imported vars
- :func inside vim9script must still use a:arg
- Check that import in legacy script works and puts item in s:
- Error in any command in "vim9script" aborts sourcing.
- Find a way to test expressions in legacy and Vim9 script without duplication
- Test each level of expressions properly, with type checking
- Test the
- Test try/catch and throw better, also nested.
Test return inside try/finally jumps to finally and then returns.
- call autoload function.
- Type checking arguments when calling :def function
- can use func as reference:
def SomeFunc() ...
map(list, SomeFunc)
- define function and create funcref in one step:
let ref = def(arg: type): rettype
Also extends lambda
- Test: Function declared inside a :def function is local, disappears at the
end of the function. Unless g: is used, just like with variables.
- Can we omit \ for line continuation inside (), {}, ?
Requires parsing while reading a function. Like fgetline in do_one_cmd()?
- implement :type
- implement class
- implement interface
- predefined class: Promise<T>
- import statement for type declaration?
- Make accessing varargs faster: arg[expr]
EVAL expr
LOADVARARG (varags idx)

Popup windows:
- Make it possible to put a terminal window in a popup. Would always grab key
input? Sort-of possible by creating a hidden terminal and opening a popup
with that buffer: #4063.
- Use popup (or popup menu) for command line completion
- When using a popup for the info of a completion menu, and there is not
enough space, let the popup overlap with the menu. (#4544)
@@ -55,6 +89,8 @@ Popup windows:
- Figure out the size and position better if wrapping inserts indent

Text properties:
- Combining text property with 'cursorline' does not always work (Billie
Cleek, #5533)
- Text properties spanning more than one line
- See remarks at top of src/textprop.c

@@ -121,9 +157,8 @@ Terminal emulator window:
conversions.

Error numbers available:
E450, E451, E452,
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E863, E889, E900
E451, E452, E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E900

Patch to move duplicated code to a function. (Yegappan Lakshmanan, #5330)

@@ -142,16 +177,20 @@ Needs better docs. Is there a better name?

undo result wrong: Masato Nishihata, #4798

When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.

Patch to add function to return the text used in the quickfix window.
(Yegappan, #5465)

Patch for Template string: #4491. New pull: #4634
Implementation is too inefficient, avoid using lambda.

Undo puts cursor in wrong line after "cG<Esc>" undo.

:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
Dec 19)

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

Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
May 20)
Also put :argadd commands at the start for all buffers, so that their order
@@ -194,6 +233,8 @@ Enable 'termbidi' if $VTE_VERSION >= 5703 ?
Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126

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

Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)

The :syntax cchar value can only be a single character. It would be useful to
@@ -204,6 +245,8 @@ It can replace the BeOS code, which is likely not used anymore.
Now on github: #1856. Updated Oct 2017
Got permission to include this under the Vim license.

"--cleanFOO" does not result in an error. (#5537)

Add "t" action to settagstack(): truncate and add new entries. (#5405)

Result of synID() sometimes wrong in help files. (#5252)
@@ -269,9 +312,6 @@ Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
Add a WindowScrolled event. Trigger around the same time as CursorMoved.
Can be used to update highlighting. #3127 #5181

Patch for Template string: #4491. New pull: #4634
Implementation is too inefficient, avoid using lambda.

Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)

Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
@@ -812,9 +852,6 @@ option_save({list}) *option_save()*
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.

crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
17, #2652)

When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
highlighted. (van-de-bugger, 2018 Jan 23, #2576)

@@ -963,6 +963,7 @@ Testing: *test-functions*
assert_report() report a test failure
test_alloc_fail() make memory allocation fail
test_autochdir() enable 'autochdir' during startup
test_clear_search_pat() clears the last used search pattern
test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now
test_getvalue() get value of an internal variable
@@ -1,4 +1,4 @@
*version8.txt* For Vim version 8.2. Last change: 2019 Dec 29
*version8.txt* For Vim version 8.2. Last change: 2020 Feb 04


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -306,7 +306,6 @@ New and extended functions: ~
|systemlist()| get the result of a shell command as a list
|test_alloc_fail()| make memory allocation fail
|test_autochdir()| test 'autochdir' functionality
test_disable_char_avail() test without typeahead (removed later)
|test_garbagecollect_now()| free memory right now
|test_null_channel()| return a null Channel
|test_null_dict()| return a null Dict
0 runtime/doc/vim-it.1 100755 → 100644
No changes.

0 comments on commit e49369c

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