diff --git a/Filelist b/Filelist index 8407e1cfc6..25bfb4c014 100644 --- a/Filelist +++ b/Filelist @@ -12,6 +12,7 @@ SRC_ALL = \ appveyor.yml \ ci/appveyor.bat \ ci/if_ver*.vim \ + ci/load-snd-dummy.sh \ src/Make_all.mak \ src/README.md \ src/alloc.h \ @@ -29,6 +30,7 @@ SRC_ALL = \ src/channel.c \ src/charset.c \ src/cindent.c \ + src/clipboard.c \ src/cmdexpand.c \ src/cmdhist.c \ src/crypt.c \ @@ -150,17 +152,18 @@ SRC_ALL = \ src/testdir/*.py \ src/testdir/lsan-suppress.txt \ src/testdir/sautest/autoload/*.vim \ - src/testdir/runtest.vim \ - src/testdir/summarize.vim \ src/testdir/check.vim \ - src/testdir/shared.vim \ - src/testdir/screendump.vim \ - src/testdir/view_util.vim \ - src/testdir/term_util.vim \ - src/testdir/setup.vim \ src/testdir/gui_init.vim \ - src/testdir/setup_gui.vim \ src/testdir/gui_preinit.vim \ + src/testdir/mouse.vim \ + src/testdir/runtest.vim \ + src/testdir/screendump.vim \ + src/testdir/setup.vim \ + src/testdir/setup_gui.vim \ + src/testdir/shared.vim \ + src/testdir/summarize.vim \ + src/testdir/term_util.vim \ + src/testdir/view_util.vim \ src/testdir/test[0-9]*.ok \ src/testdir/test[0-9]*a.ok \ src/testdir/test_[a-z]*.ok \ @@ -200,6 +203,7 @@ SRC_ALL = \ src/proto/channel.pro \ src/proto/charset.pro \ src/proto/cindent.pro \ + src/proto/clipboard.pro \ src/proto/cmdexpand.pro \ src/proto/cmdhist.pro \ src/proto/crypt.pro \ @@ -784,20 +788,20 @@ RT_UNIX = \ README_unix.txt \ runtime/hi16-action-make.png \ runtime/hi22-action-make.png \ - runtime/vim16x16.png \ - runtime/vim16x16.xpm \ - runtime/vim32x32.png \ - runtime/vim32x32.xpm \ - runtime/vim48x48.png \ - runtime/vim48x48.xpm \ runtime/gvim.desktop \ runtime/vim.desktop \ # Unix and DOS runtime without CR-LF translation RT_UNIX_DOS_BIN = \ runtime/vim16x16.gif \ + runtime/vim16x16.png \ + runtime/vim16x16.xpm \ runtime/vim32x32.gif \ + runtime/vim32x32.png \ + runtime/vim32x32.xpm \ runtime/vim48x48.gif \ + runtime/vim48x48.png \ + runtime/vim48x48.xpm \ # runtime not for unix or extra RT_NO_UNIX = \ diff --git a/appveyor.yml b/appveyor.yml index 2d88bed44f..eb720f47dd 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,9 +25,9 @@ test_script: - cd src/testdir # Testing with MSVC gvim - path C:\Python35-x64;%PATH% - - nmake -f Make_dos.mak VIMPROG=..\gvim + - nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim - nmake -f Make_dos.mak clean # Testing with MingW console version - - nmake -f Make_dos.mak VIMPROG=..\vim + - nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim # vim: sw=2 sts=2 et ts=8 sr diff --git a/ci/load-snd-dummy.sh b/ci/load-snd-dummy.sh new file mode 100644 index 0000000000..5ceb7cedff --- /dev/null +++ b/ci/load-snd-dummy.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +if ! modprobe snd-dummy; then + # snd-dummy is contained in linux-modules-extra (if exists) + apt install -y "linux-modules-extra-$(uname -r)" + modprobe snd-dummy +fi diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 8ca205d6b5..037f693a87 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.2. Last change: 2020 Mar 14 +*eval.txt* For Vim version 8.2. Last change: 2020 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2527,7 +2527,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) glob2regpat({expr}) String convert a glob pat into a search pat globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]]) String do glob({expr}) for all dirs in {path} -has({feature}) Number |TRUE| if feature {feature} supported +has({feature} [, {check}]) Number |TRUE| if feature {feature} supported has_key({dict}, {key}) Number |TRUE| if {dict} has entry {key} haslocaldir([{winnr} [, {tabnr}]]) Number |TRUE| if the window executed |:lcd| @@ -2613,6 +2613,7 @@ matchstr({expr}, {pat} [, {start} [, {count}]]) matchstrpos({expr}, {pat} [, {start} [, {count}]]) List {count}'th match of {pat} in {expr} max({expr}) Number maximum value of items in {expr} +menu_info({name} [, {mode}]) Dict get menu item information min({expr}) Number minimum value of items in {expr} mkdir({name} [, {path} [, {prot}]]) Number create directory {name} @@ -4113,8 +4114,12 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined, string) *funcname built-in function (see |functions|) or user defined function (see - |user-functions|). Also works for a - variable that is a Funcref. + |user-functions|) that is implemented. + Also works for a variable that is a + Funcref. + ?funcname built-in function that could be + implemented; to be used to check if + "funcname" is valid varname internal variable (see |internal-variables|). Also works for |curly-braces-names|, |Dictionary| @@ -4369,8 +4374,8 @@ feedkeys({string} [, {mode}]) *feedkeys()* 'L' Lowlevel input. Only works for Unix or when using the GUI. Keys are used as if they were coming from the terminal. Other flags are not used. *E980* - When a CTRL-C interrupts it sets the internal - "got_int" flag. + When a CTRL-C interrupts and 't' is included it sets + the internal "got_int" flag. 'i' Insert the string instead of appending (see above). 'x' Execute commands until typeahead is empty. This is similar to using ":normal!". You can call feedkeys() @@ -5839,10 +5844,22 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]]) GetExpr()->globpath(&rtp) < *has()* -has({feature}) The result is a Number, which is 1 if the feature {feature} is - supported, zero otherwise. The {feature} argument is a - string. See |feature-list| below. +has({feature} [, {check}]) + When {check} is omitted or is zero: The result is a Number, + which is 1 if the feature {feature} is supported, zero + otherwise. The {feature} argument is a string, case is + ignored. See |feature-list| below. + + When {check} is present and not zero: The result is a Number, + which is 1 if the feature {feature} could ever be supported, + zero otherwise. This is useful to check for a typo in + {feature} and to detect dead code. Keep in mind that an older + Vim version will not know about a feature added later and + features that have been abandoned will not be know by the + current Vim version. + Also see |exists()|. + Note that to skip code that has a syntax error when the feature is not available, Vim may skip the rest of the line and miss a following `endif`. Therfore put the `endif` on a @@ -5850,8 +5867,8 @@ has({feature}) The result is a Number, which is 1 if the feature {feature} is if has('feature') let x = this->breaks->without->the->feature endif -< If the `endif` would be in the second line it would not be - found. +< If the `endif` would be moved to the second line as "| endif" it + would not be found. has_key({dict}, {key}) *has_key()* @@ -7136,6 +7153,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()* Can also be used as a |method|: > GetText()->matchstrpos('word') < + *max()* max({expr}) Return the maximum value of all items in {expr}. {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}. Can also be used as a |method|: > mylist->max() + +menu_info({name} [, {mode}]) *menu_info()* + Return information about the specified menu {name} in + mode {mode}. The menu name should be specified without the + shortcut character ('&'). + + {mode} can be one of these strings: + "n" Normal + "v" Visual (including Select) + "o" Operator-pending + "i" Insert + "c" Cmd-line + "s" Select + "x" Visual + "t" Terminal-Job + "" Normal, Visual and Operator-pending + "!" Insert and Cmd-line + When {mode} is omitted, the modes for "" are used. + + Returns a |Dictionary| containing the following items: + accel menu item accelerator text |menu-text| + display display name (name without '&') + enabled v:true if this menu item is enabled + Refer to |:menu-enable| + icon name of the icon file (for toolbar) + |toolbar-icon| + iconidx index of a built-in icon + modes modes for which the menu is defined. In + addition to the modes mentioned above, these + characters will be used: + " " Normal, Visual and Operator-pending + name menu item name. + noremenu v:true if the {rhs} of the menu item is not + remappable else v:false. + priority menu order priority |menu-priority| + rhs right-hand-side of the menu item. The returned + string has special characters translated like + in the output of the ":menu" command listing. + When the {rhs} of a menu item is empty, then + "" is returned. + script v:true if script-local remapping of {rhs} is + allowed else v:false. See |:menu-script|. + shortcut shortcut key (character after '&' in + the menu name) |menu-shortcut| + silent v:true if the menu item is created + with argument |:menu-silent| + submenus |List| containing the names of + all the submenus. Present only if the menu + item has submenus. + + Returns an empty dictionary if the menu item is not found. + + Examples: > + :echo menu_info('Edit.Cut') + :echo menu_info('File.Save', 'n') +< + Can also be used as a |method|: > + GetMenuName()->menu_info('v') + + < *min()* min({expr}) Return the minimum value of all items in {expr}. {expr} can be a List or a Dictionary. For a Dictionary, @@ -8742,6 +8820,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()* *setreg()* setreg({regname}, {value} [, {options}]) Set the register {regname} to {value}. + If {regname} is "" or "@", the unnamed register '"' is used. {value} may be any value returned by |getreg()|, including a |List|. If {options} contains "a" or {regname} is upper case, diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index 121e258773..7a86657323 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1,4 +1,4 @@ -*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16 +*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -578,9 +578,11 @@ tooltips for menus. See |terminal-typing|. Special characters in a menu name: + *menu-shortcut* & The next character is the shortcut key. Make sure each shortcut key is only used once in a (sub)menu. If you want to insert a literal "&" in the menu name use "&&". + *menu-text* Separates the menu name from right-aligned text. This can be used to show the equivalent typed command. The text "" 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: * The menu was defined with "nore" to disallow remapping. & The menu was defined with "