Skip to content

Commit d41f345

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents c83901a + f3b68d4 commit d41f345

Some content is hidden

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

65 files changed

+6223
-2993
lines changed

.github/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ runtime:
5555

5656
termdebug: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
5757

58-
netrw:
58+
plugin-netrw:
5959
- any: ['runtime/plugin/netrwPlugin.vim']
6060
- any: ['runtime/autoload/netrw*']

runtime/doc/builtin.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6832,55 +6832,55 @@ printf({fmt}, {expr1} ...) *printf()*
68326832
echo printf("%1$*2$.*3$f", 1.4142135, 6, 2)
68336833
< 1.41
68346834

6835-
*E1400*
6835+
*E1500*
68366836
You cannot mix positional and non-positional arguments: >
68376837
echo printf("%s%1$s", "One", "Two")
6838-
< E1400: Cannot mix positional and non-positional
6838+
< E1500: Cannot mix positional and non-positional
68396839
arguments: %s%1$s
68406840

6841-
*E1401*
6841+
*E1501*
68426842
You cannot skip a positional argument in a format string: >
68436843
echo printf("%3$s%1$s", "One", "Two", "Three")
6844-
< E1401: format argument 2 unused in $-style
6844+
< E1501: format argument 2 unused in $-style
68456845
format: %3$s%1$s
68466846

6847-
*E1402*
6847+
*E1502*
68486848
You can re-use a [field-width] (or [precision]) argument: >
68496849
echo printf("%1$d at width %2$d is: %01$*2$d", 1, 2)
68506850
< 1 at width 2 is: 01
68516851

68526852
However, you can't use it as a different type: >
68536853
echo printf("%1$d at width %2$ld is: %01$*2$d", 1, 2)
6854-
< E1402: Positional argument 2 used as field
6854+
< E1502: Positional argument 2 used as field
68556855
width reused as different type: long int/int
68566856

6857-
*E1403*
6857+
*E1503*
68586858
When a positional argument is used, but not the correct number
68596859
or arguments is given, an error is raised: >
68606860
echo printf("%1$d at width %2$d is: %01$*2$.*3$d", 1, 2)
6861-
< E1403: Positional argument 3 out of bounds:
6861+
< E1503: Positional argument 3 out of bounds:
68626862
%1$d at width %2$d is: %01$*2$.*3$d
68636863

68646864
Only the first error is reported: >
68656865
echo printf("%01$*2$.*3$d %4$d", 1, 2)
6866-
< E1403: Positional argument 3 out of bounds:
6866+
< E1503: Positional argument 3 out of bounds:
68676867
%01$*2$.*3$d %4$d
68686868

6869-
*E1404*
6869+
*E1504*
68706870
A positional argument can be used more than once: >
68716871
echo printf("%1$s %2$s %1$s", "One", "Two")
68726872
< One Two One
68736873

68746874
However, you can't use a different type the second time: >
68756875
echo printf("%1$s %2$s %1$d", "One", "Two")
6876-
< E1404: Positional argument 1 type used
6876+
< E1504: Positional argument 1 type used
68776877
inconsistently: int/string
68786878

6879-
*E1405*
6879+
*E1505*
68806880
Various other errors that lead to a format string being
68816881
wrongly formatted lead to: >
68826882
echo printf("%1$d at width %2$d is: %01$*2$.3$d", 1, 2)
6883-
< E1405: Invalid format specifier:
6883+
< E1505: Invalid format specifier:
68846884
%1$d at width %2$d is: %01$*2$.3$d
68856885

68866886
prompt_getprompt({buf}) *prompt_getprompt()*

runtime/doc/cmdline.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -517,16 +517,26 @@ example, to match only files that end in ".c": >
517517
:e *.c$
518518
This will not match a file ending in ".cpp". Without the "$" it does match.
519519

