Skip to content

Commit 6054e34

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 052c47a + 360bdbd commit 6054e34

184 files changed

Lines changed: 8744 additions & 4486 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Filelist

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ SRC_ALL = \
1212
appveyor.yml \
1313
ci/appveyor.bat \
1414
ci/if_ver*.vim \
15+
ci/load-snd-dummy.sh \
1516
src/Make_all.mak \
1617
src/README.md \
1718
src/alloc.h \
@@ -29,6 +30,7 @@ SRC_ALL = \
2930
src/channel.c \
3031
src/charset.c \
3132
src/cindent.c \
33+
src/clipboard.c \
3234
src/cmdexpand.c \
3335
src/cmdhist.c \
3436
src/crypt.c \
@@ -150,17 +152,18 @@ SRC_ALL = \
150152
src/testdir/*.py \
151153
src/testdir/lsan-suppress.txt \
152154
src/testdir/sautest/autoload/*.vim \
153-
src/testdir/runtest.vim \
154-
src/testdir/summarize.vim \
155155
src/testdir/check.vim \
156-
src/testdir/shared.vim \
156+
src/testdir/gui_init.vim \
157+
src/testdir/gui_preinit.vim \
158+
src/testdir/mouse.vim \
159+
src/testdir/runtest.vim \
157160
src/testdir/screendump.vim \
158-
src/testdir/view_util.vim \
159-
src/testdir/term_util.vim \
160161
src/testdir/setup.vim \
161-
src/testdir/gui_init.vim \
162162
src/testdir/setup_gui.vim \
163-
src/testdir/gui_preinit.vim \
163+
src/testdir/shared.vim \
164+
src/testdir/summarize.vim \
165+
src/testdir/term_util.vim \
166+
src/testdir/view_util.vim \
164167
src/testdir/test[0-9]*.ok \
165168
src/testdir/test[0-9]*a.ok \
166169
src/testdir/test_[a-z]*.ok \
@@ -200,6 +203,7 @@ SRC_ALL = \
200203
src/proto/channel.pro \
201204
src/proto/charset.pro \
202205
src/proto/cindent.pro \
206+
src/proto/clipboard.pro \
203207
src/proto/cmdexpand.pro \
204208
src/proto/cmdhist.pro \
205209
src/proto/crypt.pro \
@@ -784,20 +788,20 @@ RT_UNIX = \
784788
README_unix.txt \
785789
runtime/hi16-action-make.png \
786790
runtime/hi22-action-make.png \
787-
runtime/vim16x16.png \
788-
runtime/vim16x16.xpm \
789-
runtime/vim32x32.png \
790-
runtime/vim32x32.xpm \
791-
runtime/vim48x48.png \
792-
runtime/vim48x48.xpm \
793791
runtime/gvim.desktop \
794792
runtime/vim.desktop \
795793

796794
# Unix and DOS runtime without CR-LF translation
797795
RT_UNIX_DOS_BIN = \
798796
runtime/vim16x16.gif \
797+
runtime/vim16x16.png \
798+
runtime/vim16x16.xpm \
799799
runtime/vim32x32.gif \
800+
runtime/vim32x32.png \
801+
runtime/vim32x32.xpm \
800802
runtime/vim48x48.gif \
803+
runtime/vim48x48.png \
804+
runtime/vim48x48.xpm \
801805

802806
# runtime not for unix or extra
803807
RT_NO_UNIX = \

appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ test_script:
2525
- cd src/testdir
2626
# Testing with MSVC gvim
2727
- path C:\Python35-x64;%PATH%
28-
- nmake -f Make_dos.mak VIMPROG=..\gvim
28+
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim
2929
- nmake -f Make_dos.mak clean
3030
# Testing with MingW console version
31-
- nmake -f Make_dos.mak VIMPROG=..\vim
31+
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
3232

3333
# vim: sw=2 sts=2 et ts=8 sr

ci/load-snd-dummy.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
set -e
3+
4+
if ! modprobe snd-dummy; then
5+
# snd-dummy is contained in linux-modules-extra (if exists)
6+
apt install -y "linux-modules-extra-$(uname -r)"
7+
modprobe snd-dummy
8+
fi

runtime/doc/eval.txt

Lines changed: 90 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*eval.txt* For Vim version 8.2. Last change: 2020 Mar 14
1+
*eval.txt* For Vim version 8.2. Last change: 2020 Mar 26
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2527,7 +2527,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])
25272527
glob2regpat({expr}) String convert a glob pat into a search pat
25282528
globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
25292529
String do glob({expr}) for all dirs in {path}
2530-
has({feature}) Number |TRUE| if feature {feature} supported
2530+
has({feature} [, {check}]) Number |TRUE| if feature {feature} supported
25312531
has_key({dict}, {key}) Number |TRUE| if {dict} has entry {key}
25322532
haslocaldir([{winnr} [, {tabnr}]])
25332533
Number |TRUE| if the window executed |:lcd|
@@ -2613,6 +2613,7 @@ matchstr({expr}, {pat} [, {start} [, {count}]])
26132613
matchstrpos({expr}, {pat} [, {start} [, {count}]])
26142614
List {count}'th match of {pat} in {expr}
26152615
max({expr}) Number maximum value of items in {expr}
2616+
menu_info({name} [, {mode}]) Dict get menu item information
26162617
min({expr}) Number minimum value of items in {expr}
26172618
mkdir({name} [, {path} [, {prot}]])
26182619
Number create directory {name}
@@ -4113,8 +4114,12 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
41134114
string)
41144115
*funcname built-in function (see |functions|)
41154116
or user defined function (see
4116-
|user-functions|). Also works for a
4117-
variable that is a Funcref.
4117+
|user-functions|) that is implemented.
4118+
Also works for a variable that is a
4119+
Funcref.
4120+
?funcname built-in function that could be
4121+
implemented; to be used to check if
4122+
"funcname" is valid
41184123
varname internal variable (see
41194124
|internal-variables|). Also works
41204125
for |curly-braces-names|, |Dictionary|
@@ -4369,8 +4374,8 @@ feedkeys({string} [, {mode}]) *feedkeys()*
43694374
'L' Lowlevel input. Only works for Unix or when using the
43704375
GUI. Keys are used as if they were coming from the
43714376
terminal. Other flags are not used. *E980*
4372-
When a CTRL-C interrupts it sets the internal
4373-
"got_int" flag.
4377+
When a CTRL-C interrupts and 't' is included it sets
4378+
the internal "got_int" flag.
43744379
'i' Insert the string instead of appending (see above).
43754380
'x' Execute commands until typeahead is empty. This is
43764381
similar to using ":normal!". You can call feedkeys()
@@ -5839,19 +5844,31 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
58395844
GetExpr()->globpath(&rtp)
58405845
<
58415846
*has()*
5842-
has({feature}) The result is a Number, which is 1 if the feature {feature} is
5843-
supported, zero otherwise. The {feature} argument is a
5844-
string. See |feature-list| below.
5847+
has({feature} [, {check}])
5848+
When {check} is omitted or is zero: The result is a Number,
5849+
which is 1 if the feature {feature} is supported, zero
5850+
otherwise. The {feature} argument is a string, case is
5851+
ignored. See |feature-list| below.
5852+
5853+
When {check} is present and not zero: The result is a Number,
5854+
which is 1 if the feature {feature} could ever be supported,
5855+
zero otherwise. This is useful to check for a typo in
5856+
{feature} and to detect dead code. Keep in mind that an older
5857+
Vim version will not know about a feature added later and
5858+
features that have been abandoned will not be know by the
5859+
current Vim version.
5860+
58455861
Also see |exists()|.
5862+
58465863
Note that to skip code that has a syntax error when the
58475864
feature is not available, Vim may skip the rest of the line
58485865
and miss a following `endif`. Therfore put the `endif` on a
58495866
separate line: >
58505867
if has('feature')
58515868
let x = this->breaks->without->the->feature
58525869
endif
5853-
< If the `endif` would be in the second line it would not be
5854-
found.
5870+
< If the `endif` would be moved to the second line as "| endif" it
5871+
would not be found.
58555872

58565873

58575874
has_key({dict}, {key}) *has_key()*
@@ -7136,6 +7153,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
71367153
Can also be used as a |method|: >
71377154
GetText()->matchstrpos('word')
71387155
<
7156+
71397157
*max()*
71407158
max({expr}) Return the maximum value of all items in {expr}.
71417159
{expr} can be a List or a Dictionary. For a Dictionary,
@@ -7147,6 +7165,66 @@ max({expr}) Return the maximum value of all items in {expr}.
71477165
Can also be used as a |method|: >
71487166
mylist->max()
71497167
7168+
7169+
menu_info({name} [, {mode}]) *menu_info()*
7170+
Return information about the specified menu {name} in
7171+
mode {mode}. The menu name should be specified without the
7172+
shortcut character ('&').
7173+
7174+
{mode} can be one of these strings:
7175+
"n" Normal
7176+
"v" Visual (including Select)
7177+
"o" Operator-pending
7178+
"i" Insert
7179+
"c" Cmd-line
7180+
"s" Select
7181+
"x" Visual
7182+
"t" Terminal-Job
7183+
"" Normal, Visual and Operator-pending
7184+
"!" Insert and Cmd-line
7185+
When {mode} is omitted, the modes for "" are used.
7186+
7187+
Returns a |Dictionary| containing the following items:
7188+
accel menu item accelerator text |menu-text|
7189+
display display name (name without '&')
7190+
enabled v:true if this menu item is enabled
7191+
Refer to |:menu-enable|
7192+
icon name of the icon file (for toolbar)
7193+
|toolbar-icon|
7194+
iconidx index of a built-in icon
7195+
modes modes for which the menu is defined. In
7196+
addition to the modes mentioned above, these
7197+
characters will be used:
7198+
" " Normal, Visual and Operator-pending
7199+
name menu item name.
7200+
noremenu v:true if the {rhs} of the menu item is not
7201+
remappable else v:false.
7202+
priority menu order priority |menu-priority|
7203+
rhs right-hand-side of the menu item. The returned
7204+
string has special characters translated like
7205+
in the output of the ":menu" command listing.
7206+
When the {rhs} of a menu item is empty, then
7207+
"<Nop>" is returned.
7208+
script v:true if script-local remapping of {rhs} is
7209+
allowed else v:false. See |:menu-script|.
7210+
shortcut shortcut key (character after '&' in
7211+
the menu name) |menu-shortcut|
7212+
silent v:true if the menu item is created
7213+
with <silent> argument |:menu-silent|
7214+
submenus |List| containing the names of
7215+
all the submenus. Present only if the menu
7216+
item has submenus.
7217+
7218+
Returns an empty dictionary if the menu item is not found.
7219+
7220+
Examples: >
7221+
:echo menu_info('Edit.Cut')
7222+
:echo menu_info('File.Save', 'n')
7223+
<
7224+
Can also be used as a |method|: >
7225+
GetMenuName()->menu_info('v')
7226+
7227+
71507228
< *min()*
71517229
min({expr}) Return the minimum value of all items in {expr}.
71527230
{expr} can be a List or a Dictionary. For a Dictionary,
@@ -8742,6 +8820,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
87428820
*setreg()*
87438821
setreg({regname}, {value} [, {options}])
87448822
Set the register {regname} to {value}.
8823+
If {regname} is "" or "@", the unnamed register '"' is used.
87458824
{value} may be any value returned by |getreg()|, including
87468825
a |List|.
87478826
If {options} contains "a" or {regname} is upper case,

runtime/doc/gui.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16
1+
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -578,9 +578,11 @@ tooltips for menus. See |terminal-typing|.
578578

579579
Special characters in a menu name:
580580

581+
*menu-shortcut*
581582
& The next character is the shortcut key. Make sure each
582583
shortcut key is only used once in a (sub)menu. If you want to
583584
insert a literal "&" in the menu name use "&&".
585+
*menu-text*
584586
<Tab> Separates the menu name from right-aligned text. This can be
585587
used to show the equivalent typed command. The text "<Tab>"
586588
can be used here for convenience. If you are using a real
@@ -854,6 +856,8 @@ Special characters in the list, just before the rhs:
854856
* The menu was defined with "nore" to disallow remapping.
855857
& The menu was defined with "<script>" to allow remapping script-local
856858
mappings only.
859+
s The menu was defined with "<silent>" to avoid showing what it is
860+
mapped to when triggered.
857861
- The menu was disabled.
858862

859863
Note that hitting <Tab> while entering a menu name after a menu command may
@@ -955,7 +959,7 @@ item for the keyword under the cursor. The register "z" is used. >
955959
mappings, or put these lines in your gvimrc; "<C-R>" is CTRL-R, "<CR>" is
956960
the <CR> key. |<>|)
957961

958-
962+
*tooltips* *menu-tips*
959963
5.8 Tooltips & Menu tips
960964

961965
See section |42.4| in the user manual.

runtime/doc/gui_w32.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*gui_w32.txt* For Vim version 8.2. Last change: 2019 May 05
1+
*gui_w32.txt* For Vim version 8.2. Last change: 2020 Mar 25
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -456,8 +456,12 @@ See the Make_mvc.mak file for instructions, search for XPM.
456456

457457
To try out if XPM support works do this: >
458458
:help
459-
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
460-
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
459+
:let runtime = escape($VIMRUNTIME, ' \')
460+
:exe 'sign define vimxpm icon=' .. runtime .. '\\vim16x16.xpm'
461+
:exe 'sign place 1 line=1 name=vimxpm file=' .. expand('%:p')
461462
<
463+
You may need to get the vim16x16.xpm file from github:
464+
https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
465+
462466

463467
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

runtime/doc/index.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*index.txt* For Vim version 8.2. Last change: 2020 Jan 14
1+
*index.txt* For Vim version 8.2. Last change: 2020 Mar 27
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1260,11 +1260,12 @@ tag command action ~
12601260
|:cunmenu| :cunme[nu] remove menu for Command-line mode
12611261
|:cwindow| :cw[indow] open or close quickfix window
12621262
|:delete| :d[elete] delete lines
1263-
|:delmarks| :delm[arks] delete marks
12641263
|:debug| :deb[ug] run a command in debugging mode
12651264
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
1265+
|:def| :def define a Vim9 user function
12661266
|:delcommand| :delc[ommand] delete user-defined command
12671267
|:delfunction| :delf[unction] delete a user function
1268+
|:delmarks| :delm[arks] delete marks
12681269
|:diffupdate| :dif[fupdate] update 'diff' buffers
12691270
|:diffget| :diffg[et] remove differences in current buffer
12701271
|:diffoff| :diffo[ff] switch off diff mode
@@ -1274,9 +1275,9 @@ tag command action ~
12741275
|:diffthis| :diffthis make current window a diff window
12751276
|:digraphs| :dig[raphs] show or enter digraphs
12761277
|:display| :di[splay] display registers
1278+
|:disassemble| :disa[ssemble] disassemble Vim9 user function
12771279
|:djump| :dj[ump] jump to #define
12781280
|:dl| :dl short for |:delete| with the 'l' flag
1279-
|:del| :del[ete]l short for |:delete| with the 'l' flag
12801281
|:dlist| :dli[st] list #defines
12811282
|:doautocmd| :do[autocmd] apply autocommands to current buffer
12821283
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
@@ -1295,15 +1296,17 @@ tag command action ~
12951296
|:else| :el[se] part of an :if command
12961297
|:elseif| :elsei[f] part of an :if command
12971298
|:emenu| :em[enu] execute a menu by name
1299+
|:enddef| :enddef end of a user function started with :def
12981300
|:endif| :en[dif] end previous :if
12991301
|:endfor| :endfo[r] end previous :for
1300-
|:endfunction| :endf[unction] end of a user function
1302+
|:endfunction| :endf[unction] end of a user function started with :function
13011303
|:endtry| :endt[ry] end previous :try
13021304
|:endwhile| :endw[hile] end previous :while
13031305
|:enew| :ene[w] edit a new, unnamed buffer
13041306
|:ex| :ex same as ":edit"
13051307
|:execute| :exe[cute] execute result of expressions
13061308
|:exit| :exi[t] same as ":xit"
1309+
|:export| :exp[ort] Vim9: export an item from a script
13071310
|:exusage| :exu[sage] overview of Ex commands
13081311
|:file| :f[ile] show or set the current file name
13091312
|:files| :files list all files in the buffer list
@@ -1345,6 +1348,7 @@ tag command action ~
13451348
|:imap| :im[ap] like ":map" but for Insert mode
13461349
|:imapclear| :imapc[lear] like ":mapclear" but for Insert mode
13471350
|:imenu| :ime[nu] add menu for Insert mode
1351+
|:import| :imp[ort] Vim9: import an item from another script
13481352
|:inoremap| :ino[remap] like ":noremap" but for Insert mode
13491353
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
13501354
|:inoremenu| :inoreme[nu] like ":noremenu" but for Insert mode
@@ -1688,6 +1692,7 @@ tag command action ~
16881692
|:version| :ve[rsion] print version number and other info
16891693
|:verbose| :verb[ose] execute command with 'verbose' set
16901694
|:vertical| :vert[ical] make following command split vertically
1695+
|:vim9script| :vim9[script] indicates Vim9 script file
16911696
|:vimgrep| :vim[grep] search for pattern in files
16921697
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
16931698
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode

0 commit comments

Comments
 (0)