diff options
-rw-r--r-- | .github/CODEOWNERS | 6 | ||||
-rw-r--r-- | runtime/doc/autocmd.txt | 10 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 21 | ||||
-rw-r--r-- | runtime/doc/index.txt | 3 | ||||
-rw-r--r-- | runtime/doc/map.txt | 6 | ||||
-rw-r--r-- | runtime/doc/motion.txt | 72 | ||||
-rw-r--r-- | runtime/doc/options.txt | 14 | ||||
-rw-r--r-- | runtime/doc/quickref.txt | 2 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 5 | ||||
-rw-r--r-- | runtime/doc/tags | 7 | ||||
-rw-r--r-- | runtime/doc/textprop.txt | 6 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 83 | ||||
-rw-r--r-- | runtime/doc/usr_41.txt | 2 | ||||
-rw-r--r-- | runtime/doc/various.txt | 4 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 2 | ||||
-rw-r--r-- | runtime/doc/version8.txt | 2 | ||||
-rw-r--r-- | runtime/doc/vim9.txt | 48 | ||||
-rw-r--r-- | runtime/doc/windows.txt | 6 | ||||
-rw-r--r-- | runtime/filetype.vim | 2 | ||||
-rw-r--r-- | runtime/ftplugin/lisp.vim | 2 | ||||
-rw-r--r-- | runtime/indent/cdl.vim | 12 | ||||
-rw-r--r-- | runtime/syntax/dot.vim | 126 | ||||
-rw-r--r-- | runtime/syntax/groff.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/javascript.vim | 3 | ||||
-rw-r--r-- | runtime/syntax/nroff.vim | 38 | ||||
-rw-r--r-- | runtime/syntax/sshconfig.vim | 12 | ||||
-rw-r--r-- | runtime/syntax/sshdconfig.vim | 9 | ||||
-rw-r--r-- | runtime/syntax/sudoers.vim | 7 |
28 files changed, 275 insertions, 239 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b95e493ec2..4972e38bc5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -142,6 +142,7 @@ runtime/syntax/csh.vim @cecamp runtime/syntax/cucumber.vim @tpope runtime/syntax/datascript.vim @dpelle runtime/syntax/dcl.vim @cecamp +runtime/syntax/desktop.vim @e-kwsm runtime/syntax/doxygen.vim @frogonwheels runtime/syntax/dtd.vim @chrisbra runtime/syntax/elmfilt.vim @cecamp @@ -152,6 +153,7 @@ runtime/syntax/gitcommit.vim @tpope runtime/syntax/gitconfig.vim @tpope runtime/syntax/gitrebase.vim @tpope runtime/syntax/gprof.vim @dpelle +runtime/syntax/groff.vim @jmarshall runtime/syntax/haml.vim @tpope runtime/syntax/haskell.vim @coot runtime/syntax/hgcommit.vim @k-takata @@ -162,10 +164,10 @@ runtime/syntax/lisp.vim @cecamp runtime/syntax/lynx.vim @dkearns runtime/syntax/mailcap.vim @dkearns runtime/syntax/make.vim @rohieb -runtime/syntax/make.vim @rohieb runtime/syntax/maple.vim @cecamp runtime/syntax/markdown.vim @tpope runtime/syntax/netrw.vim @cecamp +runtime/syntax/nroff.vim @jmarshall runtime/syntax/nsis.vim @k-takata runtime/syntax/pdf.vim @tpope runtime/syntax/php.vim @TysonAndre @@ -180,7 +182,9 @@ runtime/syntax/sh.vim @cecamp runtime/syntax/sm.vim @cecamp runtime/syntax/spec.vim @ignatenkobrain runtime/syntax/sqloracle.vim @chrisbra +runtime/syntax/sshconfig.vim @Jakuje runtime/syntax/sshdconfig.vim @Jakuje +runtime/syntax/sudoers.vim @e-kwsm runtime/syntax/tags.vim @cecamp runtime/syntax/teraterm.vim @k-takata runtime/syntax/tex.vim @cecamp diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 20a8f4b49a..328d6ff6a5 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.2. Last change: 2021 Jan 28 +*autocmd.txt* For Vim version 8.2. Last change: 2021 Mar 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1519,9 +1519,11 @@ option will not cause any commands to be executed. *:doautoa* *:doautoall* :doautoa[ll] [<nomodeline>] [group] {event} [fname] Like ":doautocmd", but apply the autocommands to each - loaded buffer. Note that [fname] is used to select - the autocommands, not the buffers to which they are - applied. + loaded buffer. The current buffer is done last. + + Note that [fname] is used to select the autocommands, + not the buffers to which they are applied. + Careful: Don't use this for autocommands that delete a buffer, change to another buffer or change the contents of a buffer; the result is unpredictable. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 428cb08e54..57ab47e0ce 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.2. Last change: 2021 Mar 10 +*eval.txt* For Vim version 8.2. Last change: 2021 Mar 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5107,6 +5107,13 @@ getbufinfo([{dict}]) listed TRUE if the buffer is listed. lnum Line number used for the buffer when opened in the current window. + Only valid if the buffer has been + displayed in the window in the past. + If you want the line number of the + last known cursor position in a given + window, use |line()|: > + :echo line('.', {winid}) +< linecount Number of lines in the buffer (only valid when loaded) loaded TRUE if the buffer is loaded. @@ -6095,12 +6102,12 @@ getwininfo([{winid}]) *getwininfo()* width window width winbar 1 if the window has a toolbar, 0 otherwise - wincol leftmost screen column of the window, - col from |win_screenpos()| + wincol leftmost screen column of the window; + "col" from |win_screenpos()| winid |window-ID| winnr window number - winrow topmost screen column of the window, - row from |win_screenpos()| + winrow topmost screen line of the window; + "row" from |win_screenpos()| Can also be used as a |method|: > GetWinnr()->getwininfo() @@ -12810,8 +12817,8 @@ text... it can no longer be changed (until it is unlocked). A locked variable can be deleted: > :lockvar v - :let v = 'asdf' " fails! - :unlet v + :let v = 'asdf' " fails! + :unlet v " works < *E741* *E940* If you try to change a locked variable you get an error message: "E741: Value is locked: {name}". diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index ea1b137ee6..7da806691e 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 8.2. Last change: 2021 Feb 14 +*index.txt* For Vim version 8.2. Last change: 2021 Mar 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1294,6 +1294,7 @@ tag command action ~ |:edit| :e[dit] edit a file |:earlier| :ea[rlier] go to older change, undo |:echo| :ec[ho] echoes the result of expressions +|:echoconsole| :echoc[onsole] like :echomsg but write to stdout |:echoerr| :echoe[rr] like :echo, show like an error and use history |:echohl| :echoh[l] set highlighting for echo commands |:echomsg| :echom[sg] same as :echo, put message in history diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 873d5d6d7a..47e706bc22 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 8.2. Last change: 2020 Dec 10 +*map.txt* For Vim version 8.2. Last change: 2021 Mar 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -271,8 +271,8 @@ typeahead, before the previous command has been executed. For example: > endfunc nnoremap <expr> x StoreColumn() nmap ! f!x -You will notice that g:column has the value from before executing "fx", -because "z" is evaluated before "fx" is executed. +You will notice that g:column has the value from before executing "f!", +because "x" is evaluated before "f!" is executed. This can be solved by inserting <Ignore> before the character that is expression-mapped: > nmap ! f!<Ignore>x diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index d6215a4c61..4dc0e2e28c 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 8.2. Last change: 2020 Oct 18 +*motion.txt* For Vim version 8.2. Last change: 2021 Mar 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -942,8 +942,7 @@ These commands are not marks themselves, but jump to a mark: line. *]`* -]` [count] times to lowercase mark after the cursor. {not - in Vi} +]` [count] times to lowercase mark after the cursor. *['* [' [count] times to previous line with a lowercase mark @@ -1037,6 +1036,12 @@ CTRL-I Go to [count] newer cursor position in jump list (not a motion command). {not available without the |+jumplist| feature} + NOTE: In the GUI and in a terminal supporting + |modifyOtherKeys|, CTRL-I can be mapped separately + from <Tab>, on the condition that CTRL-I is + mapped before <Tab>, otherwise the mapping applies to + both. + *:ju* *:jumps* :ju[mps] Print the jump list (not a motion command). {not available without the |+jumplist| feature} @@ -1054,11 +1059,11 @@ The maximum number of entries is fixed at 100. For example, after three jump commands you have this jump list: - jump line col file/text ~ - 3 1 0 some text ~ - 2 70 0 another line ~ - 1 1154 23 end. ~ - > ~ + jump line col file/text ~ + 3 1 0 some text ~ + 2 70 0 another line ~ + 1 1154 23 end. ~ + > ~ The "file/text" column shows the file name, or the text at the jump if it is in the current file (an indent is removed and a long line is truncated to fit @@ -1067,11 +1072,11 @@ in the window). You are currently in line 1167. If you then use the CTRL-O command, the cursor is put in line 1154. This results in: - jump line col file/text ~ - 2 1 0 some text ~ - 1 70 0 another line ~ - > 0 1154 23 end. ~ - 1 1167 0 foo bar ~ + jump line col file/text ~ + 2 1 0 some text ~ + 1 70 0 another line ~ + > 0 1154 23 end. ~ + 1 1167 0 foo bar ~ The pointer will be set at the last used jump position. The next CTRL-O command will use the entry above it, the next CTRL-I command will use the @@ -1098,12 +1103,12 @@ that calling setpos() does not do this. After the CTRL-O command that got you into line 1154 you could give another jump command (e.g., "G"). The jump list would then become: - jump line col file/text ~ - 4 1 0 some text ~ - 3 70 0 another line ~ - 2 1167 0 foo bar ~ - 1 1154 23 end. ~ - > ~ + jump line col file/text ~ + 4 1 0 some text ~ + 3 70 0 another line ~ + 2 1167 0 foo bar ~ + 1 1154 23 end. ~ + > ~ The line numbers will be adjusted for deleted and inserted lines. This fails if you stop editing a file without writing, like with ":n!". @@ -1152,7 +1157,7 @@ Note that when text has been inserted or deleted the cursor position might be a bit different from the position of the change. Especially when lines have been deleted. -When the |:keepjumps| command modifier is used the position of a change is not +When the `:keepjumps` command modifier is used the position of a change is not remembered. *:changes* @@ -1193,7 +1198,7 @@ remembered. #if, #ifdef, #else, #elif, #endif C preprocessor conditionals (when the cursor is on the # or no ([{ - following) + is following) For other items the matchit plugin can be used, see |matchit-install|. This plugin also helps to skip matches in comments. @@ -1222,19 +1227,16 @@ remembered. #if/#else/#endif makes the movement linewise. *[(* -[( go to [count] previous unmatched '('. +[( Go to [count] previous unmatched '('. |exclusive| motion. - *[{* -[{ go to [count] previous unmatched '{'. +[{ Go to [count] previous unmatched '{'. |exclusive| motion. - *])* -]) go to [count] next unmatched ')'. +]) Go to [count] next unmatched ')'. |exclusive| motion. - *]}* -]} go to [count] next unmatched '}'. +]} Go to [count] next unmatched '}'. |exclusive| motion. The above four commands can be used to go to the start or end of the current @@ -1268,7 +1270,7 @@ bring you back to the switch statement. class. When no '}' is found before the cursor this is an error. |exclusive| motion. -The above two commands assume that the file contains a class with methods. +The above four commands assume that the file contains a class with methods. The class definition is surrounded in '{' and '}'. Each method in the class is also surrounded with '{' and '}'. This applies to the Java language. The file looks like this: > @@ -1282,17 +1284,21 @@ file looks like this: > body_two(); } } + +[To try this out copy the text and put it in a new buffer, the help text above +confuses the jump commands] + Starting with the cursor on "body_two()", using "[m" will jump to the '{' at the start of "method_two()" (obviously this is much more useful when the method is long!). Using "2[m" will jump to the start of "method_one()". Using "3[m" will jump to the start of the class. *[#* -[# go to [count] previous unmatched "#if" or "#else". +[# Go to [count] previous unmatched "#if" or "#else". |exclusive| motion. *]#* -]# go to [count] next unmatched "#else" or "#endif". +]# Go to [count] next unmatched "#else" or "#endif". |exclusive| motion. These two commands work in C programs that contain #if/#else/#endif @@ -1300,11 +1306,11 @@ constructs. It brings you to the start or end of the #if/#else/#endif where the current line is included. You can then use "%" to go to the matching line. *[star* *[/* -[* or [/ go to [count] previous start of a C comment "/*". +[* or [/ Go to [count] previous start of a C comment "/*". |exclusive| motion. *]star* *]/* -]* or ]/ go to [count] next end of a C comment "*/". +]* or ]/ Go to [count] next end of a C comment "*/". |exclusive| motion. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index babe7217d0..0f628c0397 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2021 Feb 13 +*options.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3865,7 +3865,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'go-v'* 'v' Use a vertical button layout for dialogs. When not included, a horizontal layout is preferred, but when it doesn't fit a - vertical layout is used anyway. + vertical layout is used anyway. Not supported in GTK 3. *'go-p'* 'p' Use Pointer callbacks for X11 GUI. This is required for some window managers. If the cursor is not blinking or hollow at @@ -8865,15 +8865,15 @@ A jump table for the options with a short description can be found at |Q_op|. *'window'* *'wi'* 'window' 'wi' number (default screen height - 1) global - Window height. Do not confuse this with the height of the Vim window, - use 'lines' for that. - Used for |CTRL-F| and |CTRL-B| when there is only one window and the - value is smaller than 'lines' minus one. The screen will scroll - 'window' minus two lines, with a minimum of one. + Window height used for |CTRL-F| and |CTRL-B| when there is only one + window and the value is smaller than 'lines' minus one. The screen + will scroll 'window' minus two lines, with a minimum of one. When 'window' is equal to 'lines' minus one CTRL-F and CTRL-B scroll in a much smarter way, taking care of wrapping lines. When resizing the Vim window, the value is smaller than 1 or more than or equal to 'lines' it will be set to 'lines' minus 1. + Note: Do not confuse this with the height of the Vim window, use + 'lines' for that. *'winheight'* *'wh'* *E591* 'winheight' 'wh' number (default 1) diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index ead42f9968..fcdd5a7fe2 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15 +*quickref.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index bef8601313..a165e83d64 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -2236,9 +2236,10 @@ can use them. For example, Linux and BSD distributions use groff as their default text processing package. In order to activate the extra syntax highlighting -features for groff, add the following option to your start-up files: > +features for groff, arrange for files to be recognized as groff (see +|ft-groff-syntax|) or add the following option to your start-up files: > - :let b:nroff_is_groff = 1 + :let nroff_is_groff = 1 Groff is different from the old AT&T n/troff that you may still find in Solaris. Groff macro and request names can be longer than 2 characters and diff --git a/runtime/doc/tags b/runtime/doc/tags index 27e8d754e1..c070a126a3 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -57,11 +57,13 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 'ari' options.txt /*'ari'* 'arshape' options.txt /*'arshape'* 'as' todo.txt /*'as'* +'asd' options.txt /*'asd'* 'autochdir' options.txt /*'autochdir'* 'autoindent' options.txt /*'autoindent'* 'autoprint' vi_diff.txt /*'autoprint'* 'autoread' options.txt /*'autoread'* 'autosave' todo.txt /*'autosave'* +'autoshelldir' options.txt /*'autoshelldir'* 'autowrite' options.txt /*'autowrite'* 'autowriteall' options.txt /*'autowriteall'* 'aw' options.txt /*'aw'* @@ -508,10 +510,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 'noari' options.txt /*'noari'* 'noarshape' options.txt /*'noarshape'* 'noas' todo.txt /*'noas'* +'noasd' options.txt /*'noasd'* 'noautochdir' options.txt /*'noautochdir'* 'noautoindent' options.txt /*'noautoindent'* 'noautoread' options.txt /*'noautoread'* 'noautosave' todo.txt /*'noautosave'* +'noautoshelldir' options.txt /*'noautoshelldir'* 'noautowrite' options.txt /*'noautowrite'* 'noautowriteall' options.txt /*'noautowriteall'* 'noaw' options.txt /*'noaw'* @@ -2397,6 +2401,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* :ec eval.txt /*:ec* :echo eval.txt /*:echo* :echo-redraw eval.txt /*:echo-redraw* +:echoc eval.txt /*:echoc* +:echoconsole eval.txt /*:echoconsole* :echoe eval.txt /*:echoe* :echoerr eval.txt /*:echoerr* :echoh eval.txt /*:echoh* @@ -9164,6 +9170,7 @@ str2float() eval.txt /*str2float()* str2list() eval.txt /*str2list()* str2nr() eval.txt /*str2nr()* strcasestr() eval.txt /*strcasestr()* +strcharlen() eval.txt /*strcharlen()* strcharpart() eval.txt /*strcharpart()* strchars() eval.txt /*strchars()* strchr() eval.txt /*strchr()* diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt index ac513309b2..2a6f405596 100644 --- a/runtime/doc/textprop.txt +++ b/runtime/doc/textprop.txt @@ -1,4 +1,4 @@ -*textprop.txt* For Vim version 8.2. Last change: 2020 Oct 14 +*textprop.txt* For Vim version 8.2. Last change: 2021 Mar 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -260,8 +260,8 @@ prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970* properties the one with the highest priority will be used; negative values can be used, the default priority is zero - combine when TRUE combine the highlight with any - syntax highlight; when omitted or FALSE syntax + combine when omitted or TRUE combine the highlight + with any syntax highlight; when FALSE syntax highlight will not be used start_incl when TRUE inserts at the start position will be included in the text property diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 2486d9d50f..8e70f36e86 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2021 Mar 11 +*todo.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,48 +39,9 @@ browser use: https://github.com/vim/vim/issues/1234 -------------------- Known bugs and current work ----------------------- Vim9 - Make everything work: -- Does this work now: Implement using imported items at script level from - "import * as X" in -- import of item that isn't exported: error should mention missing "export"? -- no error for using :import in legacy script? -- Disallow :open ? -- Check: what if 'cpo' is intentionally changed in Vim9 script, does it get - restored at the end? -- ISN_CHECKTYPE could use check_argtype() -- Using a script variable inside a :def function doesn't work if the variable - is inside a block, see Test_nested_function(). Should it work? -- give error for variable name: - var p = function('NoSuchFunc') -- When indexing a string, should we include composing characters? #6563 - string[0] - first character including its composing characters. - string[0 : 0] - same - If you don't want that use strcharpart(). - Also, add optional arg to strcharpart() to include composing chars, to - make it consistent with strchars(). - Add strcharlen(), like strchars() but like skipcc is always set -- Make closures work better: - - Create closure in a loop. Need to make a list of them. -- If a :def function is called with a function reference, compile it to get - the function type. - def Filter(x: string, Cond: func(string): bool) - Filter(x, (v) => v =~ '^b') -- Make inline function work, to be used as a funcref: - var Ref = (arg: type): type => { - statement - return expr - } - var Ref = (arg: type) => { - statement - statement - } - For builtin functions using tv_get_string*() use check_for_string() to be - more strict about the argument type. -- Implement :lockvar and :unlockvar. How about local variables? Perhaps only - allow this for global variables. Use :final or :const otherwise. -- Allow function names that will be script-local to start with lower case - letter? Or also require names with s: prefix to use upper case? - Also apply this function references "var ref = SomeFunc" -- Support passing v:none to use the default argument value. (#6504) + more strict about the argument type (not a bool). + done: balloon_() - Run the same tests in :def and Vim9 script, like in Test_expr7_not() - Check many more builtin function arguments at compile time. - make 0 == 'string' fail on the script level, like inside :def. @@ -280,6 +241,23 @@ Terminal emulator window: Include patch #6290: recognize shell directory change. Valgrind reports memory leaks in test_options. +Valgrind reports overlapping memcpy in + test_conceal.3 + test_edit.1 + test_functions.4 + test_ins_complete.3 + test_method + test_normal + test_popupwin.35 et al. + test_search_stat +Using uninitialized value in test_crypt (can't explain why). +Memory leak in test_debugger +Memory leak in test_paste, using XtOpenDisplay several times +OLD: +TODO: be able to run all parts of test_alot with valgrind separately +Memory leak in test_alot with pyeval() (allocating partial) +Memory leak in test_alot with expand() +Memory leaks in test_channel? (or is it because of fork()) test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows. @@ -298,6 +276,11 @@ interrupt does not work. Where to add ui_breakcheck()? Remove SPACE_IN_FILENAME ? It is only used for completion. +Add optional argument to virtcol() that specifies "start", "cursor" or "end" +to tell which value from getvvcol() should be used. (#7964) +Value returned by virtcol() changes depending on how lines wrap. This is +inconsistent with the documentation. + Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) Scroll doesn't work correctly, why? @@ -592,7 +575,7 @@ The quoting of the [command] argument of :terminal is not clearly documented. Give a few examples. (#4288) Opening a file with --remote-tab-silent that matches 'wildignore' does not -work, results in (E479: No match". (#4610) +work, results in "E479: No match". (#4610) 7 Add an option to add one pixel column to the character width? Lucida Console italic is wider than the normal font ("d" overlaps with next char). @@ -781,14 +764,6 @@ Make ":interactive !cmd" stop termcap mode, also when used in an autocommand. Add buffer argument to undotree(). (#4001) -Memory leak in test_debugger -Using uninitialized value in test_crypt (can't explain why). -Memory leak in test_terminal_fail -TODO: be able to run all parts of test_alot with valgrind separately -Memory leak in test_alot with pyeval() (allocating partial) -Memory leak in test_alot with expand() -Memory leaks in test_channel? (or is it because of fork()) - matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul 19. @@ -1509,9 +1484,6 @@ specifically? First try with the parens, then without. Patch to add :mapgroup, put mappings in a group like augroup. (Yasuhiro Matsumoto, 2016 Feb 19) -Value returned by virtcol() changes depending on how lines wrap. This is -inconsistent with the documentation. - Can we cache the syntax attributes, so that updates for 'relativenumber' and 'cursorline'/'cursorcolumn' are a lot faster? Thus store the attributes before combining them. @@ -2466,9 +2438,6 @@ backslash? (Robert Vibrant, 2008 Jun 5) When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21) -Using an insert mode expression mapping, cursor is not in the expected -position. (ZyX, 2010 Aug 29) - After using <Tab> for command line completion after ":ta blah" and getting E33 (no tags file), further editing the command to e.g., ":echo 'blah'", the command is not executed. Fix by Ian Kelling? diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 0d17298fb0..891719ab77 100644 --- 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: 2021 Feb 01 +*usr_41.txt* For Vim version 8.2. Last change: 2021 Mar 14 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index fd135c6252..76a8f5d3cc 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 8.2. Last change: 2021 Mar 02 +*various.txt* For Vim version 8.2. Last change: 2021 Mar 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -724,7 +724,7 @@ K Run a program to lookup the keyword under the feature} *:sl!* *:sleep!* -:[N]sl[eep]! [N] [m] Same as above, but hide the cursor +:[N]sl[eep]! [N] [m] Same as above, but hide the cursor. *:xrestore* *:xr* :xr[estore] [display] Reinitializes the connection to the X11 server. Useful diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index ef28e08400..8d75ed6cad 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -2300,7 +2300,7 @@ value didn't fill the whole screen. (SungHyun Nam) Win32 installer: The generated _vimrc contained an absolute path to diff.exe. After upgrading it becomes invalid. Now use $VIMRUNTIME instead. -The command line was cleared to often when 'showmode' was set and ":silent +The command line was cleared too often when 'showmode' was set and ":silent normal vy" was used. Don't clear the command line unless the mode was actually displayed. Added the "mode_displayed" variable. diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt index 67ca8a0ba4..ab4b7d8068 100644 --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1776,7 +1776,7 @@ Files: runtime/doc/change.txt, runtime/doc/eval.txt, Patch 7.4.219 Problem: When 'relativenumber' or 'cursorline' are set the window is - redrawn much to often. (Patrick Hemmer, Dominique Pelle) + redrawn much too often. (Patrick Hemmer, Dominique Pelle) Solution: Check the VALID_CROW flag instead of VALID_WROW. Files: src/move.c diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt index 2425804053..974ee6af6b 100644 --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2021 Mar 03 +*vim9.txt* For Vim version 8.2. Last change: 2021 Mar 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -204,7 +204,7 @@ However, it is recommended to always use "g:" to refer to a global function for clarity. Since a script-local function reference can be used without "s:" the name must -start with an upper case letter even when using the ":s" prefix. In legacy +start with an upper case letter even when using the "s:" prefix. In legacy script "s:funcref" could be used, because it could not be referred to with "funcref". In Vim9 script it can, therefore "s:Funcref" must be used to avoid that the name interferes with builtin functions. @@ -926,6 +926,27 @@ For these the backtick expansion can be used. Example: > g/pattern/s/^/`=newText`/ enddef +Closures defined in a loop will share the same context. For example: > + var flist: list<func> + for i in range(10) + var inloop = i + flist[i] = () => inloop + endfor + +The "inloop" variable will exist only once, all closures put in the list refer +to the same instance, which in the end will have the value 9. This is +efficient. If you do want a separate context for each closure call a function +to define it: > + def GetFunc(i: number): func + var inloop = i + return () => inloop + enddef + + var flist: list<func> + for i in range(10) + flist[i] = GetFunc(i) + endfor + ============================================================================== 4. Types *vim9-types* @@ -1006,8 +1027,6 @@ And classes and interfaces can be used as types: > :var mine: MyInterface<string> {not implemented yet} -You may also find this wiki useful. It was written by an early adoptor of -Vim9 script: https://github.com/lacygoill/wiki/blob/master/vim/vim9.md Variable types and type casting ~ *variable-types* @@ -1080,27 +1099,6 @@ to a list of numbers. Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use |flattennew()| instead. -Closures defined in a loop will share the same context. For example: > - var flist: list<func> - for i in range(10) - var inloop = i - flist[i] = () => inloop - endfor - -The "inloop" variable will exist only once, all closures put in the list refer -to the same instance, which in the end will have the value 9. This is -efficient. If you do want a separate context for each closure call a function -to define it: > - def GetFunc(i: number): func - var inloop = i - return () => inloop - enddef - - var flist: list<func> - for i in range(10) - flist[i] = GetFunc(i) - endfor - ============================================================================== 5. Namespace, Import and Export diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index 69de9bafe6..b3905be9b4 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1,4 +1,4 @@ -*windows.txt* For Vim version 8.2. Last change: 2021 Feb 06 +*windows.txt* For Vim version 8.2. Last change: 2021 Mar 21 VIM RE |