520-
The old value of an option can be obtained by hitting 'wildchar' just after
521-
the '='. For example, typing 'wildchar' after ":set dir=" will insert the
522-
current value of 'dir'. This overrules file name completion for the options
523-
that take a file name.
524-
525520
If you would like using <S-Tab> for CTRL-P in an xterm, put this command in
526521
your .cshrc: >
527522
xmodmap -e "keysym Tab = Tab Find"
528523
And this in your .vimrc: >
529524
:cmap <Esc>[1~ <C-P>
525+
< *complete-set-option*
526+
When setting an option using |:set=|, the old value of an option can be
527+
obtained by hitting 'wildchar' just after the '='. For example, typing
528+
'wildchar' after ":set dir=" will insert the current value of 'dir'. This
529+
overrules file name completion for the options that take a file name.
530+
531+
When using |:set=|, |:set+=|, or |:set^=|, string options that have
532+
pre-defined names or syntax (e.g. 'diffopt', 'listchars') or are a list of
533+
single-character flags (e.g. 'shortmess') will also present a list of possible
534+
values for completion when using 'wildchar'.
535+
536+
When using |:set-=|, comma-separated options like 'diffopt' or 'backupdir'
537+
will show each item separately. Flag list options like 'shortmess' will show
538+
both the entire old value and the individual flags. Otherwise completion will
539+
just fill in with the entire old value.
530540

531541
==============================================================================
532542
3. Ex command-lines *cmdline-lines*

runtime/doc/editing.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*editing.txt* For Vim version 9.0. Last change: 2023 Apr 23
1+
*editing.txt* For Vim version 9.0. Last change: 2023 Sep 22
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -385,7 +385,9 @@ as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
385385
is to use "path\[[]abc]", this matches the file "path\[abc]".
386386

387387
*starstar-wildcard*
388-
Expanding "**" is possible on Unix, Win32, macOS and a few other systems.
388+
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
389+
it may depend on your 'shell' setting. It's known to work correctly for zsh; for
390+
bash this requires at least bash version >= 4.X).
389391
This allows searching a directory tree. This goes up to 100 directories deep.
390392
Note there are some commands where this works slightly differently, see
391393
|file-searching|.

