# HG changeset patch # User Bram Moolenaar # Date 1597510804 -7200 # Node ID 0db0640e16e07d60aeeed88106f59a8f22db92f0 # Parent 91c90e53de36f4ae8659cef44410a515e8fbcb5c Update runtime files. Commit: https://github.com/vim/vim/commit/3d1cde8a2f28dce2c82d2b2b4c5e35e6662030e0 Author: Bram Moolenaar Date: Sat Aug 15 18:55:18 2020 +0200 Update runtime files. diff --git a/README_VIM9.md b/README_VIM9.md --- a/README_VIM9.md +++ b/README_VIM9.md @@ -98,7 +98,7 @@ Instead of using script language support tool and implements the Vim side of the interface. Also, it can be used when an external tool is undesired. -All together this creates a clear situation: Vim with the +eval feature +Altogether this creates a clear situation: Vim with the +eval feature will be sufficient for most plugins, while some plugins require installing a tool that can be written in any language. No confusion about having Vim but the plugin not working because some specific diff --git a/runtime/colors/tools/check_colors.vim b/runtime/colors/tools/check_colors.vim --- a/runtime/colors/tools/check_colors.vim +++ b/runtime/colors/tools/check_colors.vim @@ -185,7 +185,7 @@ func! Test_check_colors() " 9) Normal should be defined first, not use reverse, fg or bg call cursor(1,1) - let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>' + let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>' call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear` if getline('.') !~# '\m\' let err['highlight']['Normal'] = 'Should be defined first' diff --git a/runtime/compiler/checkstyle.vim b/runtime/compiler/checkstyle.vim --- a/runtime/compiler/checkstyle.vim +++ b/runtime/compiler/checkstyle.vim @@ -1,7 +1,7 @@ " Vim compiler file " Compiler: Checkstyle " Maintainer: Doug Kearns -" Last Change: 2013 Jun 26 +" Last Change: 2020 Aug 2 if exists("current_compiler") finish @@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older command -nargs=* CompilerSet setlocal endif -CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml +" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml -" sample error: WebTable.java:282: '+=' is not preceeded with whitespace. -" WebTable.java:201:1: '{' should be on the previous line. -CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%# +CompilerSet makeprg=checkstyle\ -f\ plain +CompilerSet errorformat=[%tRROR]\ %f:%l:%v:\ %m, + \[%tARN]\ %f:%l:%v:\ %m, + \[%tRROR]\ %f:%l:\ %m, + \[%tARN]\ %f:%l:\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/gawk.vim b/runtime/compiler/gawk.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/gawk.vim @@ -0,0 +1,34 @@ +" Vim compiler file +" Compiler: GNU Awk +" Maintainer: Doug Kearns +" Last Change: 2020 Feb 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "gawk" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +CompilerSet makeprg=gawk +CompilerSet errorformat=%Z%.awk:\ %f:%l:\ %p^\ %m, + \%Eg%\\=awk:\ %f:%l:\ fatal:\ %m, + \%Egawk:\ %f:%l:\ error:\ %m, + \%Wgawk:\ %f:%l:\ warning:\ %m, + \%Egawk:\ %f:%l:\ %.%#, + \gawk:\ %f:%l:\ %tatal:\ %m, + \gawk:\ %f:%l:\ %trror:\ %m, + \gawk:\ %f:%l:\ %tarning:\ %m, + \gawk:\ %tatal:\ %m, + \gawk:\ %trror:\ %m, + \gawk:\ %tarning:\ %m, + \%+C%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/gjs.vim b/runtime/compiler/gjs.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/gjs.vim @@ -0,0 +1,25 @@ +" Vim compiler file +" Compiler: GJS (Gnome JavaScript Bindings) +" Maintainer: Doug Kearns +" Last Change: 2019 Jul 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "gjs" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +CompilerSet makeprg=gjs +CompilerSet errorformat=%.%#JS\ %tRROR:\ %m\ @\ %f:%c, + \%E%.%#JS\ ERROR:\ %m, + \%Z@%f:%l:%c, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/jest.vim b/runtime/compiler/jest.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/jest.vim @@ -0,0 +1,30 @@ +" Vim compiler file +" Compiler: Jest +" Maintainer: Doug Kearns +" Last Change: 2018 May 15 + +if exists("current_compiler") + finish +endif +let current_compiler = "jest" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ jest\ --no-colors + +CompilerSet makeprg=jest\ --no-colors +CompilerSet errorformat=%E\ \ ●\ %m, + \%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=, + \%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c), + \%+C\ %\\{4}%\\w%.%#, + \%+C\ %\\{4}%[-+]%.%#, + \%-C%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/jjs.vim b/runtime/compiler/jjs.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/jjs.vim @@ -0,0 +1,24 @@ +" Vim compiler file +" Compiler: Nashorn Shell +" Maintainer: Doug Kearns +" Last Change: 2018 Jan 9 + +if exists("current_compiler") + finish +endif +let current_compiler = "jjs" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +CompilerSet makeprg=jjs +CompilerSet errorformat=%f:%l:%c\ %m, + \%f:%l\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/jshint.vim b/runtime/compiler/jshint.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/jshint.vim @@ -0,0 +1,25 @@ +" Vim compiler file +" Compiler: JSHint +" Maintainer: Doug Kearns +" Last Change: 2019 Jul 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "jshint" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ jshint\ --verbose + +CompilerSet makeprg=jshint\ --verbose +CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m\ (%t%n), + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/jsonlint.vim b/runtime/compiler/jsonlint.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/jsonlint.vim @@ -0,0 +1,25 @@ +" Vim compiler file +" Compiler: JSON Lint +" Maintainer: Doug Kearns +" Last Change: 2019 Jul 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "jsonlint" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ jsonlint\ --compact\ --quiet + +CompilerSet makeprg=jsonlint\ --compact\ --quiet +CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ found:\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/rubocop.vim b/runtime/compiler/rubocop.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/rubocop.vim @@ -0,0 +1,23 @@ +" Vim compiler file +" Compiler: RuboCop +" Maintainer: Doug Kearns +" Last Change: 2019 Jul 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "rubocop" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +CompilerSet makeprg=rubocop\ --format\ emacs +CompilerSet errorformat=%f:%l:%c:\ %t:\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/stylelint.vim b/runtime/compiler/stylelint.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/stylelint.vim @@ -0,0 +1,26 @@ +" Vim compiler file +" Compiler: Stylelint +" Maintainer: Doug Kearns +" Last Change: 2020 Jun 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "stylelint" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ stylelint\ --formatter\ compact + +CompilerSet makeprg=stylelint\ --formatter\ compact +CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m, + \%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/ts-node.vim b/runtime/compiler/ts-node.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/ts-node.vim @@ -0,0 +1,29 @@ +" Vim compiler file +" Compiler: TypeScript Runner +" Maintainer: Doug Kearns +" Last Change: 2020 Feb 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "node" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ ts-node + +CompilerSet makeprg=ts-node +CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m, + \%E%f:%l, + \%+Z%\\w%\\+Error:\ %.%#, + \%C%p^%\\+, + \%C%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/tsc.vim b/runtime/compiler/tsc.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/tsc.vim @@ -0,0 +1,26 @@ +" Vim compiler file +" Compiler: TypeScript Compiler +" Maintainer: Doug Kearns +" Last Change: 2020 Feb 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "tsc" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ tsc + +CompilerSet makeprg=tsc +CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m, + \%trror\ TS%n:\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/compiler/typedoc.vim b/runtime/compiler/typedoc.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/typedoc.vim @@ -0,0 +1,28 @@ +" Vim compiler file +" Compiler: TypeDoc +" Maintainer: Doug Kearns +" Last Change: 2020 Feb 10 + +if exists("current_compiler") + finish +endif +let current_compiler = "typedoc" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +" CompilerSet makeprg=npx\ typedoc + +CompilerSet makeprg=typedoc +CompilerSet errorformat=%EError:\ %f(%l), + \%WWarning:\ %f(%l), + \%+IDocumentation\ generated\ at\ %f, + \%Z\ %m, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 8.2. Last change: 2020 Jul 26 +*cmdline.txt* For Vim version 8.2. Last change: 2020 Aug 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1130,7 +1130,8 @@ CTRL-C Continue in Command-line mode. in Normal mode. There is no redraw, thus the window will remain visible. :quit Discard the command line and go back to Normal mode. - ":close", ":exit", ":xit" and CTRL-\ CTRL-N also work. + ":close", CTRL-W c, ":exit", ":xit" and CTRL-\ CTRL-N also + work. :qall Quit Vim, unless there are changes in some buffer. :qall! Quit Vim, discarding changes to any buffer. 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.2. Last change: 2020 Aug 07 +*eval.txt* For Vim version 8.2. Last change: 2020 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -163,8 +163,8 @@ file. It will be overwritten when insta A. If you want to overrule all default file type checks. This works by writing one file for each filetype. The disadvantage is that - means there can be many files. The advantage is that you can simply drop - this file in the right directory to make it work. + there can be many files. The advantage is that you can simply drop this + file in the right directory to make it work. *ftdetect* 1. Create your user runtime directory. You would normally use the first item of the 'runtimepath' option. Then create the directory "ftdetect" diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1096,8 +1096,9 @@ That's all. XLFDs are not used. For Ch For Mac OSX you can use something like this: > :set guifont=Monaco:h10 -Also see 'macatsui', it can help fix display problems. - *E236* + +Mono-spaced fonts *E236* + Note that the fonts must be mono-spaced (all characters have the same width). An exception is GTK: all fonts are accepted, but mono-spaced fonts look best. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2020 Aug 07 +*options.txt* For Vim version 8.2. Last change: 2020 Aug 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -727,8 +727,8 @@ A jump table for the options with a shor 'antialias' 'anti' boolean (default: off) global {only available when compiled with GUI enabled - on Mac OS X} - This option only has an effect in the GUI version of Vim on Mac OS X + on macOS} + This option only has an effect in the GUI version of Vim on macOS v10.2 or later. When on, Vim will use smooth ("antialiased") fonts, which can be easier to read at certain sizes on certain displays. Setting this option can sometimes cause problems if 'guifont' is set @@ -4546,7 +4546,7 @@ A jump table for the options with a shor set and to the Vim default value when 'compatible' is reset. *'isprint'* *'isp'* -'isprint' 'isp' string (default for Win32 and Macintosh: +'isprint' 'isp' string (default for Win32 and macOS: "@,~-255"; otherwise: "@,161-255") global The characters given by this option are displayed directly on the @@ -4923,18 +4923,8 @@ A jump table for the options with a shor *'macatsui'* *'nomacatsui'* 'macatsui' boolean (default on) global - {only available in Mac GUI version} - This is a workaround for when drawing doesn't work properly. When set - and compiled with multi-byte support ATSUI text drawing is used. When - not set ATSUI text drawing is not used. Switch this option off when - you experience drawing problems. In a future version the problems may - be solved and this option becomes obsolete. Therefore use this method - to unset it: > - if exists('&macatsui') - set nomacatsui - endif -< Another option to check if you have drawing problems is - 'termencoding'. + {not supported} + No longer supported, as the Mac OS X GUI code was removed. *'magic'* *'nomagic'* 'magic' boolean (default on) @@ -6240,7 +6230,7 @@ A jump table for the options with a shor $VIMRUNTIME, $VIM/vimfiles/after, $HOME/vimfiles/after" - Macintosh: "$VIM:vimfiles, + macOS: "$VIM:vimfiles, $VIMRUNTIME, $VIM:vimfiles:after" Haiku: "$BE_USER_SETTINGS/vim, @@ -7744,14 +7734,12 @@ A jump table for the options with a shor For further details see |arabic.txt|. *'termencoding'* *'tenc'* -'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with - Macintosh GUI: "macroman") +'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8") global Encoding used for the terminal. This specifies what character encoding the keyboard produces and the display will understand. For the GUI it only applies to the keyboard ('encoding' is used for the - display). Except for the Mac when 'macatsui' is off, then - 'termencoding' should be "macroman". + display). *E617* *E950* Note: This does not apply to the GTK+ GUI. After the GUI has been successfully initialized, 'termencoding' is forcibly set to "utf-8". @@ -8397,7 +8385,7 @@ A jump table for the options with a shor 'viewdir' 'vdir' string (default for Amiga and Win32: "$VIM/vimfiles/view", for Unix: "~/.vim/view", - for Macintosh: "$VIM:vimfiles:view" + for macOS: "$VIM:vimfiles:view" for VMS: "sys$login:vimfiles/view") global {not available when compiled without the |+mksession| diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1705,7 +1705,7 @@ special problem here is that it doesn't directory and that it doesn't print the absolute path. To solve the problem with relative paths and missing "leave directory" -messages Vim uses following algorithm: +messages Vim uses the following algorithm: 1) Check if the given directory is a subdirectory of the current directory. If this is true, store it as the current directory. @@ -1938,7 +1938,7 @@ list window is: The values displayed in each line correspond to the "bufnr", "lnum", "col" and "text" fields returned by the |getqflist()| function. -For some quickfix/location lists, the displayed text need to be customized. +For some quickfix/location lists, the displayed text needs to be customized. For example, if only the filename is present for a quickfix entry, then the two "|" field separator characters after the filename are not needed. Another use case is to customize the path displayed for a filename. By default, the diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt --- a/runtime/doc/recover.txt +++ b/runtime/doc/recover.txt @@ -1,4 +1,4 @@ -*recover.txt* For Vim version 8.2. Last change: 2020 May 09 +*recover.txt* For Vim version 8.2. Last change: 2020 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -64,8 +64,8 @@ Disadvantages: directories (although Vim tries to avoid that by comparing the path name). This will result in bogus ATTENTION warning messages. - When you use your home directory, and somebody else tries to edit the same - file, he will not see your swap file and will not get the ATTENTION warning - message. + file, that user will not see your swap file and will not get the ATTENTION + warning message. On the Amiga you can also use a recoverable ram disk, but there is no 100% guarantee that this works. Putting swap files in a normal ram disk (like RAM: on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix) diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 8.2. Last change: 2020 May 14 +*repeat.txt* For Vim version 8.2. Last change: 2020 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -643,7 +643,7 @@ This assumes you write one or more plugi If you have two unrelated plugins you would use two packages, so that Vim users can choose what they include or not. Or you can decide to use one -package with optional plugins, and tell the user to add the ones he wants with +package with optional plugins, and tell the user to add the preferred ones with `:packadd`. Decide how you want to distribute the package. You can create an archive or @@ -679,7 +679,7 @@ You could add this packadd command in on the optional plugin is needed. Run the `:helptags` command to generate the doc/tags file. Including this -generated file in the package means that the user can drop the package in his +generated file in the package means that the user can drop the package in the pack directory and the help command works right away. Don't forget to re-run the command after changing the plugin help: > :helptags path/start/foobar/doc diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 8.2. Last change: 2020 Jul 10 +*spell.txt* For Vim version 8.2. Last change: 2020 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1445,7 +1445,7 @@ are spelling mistakes this may not be qu Common words can be specified with the COMMON item. This will give better suggestions when editing a short file. Example: - COMMON the of to and a in is it you that he was for on are ~ + COMMON the of to and a in is it you that he she was for on are ~ The words must be separated by white space, up to 25 per line. When multiple regions are specified in a ":mkspell" command the common words diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -1,4 +1,4 @@ -*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06 +*tabpage.txt* For Vim version 8.2. Last change: 2020 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -3497,6 +3497,7 @@ 90.5 usr_90.txt /*90.5* scroll.txt /** scroll.txt /** scroll.txt /** + tabpage.txt /** motion.txt /** intro.txt /** map.txt /** @@ -3816,6 +3817,7 @@ CTRL-W_bar windows.txt /*CTRL-W_bar* CTRL-W_c windows.txt /*CTRL-W_c* CTRL-W_d tagsrch.txt /*CTRL-W_d* CTRL-W_f windows.txt /*CTRL-W_f* +CTRL-W_g tabpage.txt /*CTRL-W_g* CTRL-W_gF windows.txt /*CTRL-W_gF* CTRL-W_gT windows.txt /*CTRL-W_gT* CTRL-W_g] windows.txt /*CTRL-W_g]* @@ -6863,6 +6865,7 @@ g motion.txt /*g* g motion.txt /*g* g tagsrch.txt /*g* g tagsrch.txt /*g* +g tabpage.txt /*g* g motion.txt /*g* g? change.txt /*g?* g?? change.txt /*g??* @@ -8300,6 +8303,7 @@ pascal.vim syntax.txt /*pascal.vim* patches-8 version8.txt /*patches-8* patches-8.1 version8.txt /*patches-8.1* patches-8.2 version8.txt /*patches-8.2* +patches-after-8.2 version8.txt /*patches-after-8.2* pathshorten() eval.txt /*pathshorten()* pattern pattern.txt /*pattern* pattern-atoms pattern.txt /*pattern-atoms* @@ -9638,6 +9642,7 @@ tutor usr_01.txt /*tutor* twice if_cscop.txt /*twice* two-engines pattern.txt /*two-engines* type() eval.txt /*type()* +type-casting vim9.txt /*type-casting* type-inference vim9.txt /*type-inference* type-mistakes tips.txt /*type-mistakes* typecorr-settings usr_41.txt /*typecorr-settings* @@ -9934,6 +9939,7 @@ valgrind debug.txt /*valgrind* values() eval.txt /*values()* var-functions usr_41.txt /*var-functions* variable-scope eval.txt /*variable-scope* +variable-types vim9.txt /*variable-types* variables eval.txt /*variables* various various.txt /*various* various-cmds various.txt /*various-cmds* 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.2. Last change: 2020 Aug 05 +*todo.txt* For Vim version 8.2. Last change: 2020 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,16 +38,21 @@ browser use: https://github.com/vim/vim/ *known-bugs* -------------------- Known bugs and current work ----------------------- +What is the way to get the character under the cursor? With or without +composing characters. getline(".") and then use col(".") somehow? +Add charidx() perhaps? + Making everything work: -- Check that when sourcing a Vim9 script, only the global items can be used. -- Make string indexes character indexes instead of byte indexes. (#6574) - explain how to use byte index when needed. Use blob? +- Slice of list: [1, 2, 3][1:2]. +- Slice of string: "abc"[1:2]. (#6709) +- Run the same tests in :def and Vim9 script, like in Test_expr7_not() - :put with a "=" register argument doesn't work, need to find the expression and compile it. (#6397) - At the script level, keep script variables local to the block they are declared in? Need to remember what variables were declared and delete them when leaving the block. - Implement { } block at the script level. +- In autocmd: use legacy syntax, not whatever the current script uses? - need to check type when a declaration specifies a type: #6507 let nr: number = 'asdf' - Make sure that in vim9script a function call without namespace only finds @@ -55,9 +60,13 @@ Making everything work: - Make map() give an error if the resulting type is wrong. Add mapnew() to create a new List/Dict for the result, which can have a different value type. +- When defining an :autocmd or :command, how to specify using Vim9 syntax? + - always do this when defined in a Vim9 script + - add some command modifier. +- For an :autocmd and :command argument, if a following line starts with "|" + append it. It's like line continuation. (#6702) - Implement "export {one, two three}". - ISN_CHECKTYPE could use check_argtype() -- Slice of list: [1, 2, 3][1:2]. - give error for variable name: let p = function('NoSuchFunc') - Give runtime error if function argument is wrong. @@ -79,6 +88,7 @@ Making everything work: ret[i] = string(i) - Appending to dict item doesn't work: let d[i] ..= value +- Using ".." at script level doesn't convert arguments to a string. - Compile replacement of :s command: s/pat/\=expr/ - Compile redir to local variable: var_redir_start(). - Compile builtin functions that access local variables: @@ -103,8 +113,6 @@ Making everything work: New syntax and functionality: Improve error checking: - "echo Func()" is an error if Func() does not return anything. -Test: -- Using a Vim9 autoload script (functions must be global). Also: - For range: make table of first ASCII character with flag to quickly check if it can be a Vim9 command. E.g. "+" can, but "." can't. @@ -117,8 +125,6 @@ Also: - Test each level of expressions properly, with type checking - Test try/catch and throw better, also nested. Test return inside try/finally jumps to finally and then returns. -- call autoload function. -- Implement more expressions, e.g. [a:b] - can use func as reference: def SomeFunc() ... map(list, SomeFunc) @@ -155,6 +161,8 @@ Popup windows: positioned? PopupNew? Could be used to set some options or move it out of the way. (#5737) However, it may also cause trouble, changing the popup of another plugin. +- Width is not computed correctly when minwidth and maxwidth are &columns + and padding and a scrollbar are used. (#6676) - Add a way to use popup_menu() synchronously: instead of invoking the callback, return the choice. (Ben Jackson, #6534) - Use popup (or popup menu) for command line completion @@ -402,6 +410,9 @@ remains equal? Then %argdel to clean it Also #4994: window-local options not always restored, related to using :badd. Also #5326: netrw buffers are not restored. +Alternate file is not set in the session file. Use setwintabvar("@#") ? +(#6714) + When 'backupdir' has a path ending in double slash (meaning: use full path of the file) combined with 'patchmode' the file name is wrong. (#5791) @@ -2863,9 +2874,6 @@ Jun 18) If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work. -Feature request: Command to go to previous tab, like what CTRL-W p does for -windows. (Adam George) - In debug mode, using CTRL-R = to evaluate a function causes stepping through the function. (Hari Krishna Dara, 2006 Jun 28) @@ -3841,7 +3849,7 @@ 7 When 'scrolloff' is exactly half the two lines at a time. "k" doesn't do this. (Cory T. Echols) 8 When write_viminfo() is used while there are many orphaned viminfo tempfiles writing the viminfo file fails. Give a clear error message so - that the user knows he has to delete the files. + that the user knows the files have to be deleted. I can't reproduce these (if you can, let me know how!): @@ -4012,7 +4020,7 @@ Help: - Support a way to view (and edit) .info files. - Implement a "sticky" help window, some help text lines that are always displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file, - user can edit it to insert his favorite commands, new account can contain a + user can edit it to insert favorite commands, new account can contain a default contents. - Make 'winminheight' a local option, so that the user can set a minimal height for the help window (and other windows). @@ -5779,7 +5787,7 @@ 8 Before trying to execute a modeline, .cpp files. - Support the "abbreviate" command in modelines (Kearns). Careful for characters after , that is a security leak. -- Add option setting to ask user if he wants to have the modelines executed +- Add an option setting to ask the user if the modelines are to be executed or not. Same for .exrc in local dir. diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 13 +*usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 13 VIM USER MANUAL - by Bram Moolenaar @@ -2044,9 +2044,9 @@ for this mapping, but the user might alr allow the user to define which keys a mapping in a plugin uses, the item can be used: > - 22 map a TypecorrAdd - -The "TypecorrAdd" thing will do the work, more about that further on. + 22 map a TypecorrAdd; + +The "TypecorrAdd;" thing will do the work, more about that further on. The user can set the "mapleader" variable to the key sequence that he wants this mapping to start with. Thus if the user has done: > @@ -2062,15 +2062,15 @@ already happened to exist. |:map- - 21 if !hasmapto('TypecorrAdd') - 22 map a TypecorrAdd + 21 if !hasmapto('TypecorrAdd;') + 22 map a TypecorrAdd; 23 endif -This checks if a mapping to "TypecorrAdd" already exists, and only +This checks if a mapping to "TypecorrAdd/" already exists, and only defines the mapping from "a" if it doesn't. The user then has a chance of putting this in his vimrc file: > - map ,c TypecorrAdd + map ,c TypecorrAdd; Then the mapped key sequence will be ",c" instead of "_a" or "\a". @@ -2100,15 +2100,15 @@ function (without the "s:"), which is ag can be used with mappings. It generates a script ID, which identifies the current script. In our typing correction plugin we use it like this: > - 24 noremap