# HG changeset patch # User Bram Moolenaar # Date 1623604503 -7200 # Node ID fd37be6dc258c7eb9f7583ca63af5fe65457e3e0 # Parent 77de4ae3e01320fa5577e942c0a507f12ee06db5 Update runtime files Commit: https://github.com/vim/vim/commit/2346a6378483c9871016f9fc821ec5cbea638f13 Author: Bram Moolenaar Date: Sun Jun 13 19:02:49 2021 +0200 Update runtime files diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -54,7 +54,7 @@ 2. Defining autocommands *autocmd-def :au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd} Add {cmd} to the list of commands that Vim will execute automatically on {event} for a file matching - {pat} |autocmd-patterns|. + {pat} |autocmd-patterns|. Here {event} cannot be "*". *E1155* Note: A quote character is seen as argument to the :autocmd and won't start a comment. diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1,4 +1,4 @@ -*change.txt* For Vim version 8.2. Last change: 2021 Mar 01 +*change.txt* For Vim version 8.2. Last change: 2021 Jun 10 VIM REFERENCE MANUAL by Bram Moolenaar 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: 2021 May 07 +*eval.txt* For Vim version 8.2. Last change: 2021 Jun 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2102,7 +2102,7 @@ v:null An empty String. Used to put "nu v:numbermax Maximum value of a number. *v:numbermin* *numbermin-variable* -v:numbermin Minimum value of a number (negative) +v:numbermin Minimum value of a number (negative). *v:numbersize* *numbersize-variable* v:numbersize Number of bits in a Number. This is normally 64, but on some @@ -2508,7 +2508,7 @@ char2nr({expr} [, {utf8}]) Number ASCII/ charclass({string}) Number character class of {string} charcol({expr}) Number column number of cursor or mark charidx({string}, {idx} [, {countcc}]) - Number char index of byte {idx} in {string} + Number char index of byte {idx} in {string} chdir({dir}) String change current working directory cindent({lnum}) Number C indent for line {lnum} clearmatches([{win}]) none clear all matches @@ -2529,7 +2529,7 @@ cscope_connection([{num}, {dbpath} [, {p cursor({lnum}, {col} [, {off}]) Number move cursor to {lnum}, {col}, {off} cursor({list}) Number move cursor to position in {list} -debugbreak({pid}) Number interrupt process being debugged +debugbreak({pid}) Number interrupt process being debugged deepcopy({expr} [, {noref}]) any make a full copy of {expr} delete({fname} [, {flags}]) Number delete the file or directory {fname} deletebufline({expr}, {first} [, {last}]) @@ -4951,7 +4951,7 @@ funcref({name} [, {arglist}] [, {dict}]) Can also be used as a |method|: > GetFuncname()->funcref([arg]) < - *function()* *E700* *E922* *E923* + *function()* *partial* *E700* *E922* *E923* function({name} [, {arglist}] [, {dict}]) Return a |Funcref| variable that refers to function {name}. {name} can be the name of a user defined function or an @@ -5500,8 +5500,8 @@ getcurpos([{winid}]) Can also be used as a |method|: > GetWinid()->getcurpos() - -< *getcursorcharpos()* +< + *getcursorcharpos()* getcursorcharpos([{winid}]) Same as |getcurpos()| but the column number in the returned List is a character index instead of a byte index. @@ -5510,8 +5510,8 @@ getcursorcharpos([{winid}]) With the cursor on '보' in line 3 with text "여보세요": > getcursorcharpos() returns [0, 3, 2, 0, 3] getcurpos() returns [0, 3, 4, 0, 3] - -< Can also be used as a |method|: > +< + Can also be used as a |method|: > GetWinid()->getcursorcharpos() < *getcwd()* @@ -5736,11 +5736,11 @@ getmarklist([{expr}]) *getmarklist() see |bufname()|. Each item in the returned List is a |Dict| with the following: - name - name of the mark prefixed by "'" - pos - a |List| with the position of the mark: + mark name of the mark prefixed by "'" + pos a |List| with the position of the mark: [bufnum, lnum, col, off] - Refer to |getpos()| for more information. - file - file name + Refer to |getpos()| for more information. + file file name Refer to |getpos()| for getting information about a specific mark. @@ -5822,7 +5822,7 @@ getpos({expr}) Get the position for {exp '> is a large number. The column number in the returned List is the byte position within the line. To get the character position in the line, - use |getcharpos()| + use |getcharpos()|. The column number can be very large, e.g. 2147483647, in which case it means "after the end of the line". This can be used to save and restore the position of a mark: > @@ -7637,7 +7637,7 @@ matchfuzzypos({list}, {str} [, {dict}]) Same as |matchfuzzy()|, but returns the list of matched strings, the list of character positions where characters in {str} matches and a list of matching scores. You can - use |byteidx()|to convert a character position to a byte + use |byteidx()| to convert a character position to a byte position. If {str} matches multiple times in a string, then only the @@ -9961,7 +9961,7 @@ sinh({expr}) *sinh()* {only available when compiled with the |+float| feature} -slice({expr}, {start} [, {end}]) *slice()* +slice({expr}, {start} [, {end}]) *slice()* Similar to using a |slice| "expr[start : end]", but "end" is used exclusive. And for a string the indexes are used as character indexes instead of byte indexes, like in diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -632,7 +632,7 @@ For fish, add to the config file MARKDOWN *ft-markdown-plugin* To enable folding use this: > - let g:markdown_folding = 1 + let g:markdown_folding = 1 < PDF *ft-pdf-plugin* diff --git a/runtime/doc/ft_raku.txt b/runtime/doc/ft_raku.txt --- a/runtime/doc/ft_raku.txt +++ b/runtime/doc/ft_raku.txt @@ -45,7 +45,7 @@ Numbers, subscripts and superscripts are 1s ₁ 1S ¹ ~ 2s ₂ 9S ⁹ ~ -But some don´t come defined by default. Those are digraph definitions you can +But some don't come defined by default. Those are digraph definitions you can add in your ~/.vimrc file. > exec 'digraph \\ '.char2nr('∖') exec 'digraph \< '.char2nr('≼') diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -132,7 +132,7 @@ Advanced editing ~ |windows.txt| commands for using multiple windows and buffers |tabpage.txt| commands for using multiple tab pages |spell.txt| spell checking -|diff.txt| working with two to four versions of the same file +|diff.txt| working with two to eight versions of the same file |autocmd.txt| automatically executing commands on an event |eval.txt| expression evaluation, conditional commands |channel.txt| Jobs, Channels, inter-process communication @@ -145,6 +145,7 @@ Special issues ~ |term.txt| using different terminals and mice |terminal.txt| Terminal window support |popup.txt| popup window support +|vim9.txt| using Vim9 script Programming language support ~ |indent.txt| automatic indenting for C and other languages @@ -153,6 +154,8 @@ Programming language support ~ |filetype.txt| settings done specifically for a type of file |quickfix.txt| commands for a quick edit-compile-fix cycle |ft_ada.txt| Ada (the programming language) support +|ft_ps1.txt| Filetype plugin for Windows PowerShell +|ft_raku.txt| Filetype plugin for Raku |ft_rust.txt| Filetype plugin for Rust |ft_sql.txt| about the SQL filetype plugin diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 8.2. Last change: 2021 Mar 28 +*motion.txt* For Vim version 8.2. Last change: 2021 Jun 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -59,9 +59,14 @@ or change text. The following operators |<| < shift left |zf| zf define a fold |g@| g@ call function set with the 'operatorfunc' option - + *motion-count-multiplied* If the motion includes a count and the operator also had a count before it, the two counts are multiplied. For example: "2d3w" deletes six words. + *operator-doubled* +When doubling the operator it operates on a line. When using a count, before +or after the first character, that many lines are operated upon. Thus `3dd` +deletes three lines. A count before and after the first character is +multiplied, thus `2y3y` yanks six lines. After applying the operator the cursor is mostly left at the start of the text that was operated upon. For example, "yfe" doesn't move the cursor, but "yFe" 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: 2021 May 16 +*options.txt* For Vim version 8.2. Last change: 2021 May 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -767,12 +767,12 @@ 9. VMS related changes *vms-changes* Version 8.2 - make all changes needed for clean compile build of v8.2 on VMS on all platforms -- fix the call mkdir bug (vicente_polo@yahoo.es) +- fix the call mkdir bug (vicente_polo@yahoo.es) - test on VSI OpenVMS Alpha and Itanium platforms - added LUA support - added XPM support - Motif GUI with toolbar on all platforms -- XPM v3.4.11 libraries for IA64, AXP and VAX are added -- start integrating the new test scripts +- XPM v3.4.11 libraries for IA64, AXP and VAX are added +- start integrating the new test scripts Version 8.1 - make necessary changes to build v8.1 on VMS diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1217,7 +1217,7 @@ x A single character, with no special me \%d123 Matches the character specified with a decimal number. Must be followed by a non-digit. -\%o40 Matches the character specified with an octal number up to 0377. +\%o40 Matches the character specified with an octal number up to 0o377. Numbers below 0o40 must be followed by a non-octal digit or a non-digit. \%x2a Matches the character specified with up to two hexadecimal characters. diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -3809,7 +3809,7 @@ netrw: Decho.vim is provided as a "vimball"; see |vimball-intro|. You should edit the Decho.vba.gz file and source it in: > - vim Decho.vba.gz + vim Decho.vba.gz :so % :q < 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: 2021 May 08 +*repeat.txt* For Vim version 8.2. Last change: 2021 Jun 11 VIM REFERENCE MANUAL by Bram Moolenaar @@ -279,7 +279,9 @@ For writing a Vim script, see chapter 41 ftdetect scripts are loaded, only the matching directories are added to 'runtimepath'. This is useful in your .vimrc. The plugins will then be - loaded during initialization, see |load-plugins|. + loaded during initialization, see |load-plugins| (note + that the loading order will be reversed, because each + directory is inserted before others). Note that for ftdetect scripts to be loaded you will need to write `filetype plugin indent on` AFTER all `packadd!` commands. @@ -372,7 +374,7 @@ For writing a Vim script, see chapter 41 for some commands. See |:vim9cmd| for executing one command with Vim9 syntax and semantics. - + *:scr* *:scriptnames* :scr[iptnames] List all sourced script names, in the order they were first sourced. The number is used for the script ID diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -3430,8 +3430,8 @@ syntax highlighting script handles this Tex: Match Check Control~ Sometimes one actually wants mismatched parentheses, square braces, - and or curly braces; for example, \text{(1,10] is a range from but - not including 1 to and including 10}. This wish, of course, conflicts + and or curly braces; for example, \text{(1,10]} is a range from but + not including 1 to and including 10. This wish, of course, conflicts with the desire to provide delimiter mismatch detection. To accommodate these conflicting goals, syntax/tex.vim provides > g:tex_matchcheck = '[({[]' @@ -4084,7 +4084,7 @@ match in the same position overrules an argument makes the "myVim" match use the same highlighting as "myString". But it does not contain anything. If the "contains=NONE" argument would be left out, then "myVim" would use the contains argument from myString and allow -"myWord" to be contained, which will be highlighted as a Constant. This +"myWord" to be contained, which will be highlighted as a Comment. This happens because a contained match doesn't match inside itself in the same position, thus the "myVim" match doesn't overrule the "myWord" match here. @@ -4970,8 +4970,8 @@ ctermul={color-nr} *highlight-ctermul *tmux* When using tmux you may want to use this in the tmux config: > # tmux colors - set -g default-terminal "xterm-256color" - set -ag terminal-overrides ",xterm-256color:Tc" + set -s default-terminal "tmux-256color" + set -as terminal-overrides ",*-256color:Tc" < More info at: https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-rgb-colour diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -7000,6 +7000,7 @@ getchar() eval.txt /*getchar()* getcharmod() eval.txt /*getcharmod()* getcharpos() eval.txt /*getcharpos()* getcharsearch() eval.txt /*getcharsearch()* +getcharstr() eval.txt /*getcharstr()* getcmdline() eval.txt /*getcmdline()* getcmdpos() eval.txt /*getcmdpos()* getcmdtype() eval.txt /*getcmdtype()* @@ -7901,6 +7902,7 @@ moo.vim syntax.txt /*moo.vim* more-compatible version5.txt /*more-compatible* more-prompt message.txt /*more-prompt* more-variables eval.txt /*more-variables* +motion-count-multiplied motion.txt /*motion-count-multiplied* motion.txt motion.txt /*motion.txt* mouse-mode-table term.txt /*mouse-mode-table* mouse-overview term.txt /*mouse-overview* @@ -8348,6 +8350,7 @@ omni-sql-completion ft_sql.txt /*omni-sq online-help helphelp.txt /*online-help* opening-window windows.txt /*opening-window* operator motion.txt /*operator* +operator-doubled motion.txt /*operator-doubled* operator-pending-index index.txt /*operator-pending-index* operator-variable eval.txt /*operator-variable* option-backslash options.txt /*option-backslash* @@ -8401,6 +8404,7 @@ page_up intro.txt /*page_up* pager message.txt /*pager* papp.vim syntax.txt /*papp.vim* paragraph motion.txt /*paragraph* +partial eval.txt /*partial* pascal.vim syntax.txt /*pascal.vim* patches-8 version8.txt /*patches-8* patches-8.1 version8.txt /*patches-8.1* @@ -10066,6 +10070,7 @@ v_u change.txt /*v_u* v_v visual.txt /*v_v* v_x change.txt /*v_x* v_y change.txt /*v_y* +v_zy change.txt /*v_zy* v_~ change.txt /*v_~* vab motion.txt /*vab* val-variable eval.txt /*val-variable* @@ -10435,6 +10440,7 @@ zOS-PuTTY os_390.txt /*zOS-PuTTY* zOS-has-ebcdic os_390.txt /*zOS-has-ebcdic* zOS-limitations os_390.txt /*zOS-limitations* zOS-open-source os_390.txt /*zOS-open-source* +zP change.txt /*zP* zR fold.txt /*zR* zW spell.txt /*zW* zX fold.txt /*zX* @@ -10462,6 +10468,7 @@ zl scroll.txt /*zl* zm fold.txt /*zm* zn fold.txt /*zn* zo fold.txt /*zo* +zp change.txt /*zp* zr fold.txt /*zr* zs scroll.txt /*zs* zsh.vim syntax.txt /*zsh.vim* @@ -10473,6 +10480,7 @@ zuw spell.txt /*zuw* zv fold.txt /*zv* zw spell.txt /*zw* zx fold.txt /*zx* +zy change.txt /*zy* zz scroll.txt /*zz* { motion.txt /*{* {Visual} intro.txt /*{Visual}* diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -373,9 +373,9 @@ Added by Vim (there are no standard code t_Ri restore icon text from stack *t_Ri* *'t_Ri'* t_TE end of "raw" mode *t_TE* *'t_TE'* t_TI put terminal into "raw" mode *t_TI* *'t_TI'* - t_fd disable focus-event tracking *t_fd* *'t_fd'* + t_fe enable focus-event tracking *t_fe* *'t_fe'* |xterm-focus-event| - t_fe enable focus-event tracking *t_fe* *'t_fe'* + t_fd disable focus-event tracking *t_fd* *'t_fd'* |xterm-focus-event| Some codes have a start, middle and end part. The start and end are defined 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: 2021 May 28 +*todo.txt* For Vim version 8.2. Last change: 2021 Jun 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,57 +38,30 @@ browser use: https://github.com/vim/vim/ *known-bugs* -------------------- Known bugs and current work ----------------------- -Geen memory leak? - -Crash using outer var from nested lambda: - vim9script - def F(text: string): func(string): func(string): string - return (arg: string): func(string): string => ((sep: string): string => { - return text .. ' ' .. arg - }) - enddef - - echo F('hello')(' ')('there') - - - Vim9 - Make everything work: -- function returning nothing should return void instead of zero -- compile "expr" and "call" expression of a channel in channel_exe_cmd()? -- Need some solution for dict function. Can we implement part of classes? -- A lambda without {} does not require a return type, using { return x } does. - That's unexpected, since the arguments are not required to have a type. - alt 1: not require a return type, figure it out from the common type of all - the return statements found - alt 2: also require argument types -- Using "windo echo expr" does not accept a line break inside "expr" (in a - :def function and at script level in a not executed block). #7681 -- use CheckLegacyAndVim9Success(lines) in many more places +- Make debugging work - at least per function. + - How to evaluate the stack and variables on the stack? + - FIXME in test_debugger.vim - For builtin functions using tv_get_string*() use check_for_string() to be more strict about the argument type (not a bool). done: balloon_() - Check many more builtin function arguments at compile time. map() could check that the return type of the function argument matches the type of the list or dict member. (#8092) -- Allow for using an autoload function name without quotes. It is then loaded - (and compiled) right away. #8124 -- Test more expressions in legacy and Vim9 script, using - CheckLegacyAndVim9Success() + Same for other functions, such as searchpair(). +- use CheckLegacyAndVim9Success(lines) in many more places - Test try/catch and throw better, also nested. Test that return inside try/finally jumps to finally and then returns. - Test that a function defined inside a :def function is local to that function, g: functions can be defined and script-local functions cannot be defined. -- Make debugging work - at least per function. Need to recompile a function - to step through it line-by-line? Evaluate the stack and variables on the - stack? -- Reserve command for future use: :type, :class, :enum +- compile get_lambda_tv() in popup_add_timeout() Once Vim9 is stable: +- Add the "vim9script" feature, can use has('vim9script') - Change the help to prefer Vim9 syntax where appropriate - Add all the error numbers in a good place in documentation. - In the generic eval docs, point out the Vim9 syntax where it differs. -- Add the "vim9script" feature, can use has('vim9script') - Use Vim9 for runtime files. PR #7497 for autoload/ccomplete.vim @@ -100,13 +73,12 @@ Further Vim9 improvements, possibly afte Give an error if compilation fails. (#7625) Use the location where the option was set for deciding whether it's to be evaluated in Vim9 script context. -- implement :type, import type declaration. -- implement enum, import enum. -- Future work: See |vim9-classes| +- implement :type, "import type" +- implement enum, "import enum". +- implement class and interface: See |vim9-classes| - 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. -- compile get_lambda_tv() in popup_add_timeout() -- inline call to map() and filter() +- Inline call to map() and filter(), better type checking. - Make accessing varargs faster: arg[expr] EVAL expr LOADVARARG (varargs idx) @@ -300,6 +272,9 @@ inconsistent with the documentation. Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) Scroll doesn't work correctly, why? +glob() and globfile() do not always honor 'wildignorecase'. #8350 +globpath() does not use 'wildignorecase' at all? + Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work with 'termguicolors'. #1740 @@ -344,6 +319,9 @@ Should also work without any group: :echo matchstr('aaa bbb', '.\{-1,}\>\|.*') aaa bbb (should be aaa) +Should add a match/str/list/pos method that also returns the test and position +of submatches. #8355 + Check out PR #543 (Roland Puntaier). Patch for multibyte characters in langmap and applying a mapping on them. (Christian Brabandt, 2015 Jun 12, update July 25) @@ -380,6 +358,10 @@ work. Using "au!" after "filetype on" is a bit slow. Can the matching of autocommands be made faster? (#7056) +Append in Visual block mode inserts the wrong character. +Test_visual_block_mode() already has the proper check, which is commented out. +(#8288) + Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr" replace this: let left = GetLeftFunc() @@ -2263,9 +2245,6 @@ Win32: Improved Makefile for MSVC. (Leon Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15) -Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010 -Sep 1) - Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5) Putting a Visual block while 'visualedit' is "all" does not leave the cursor 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: 2021 Apr 19 +*usr_41.txt* For Vim version 8.2. Last change: 2021 Jun 07 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -724,7 +724,7 @@ K Run a program to lookup the keyword 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/vim.1 b/runtime/doc/vim.1 --- a/runtime/doc/vim.1 +++ b/runtime/doc/vim.1 @@ -186,7 +186,7 @@ behave mostly like Vi, even though a .vi .TP \-d Start in diff mode. -There should be two, three or four file name arguments. +There should between two to eight file name arguments. .B Vim will open all the files and show differences between them. Works like vimdiff(1). diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man --- a/runtime/doc/vim.man +++ b/runtime/doc/vim.man @@ -135,9 +135,9 @@ OPTIONS Vim behave mostly like Vi, even though a .vimrc file ex‐ ists. - -d Start in diff mode. There should be two, three or four - file name arguments. Vim will open all the files and show - differences between them. Works like vimdiff(1). + -d Start in diff mode. There should between two to eight file + name arguments. Vim will open all the files and show dif‐ + ferences between them. Works like vimdiff(1). -d {device} Open {device} for use as a terminal. Only on the Amiga. Example: "-d con:20/30/600/150". diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -457,7 +457,8 @@ which is similar to JavaScript: > var Lambda = (arg) => expression No line break is allowed in the arguments of a lambda up to and including the -"=>". This is OK: > +"=>" (so that Vim can tell the difference between an expression in parenthesis +and lambda arguments). This is OK: > filter(list, (k, v) => v > 0) This does not work: > @@ -998,9 +999,14 @@ prefix if they do not exist at the time Note that for command line completion of {func} you can prepend "s:" to find script-local functions. -:disa[ssemble]! {func} Like `:disassemble` but with the instructions used for +:disa[ssemble] profile {func} + Like `:disassemble` but with the instructions used for profiling. +:disa[ssemble] debug {func} + Like `:disassemble` but with the instructions used for + debugging. + Limitations ~ Local variables will not be visible to string evaluation. For example: > diff --git a/runtime/doc/vimdiff.1 b/runtime/doc/vimdiff.1 --- a/runtime/doc/vimdiff.1 +++ b/runtime/doc/vimdiff.1 @@ -1,17 +1,17 @@ .TH VIMDIFF 1 "2001 March 30" .SH NAME -vimdiff \- edit two, three or four versions of a file with Vim and show differences +vimdiff \- edit between two and eight versions of a file with Vim and show differences .SH SYNOPSIS .br .B vimdiff -[options] file1 file2 [file3 [file4]] +[options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]] .PP .B gvimdiff .SH DESCRIPTION .B Vimdiff starts .B Vim -on two (or three or four) files. +on two up to eight files. Each file gets its own window. The differences between the files are highlighted. This is a nice way to inspect changes and to move changes from one version diff --git a/runtime/doc/vimdiff.man b/runtime/doc/vimdiff.man --- a/runtime/doc/vimdiff.man +++ b/runtime/doc/vimdiff.man @@ -1,27 +1,28 @@ -VIMDIFF(1) VIMDIFF(1) +VIMDIFF(1) General Commands Manual VIMDIFF(1) NAME - vimdiff - edit two, three or four versions of a file with Vim and show - differences + vimdiff - edit between two and eight versions of a file with Vim and + show differences SYNOPSIS - vimdiff [options] file1 file2 [file3 [file4]] + vimdiff [options] file1 file2 [file3 [file4 [file5 [file6 [file7 + [file8]]]]]] gvimdiff DESCRIPTION - Vimdiff starts Vim on two (or three or four) files. Each file gets its - own window. The differences between the files are highlighted. This - is a nice way to inspect changes and to move changes from one version - to another version of the same file. + Vimdiff starts Vim on two up to eight files. Each file gets its own + window. The differences between the files are highlighted. This is a + nice way to inspect changes and to move changes from one version to an‐ + other version of the same file. See vim(1) for details about Vim itself. When started as gvimdiff the GUI will be started, if available. - In each window the 'diff' option will be set, which causes the differ- + In each window the 'diff' option will be set, which causes the differ‐ ences to be highlighted. The 'wrap' and 'scrollbind' options are set to make the text look good. The 'foldmethod' option is set to "diff", which puts ranges of lines diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2021 Apr 17 +" Last Change: 2021 Jun 13 " Listen very carefully, I will say this only once if exists("did_load_filetypes") diff --git a/runtime/gvim.desktop b/runtime/gvim.desktop --- a/runtime/gvim.desktop +++ b/runtime/gvim.desktop @@ -112,6 +112,7 @@ Icon[de]=gvim Icon[eo]=gvim Icon[fr]=gvim Icon[ru]=gvim +Icon[sr]=gvim Icon=gvim Categories=Utility;TextEditor; StartupNotify=true diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim --- a/runtime/indent/html.vim +++ b/runtime/indent/html.vim @@ -1,7 +1,7 @@ " Vim indent script for HTML " Maintainer: Bram Moolenaar " Original Author: Andy Wokula -" Last Change: 2021 Jan 26 +" Last Change: 2021 Jun 13 " Version: 1.0 "{{{ " Description: HTML indent script with cached state for faster indenting on a " range of lines. @@ -62,7 +62,7 @@ let s:tagname = '\w\+\(-\w\+\)*' " Prefer using buffer-local settings over global settings, so that there can " be defaults for all HTML files and exceptions for specific types of HTML " files. -func! HtmlIndent_CheckUserSettings() +func HtmlIndent_CheckUserSettings() "{{{ let inctags = '' if exists("b:html_indent_inctags") @@ -178,7 +178,7 @@ let s:endtags = [0,0,0,0,0,0,0] " long "}}} " Add a list of tag names for a pair of to "tags". -func! s:AddITags(tags, taglist) +func s:AddITags(tags, taglist) "{{{ for itag in a:taglist let a:tags[itag] = 1 @@ -187,7 +187,7 @@ func! s:AddITags(tags, taglist) endfunc "}}} " Take a list of tag name pairs that are not to be used as tag pairs. -func! s:RemoveITags(tags, taglist) +func s:RemoveITags(tags, taglist) "{{{ for itag in a:taglist let a:tags[itag] = 1 @@ -196,7 +196,7 @@ func! s:RemoveITags(tags, taglist) endfunc "}}} " Add a block tag, that is a tag with a different kind of indenting. -func! s:AddBlockTag(tag, id, ...) +func s:AddBlockTag(tag, id, ...) "{{{ if !(a:id >= 2 && a:id < len(s:endtags)) echoerr 'AddBlockTag ' . a:id @@ -255,7 +255,7 @@ call s:AddBlockTag('" @@ -338,7 +338,7 @@ func! s:CheckTag(itag) endfunc "}}} " Used by s:CheckTag(). Returns an empty string or "SCRIPT". -func! s:CheckBlockTag(blocktag, ind) +func s:CheckBlockTag(blocktag, ind) "{{{ if a:ind > 0 " a block starts here @@ -366,7 +366,7 @@ func! s:CheckBlockTag(blocktag, ind) endfunc "}}} " Used by s:CheckTag(). -func! s:CheckCustomTag(ctag) +func s:CheckCustomTag(ctag) "{{{ " Returns 1 if ctag is the tag for a custom element, 0 otherwise. " a:ctag can be "tag" or "/tag" or "" @@ -396,7 +396,7 @@ func! s:CheckCustomTag(ctag) endfunc "}}} " Return the