runtime/doc/motion.txt

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*motion.txt* For Vim version 9.0. Last change: 2023 Sep 18
1+
*motion.txt* For Vim version 9.0. Last change: 2023 Sep 28
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -592,42 +592,48 @@ a] *v_a]* *v_a[* *a]* *a[*
592592
a[ "a [] block", select [count] '[' ']' blocks. This
593593
goes backwards to the [count] unclosed '[', and finds
594594
the matching ']'. The enclosed text is selected,
595-
including the '[' and ']'.
595+
including the '[' and ']'. The |cpo-M| option flag
596+
is used to handle escaped brackets.
596597
When used in Visual mode it is made characterwise.
597598

598599
i] *v_i]* *v_i[* *i]* *i[*
599600
i[ "inner [] block", select [count] '[' ']' blocks. This
600601
goes backwards to the [count] unclosed '[', and finds
601602
the matching ']'. The enclosed text is selected,
602-
excluding the '[' and ']'.
603+
excluding the '[' and ']'. The |cpo-M| option flag
604+
is used to handle escaped brackets.
603605
When used in Visual mode it is made characterwise.
604606

605607
a) *v_a)* *a)* *a(*
606608
a( *vab* *v_ab* *v_a(* *ab*
607609
ab "a block", select [count] blocks, from "[count] [(" to
608610
the matching ')', including the '(' and ')' (see
609611
|[(|). Does not include white space outside of the
610-
parenthesis.
612+
parenthesis. The |cpo-M| option flag is used to
613+
handle escaped parenthesis.
611614
When used in Visual mode it is made characterwise.
612615

613616
i) *v_i)* *i)* *i(*
614617
i( *vib* *v_ib* *v_i(* *ib*
615618
ib "inner block", select [count] blocks, from "[count] [("
616619
to the matching ')', excluding the '(' and ')' (see
617620
|[(|). If the cursor is not inside a () block, then
618-
find the next "(".
621+
find the next "(". The |cpo-M| option flag
622+
is used to handle escaped parenthesis.
619623
When used in Visual mode it is made characterwise.
620624

621625
a> *v_a>* *v_a<* *a>* *a<*
622626
a< "a <> block", select [count] <> blocks, from the
623627
[count]'th unmatched '<' backwards to the matching
624-
'>', including the '<' and '>'.
628+
'>', including the '<' and '>'. The |cpo-M| option flag
629+
is used to handle escaped '<' and '>'.
625630
When used in Visual mode it is made characterwise.
626631

627632
i> *v_i>* *v_i<* *i>* *i<*
628633
i< "inner <> block", select [count] <> blocks, from
629634
the [count]'th unmatched '<' backwards to the matching
630-
'>', excluding the '<' and '>'.
635+
'>', excluding the '<' and '>'. The |cpo-M| option flag
636+
is used to handle escaped '<' and '>'.
631637
When used in Visual mode it is made characterwise.
632638

633639
*v_at* *at*
@@ -649,14 +655,16 @@ a} *v_a}* *a}* *a{*
649655
a{ *v_aB* *v_a{* *aB*
650656
aB "a Block", select [count] Blocks, from "[count] [{" to
651657
the matching '}', including the '{' and '}' (see
652-
|[{|).
658+
|[{|). The |cpo-M| option flag is used to handle
659+
escaped braces.
653660
When used in Visual mode it is made characterwise.
654661

655662
i} *v_i}* *i}* *i{*
656663
i{ *v_iB* *v_i{* *iB*
657664
iB "inner Block", select [count] Blocks, from "[count] [{"
658665
to the matching '}', excluding the '{' and '}' (see
659-
|[{|).
666+
|[{|). The |cpo-M| option flag is used to handle
667+
escaped braces.
660668
When used in Visual mode it is made characterwise.
661669

662670
a" *v_aquote* *aquote*

runtime/doc/options.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,17 @@ achieve special effects. These options come in three forms:
7171
'ttytype'
7272
Warning: This may have a lot of side effects.
7373

74-
*:set-args* *E487* *E521*
74+
*:set-args* *:set=* *E487* *E521*
7575
:se[t] {option}={value} or
7676
:se[t] {option}:{value}
7777
Set string or number option to {value}.
7878
For numeric options the value can be given in decimal,
7979
hex (preceded with 0x) or octal (preceded with '0').
8080
The old value can be inserted by typing 'wildchar' (by
8181
default this is a <Tab> or CTRL-E if 'compatible' is
82-
set). See |cmdline-completion|.
82+
set). Many string options with fixed syntax and names
83+
also support completing known values. See
84+
|cmdline-completion| and |complete-set-option|.
8385
White space between {option} and '=' is allowed and
8486
will be ignored. White space between '=' and {value}
8587
is not allowed.
@@ -113,6 +115,9 @@ achieve special effects. These options come in three forms:
113115
When the option is a list of flags, {value} must be
114116
exactly as they appear in the option. Remove flags
115117
one by one to avoid problems.
118+
The individual values from a comma separated list or
119+
list of flags can be inserted by typing 'wildchar'.
120+
See |complete-set-option|.
116121
Also see |:set-args| above.
117122

118123
The {option} arguments to ":set" may be repeated. For example: >
@@ -6886,9 +6891,9 @@ A jump table for the options with a short description can be found at |Q_op|.
68866891
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
68876892
'scrollbind' 'scb' boolean (default off)
68886893
local to window
6889-
See also |scroll-binding|. When this option is set, the current
6890-
window scrolls as other scrollbind windows (windows that also have
6891-
this option set) scroll. This option is useful for viewing the
6894+
See also |scroll-binding|. When this option is set, scrolling the
6895+
current window also scrolls other scrollbind windows (windows that
6896+
also have this option set). This option is useful for viewing the
68926897
differences between two versions of a file, see 'diff'.
68936898
See |'scrollopt'| for options that determine how this option should be
68946899
interpreted.

runtime/doc/scroll.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,16 @@ windows can be given this behavior by setting the (window-specific)
191191
other 'scrollbind' windows are scrolled the same amount, if possible. The
192192
behavior of 'scrollbind' can be modified by the 'scrollopt' option.
193193

194-
When using the scrollbars, the binding only happens when scrolling the window
195-
with focus (where the cursor is). You can use this to avoid scroll-binding
196-
for a moment without resetting options.
194+
When using the scrollbars or the mouse wheel, the binding only happens when
195+
scrolling the window with focus (where the cursor is). You can use this to
196+
avoid scroll-binding for a moment without resetting options.
197197

198198
When a window also has the 'diff' option set, the scroll-binding uses the
199199
differences between the two buffers to synchronize the position precisely.
200200
Otherwise the following method is used.
201201

202202
*scrollbind-relative*
203-
Each 'scrollbind' window keeps track of its "relative offset," which can be
203+
Each 'scrollbind' window keeps track of its "relative offset", which can be
204204
thought of as the difference between the current window's vertical scroll
205205
position and the other window's vertical scroll position. When one of the
206206
'scrollbind' windows is asked to vertically scroll past the beginning or end
@@ -224,9 +224,10 @@ option.
224224

225225
*scrollbind-quickadj*
226226
The 'scrollbind' flag is meaningful when using keyboard commands to vertically
227-
scroll a window, and also meaningful when using the vertical scrollbar of the
228-
window which has the cursor focus. However, when using the vertical scrollbar
229-
of a window which doesn't have the cursor focus, 'scrollbind' is ignored.
227+
scroll a window, and is also meaningful when using the vertical scrollbar or
228+
the mouse wheel in the window which has the cursor focus. However, when using
229+
the vertical scrollbar or the mouse wheel in a window which doesn't have the
230+
cursor focus, 'scrollbind' is ignored.
230231
This allows quick adjustment of the relative offset of 'scrollbind' windows.
231232

232233
==============================================================================

runtime/doc/tags

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3235,6 +3235,7 @@ $quote eval.txt /*$quote*
32353235
:set-inv options.txt /*:set-inv*
32363236
:set-termcap options.txt /*:set-termcap*
32373237
:set-verbose options.txt /*:set-verbose*
3238+
:set= options.txt /*:set=*
32383239
:set^= options.txt /*:set^=*
32393240
:set_env options.txt /*:set_env*
32403241
:setf options.txt /*:setf*
@@ -4533,14 +4534,15 @@ E1380 vim9class.txt /*E1380*
45334534
E1381 vim9class.txt /*E1381*
45344535
E1382 vim9class.txt /*E1382*
45354536
E1383 vim9class.txt /*E1383*
4537+
E1384 vim9class.txt /*E1384*
4538+
E1385 vim9class.txt /*E1385*
4539+
E1386 vim9class.txt /*E1386*
4540+
E1387 vim9class.txt /*E1387*
4541+
E1388 vim9class.txt /*E1388*
4542+
E1389 vim9class.txt /*E1389*
45364543
E139 message.txt /*E139*
4544+
E1390 vim9class.txt /*E1390*
45374545
E140 message.txt /*E140*
4538-
E1400 builtin.txt /*E1400*
4539-
E1401 builtin.txt /*E1401*
4540-
E1402 builtin.txt /*E1402*
4541-
E1403 builtin.txt /*E1403*
4542-
E1404 builtin.txt /*E1404*
4543-
E1405 builtin.txt /*E1405*
45444546
E141 message.txt /*E141*
45454547
E142 message.txt /*E142*
45464548
E143 autocmd.txt /*E143*
@@ -4552,6 +4554,12 @@ E148 repeat.txt /*E148*
45524554
E149 helphelp.txt /*E149*
45534555
E15 eval.txt /*E15*
45544556
E150 helphelp.txt /*E150*
4557+
E1500 builtin.txt /*E1500*
4558+
E1501 builtin.txt /*E1501*
4559+
E1502 builtin.txt /*E1502*
4560+
E1503 builtin.txt /*E1503*
4561+
E1504 builtin.txt /*E1504*
4562+
E1505 builtin.txt /*E1505*
45554563
E151 helphelp.txt /*E151*
45564564
E152 helphelp.txt /*E152*
45574565
E153 helphelp.txt /*E153*
@@ -6575,6 +6583,7 @@ complete-items insert.txt /*complete-items*
65756583
complete-popup insert.txt /*complete-popup*
65766584
complete-popuphidden insert.txt /*complete-popuphidden*
65776585
complete-script-local-functions cmdline.txt /*complete-script-local-functions*
6586+
complete-set-option cmdline.txt /*complete-set-option*
65786587
complete_CTRL-E insert.txt /*complete_CTRL-E*
65796588
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
65806589
complete_add() builtin.txt /*complete_add()*
@@ -6590,6 +6599,7 @@ conceal syntax.txt /*conceal*
65906599
confirm() builtin.txt /*confirm()*
65916600
connection-refused message.txt /*connection-refused*
65926601
console-menus gui.txt /*console-menus*
6602+
constructor vim9class.txt /*constructor*
65936603
context.vim ft_context.txt /*context.vim*
65946604
control intro.txt /*control*
65956605
conversion-server mbyte.txt /*conversion-server*
@@ -6763,6 +6773,7 @@ debugger.txt debugger.txt /*debugger.txt*
67636773
dec-mouse options.txt /*dec-mouse*
67646774
decada_members ft_ada.txt /*decada_members*
67656775
deepcopy() builtin.txt /*deepcopy()*
6776+
default-constructor vim9class.txt /*default-constructor*
67666777
defaults.vim starting.txt /*defaults.vim*
67676778
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
67686779
define-function userfunc.txt /*define-function*
@@ -9078,6 +9089,7 @@ netrw.vim pi_netrw.txt /*netrw.vim*
90789089
netrw_filehandler pi_netrw.txt /*netrw_filehandler*
90799090
netterm-mouse options.txt /*netterm-mouse*
90809091
network pi_netrw.txt /*network*
9092+
new() vim9class.txt /*new()*
90819093
new-5 version5.txt /*new-5*
90829094
new-6 version6.txt /*new-6*
90839095
new-7 version7.txt /*new-7*
@@ -9471,6 +9483,8 @@ printf-s builtin.txt /*printf-s*
94719483
printf-x builtin.txt /*printf-x*
94729484
printing print.txt /*printing*
94739485
printing-formfeed print.txt /*printing-formfeed*
9486+
private-method vim9class.txt /*private-method*
9487+
private-variable vim9class.txt /*private-variable*
94749488
profile repeat.txt /*profile*
94759489
profiling repeat.txt /*profiling*
94769490
profiling-variable eval.txt /*profiling-variable*

0 commit comments

Comments
 (0)