Skip to content

Commit

Permalink
Merge remote-tracking branch 'vim/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ychin committed Oct 3, 2023
2 parents 9084c14 + 2dfc229 commit c88f768
Show file tree
Hide file tree
Showing 52 changed files with 1,728 additions and 842 deletions.
2 changes: 1 addition & 1 deletion ci/config.mk.clang-12.sed
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default.
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro -Wno-compound-token-split-by-macro/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
4 changes: 2 additions & 2 deletions ci/config.mk.sed
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror -Wno-deprecated-declarations/
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Werror -Wno-deprecated-declarations/
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter -Wno-strict-prototypes/
21 changes: 13 additions & 8 deletions runtime/doc/builtin.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.0. Last change: 2023 Aug 09
*builtin.txt* For Vim version 9.0. Last change: 2023 Sep 27


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -1857,7 +1857,7 @@ cosh({expr}) *cosh()*
Compute()->cosh()
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
count({comp}, {expr} [, {ic} [, {start}]]) *count()* *E706*
Return the number of times an item with value {expr} appears
in |String|, |List| or |Dictionary| {comp}.

Expand Down Expand Up @@ -5054,12 +5054,14 @@ insert({object}, {item} [, {idx}]) *insert()*

Can also be used as a |method|: >
mylist->insert(item)
instanceof({object}, {class}) *instanceof()*
The result is a Number, which is |TRUE| when the {object} argument is a
direct or indirect instance of a |Class| specified by {class}.
When {class} is a |List| the function returns |TRUE| when {object} is an
instance of any of the specified classes.
<
*instanceof()* *E614* *E616* *E693*
instanceof({object}, {class})
The result is a Number, which is |TRUE| when the {object}
argument is a direct or indirect instance of a |Class|
specified by {class}.
When {class} is a |List| the function returns |TRUE| when
{object} is an instance of any of the specified classes.
Example: >
instanceof(animal, [Dog, Cat])
Expand Down Expand Up @@ -6691,6 +6693,7 @@ printf({fmt}, {expr1} ...) *printf()*
using a {n$} positional argument specifier. See |printf-$|.


*E1520*
The conversion specifiers and their meanings are:

*printf-d* *printf-b* *printf-B* *printf-o*
Expand Down Expand Up @@ -11106,6 +11109,8 @@ winaltkeys Compiled with 'winaltkeys' option.
windows Compiled with support for more than one window.
(always true)
writebackup Compiled with 'writebackup' default on.
xattr Compiled with extended attributes support |xattr|
(currently only supported on Linux).
xfontset Compiled with X fontset support |xfontset|.
xim Compiled with X input method support |xim|.
xpm Compiled with pixmap support.
Expand Down
2 changes: 1 addition & 1 deletion runtime/doc/cmdline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -788,7 +788,7 @@ An example for subtracting (which isn't very useful): >
On this text:
1 one ~
2 two ~
3 three FOLDED~
3 three FOLDED ~
4 four FOLDED ~
5 five FOLDED ~
6 six FOLDED ~
Expand Down
13 changes: 10 additions & 3 deletions runtime/doc/editing.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 9.0. Last change: 2023 Sep 22
*editing.txt* For Vim version 9.0. Last change: 2023 Sep 27


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -386,8 +386,8 @@ is to use "path\[[]abc]", this matches the file "path\[abc]".

*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
it may depend on your 'shell' setting. It's known to work correctly for zsh; for
bash this requires at least bash version >= 4.X).
it may depend on your 'shell' setting on Unix and macOS. It's known to work
correctly for zsh; for bash this requires at least bash version >= 4.X).
This allows searching a directory tree. This goes up to 100 directories deep.
Note there are some commands where this works slightly differently, see
|file-searching|.
Expand Down Expand Up @@ -1097,6 +1097,13 @@ will get the ACL info of the original file.
The ACL info is also used to check if a file is read-only (when opening the
file).

*xattr* *E1506* *E1508* *E1509*
xattr stands for Extended Attributes. It is an advanced way to save metadata
alongside the file in the filesystem. It depends on the actual filesystem
being used and Vim supports it only on a Linux system.
Vim attempts to preserve the extended attribute info when writing a file.
The backup file will get the extended attribute of the original file.

*read-only-share*
When MS-Windows shares a drive on the network it can be marked as read-only.
This means that even if the file read-only attribute is absent, and the ACL
Expand Down
6 changes: 5 additions & 1 deletion runtime/doc/eval.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2436,7 +2436,7 @@ v:progpath Contains the command with which Vim was invoked, in a form
".exe" is not added to v:progpath.
Read-only.

*v:python3_version* *python3-version-variable*
*v:python3_version* *python3-version-variable*
v:python3_version
Version of Python 3 that Vim was built against. When
Python is loaded dynamically (|python-dynamic|), this version
Expand Down Expand Up @@ -3140,6 +3140,10 @@ text...
< You may want to make a copy of a list to avoid this.
See |deepcopy()|.

*E1391* *E1392*
Locking and unlocking object and class variables is
currently NOT supported.


:unlo[ckvar][!] [depth] {name} ... *:unlockvar* *:unlo* *E1246*
Unlock the internal variable {name}. Does the
Expand Down
2 changes: 1 addition & 1 deletion runtime/doc/filetype.txt
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ So to enable this only for ruby, set the following variable: >
:let g:ruby_exec = 1
If both, the global `plugin_exec` and the `<filetype>_exec` specific variable
are set, the filetpe specific variable should have precedent.
are set, the filetype specific variable should have precedent.

AWK *ft-awk-plugin*

Expand Down
5 changes: 4 additions & 1 deletion runtime/doc/options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2854,7 +2854,8 @@ A jump table for the options with a short description can be found at |Q_op|.
When omitted a context of six lines is used.
When using zero the context is actually one,
since folds require a line in between, also
for a deleted line.
for a deleted line. Set it to a very large
value (999999) to disable folding completely.
See |fold-diff|.

iblank Ignore changes where lines are all blank. Adds
Expand Down Expand Up @@ -5020,6 +5021,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"echo &key". This is to avoid showing it to someone who shouldn't
know. It also means you cannot see it yourself once you have set it,
be careful not to make a typing error!
You also cannot use |:set-=|, |:set+=|, |:set^=| on this option to
prevent an attacker from guessing substrings in your key.
You can use "&key" in an expression to detect whether encryption is
enabled. When 'key' is set it returns "*****" (five stars).

Expand Down
2 changes: 1 addition & 1 deletion runtime/doc/pattern.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1080,7 +1080,7 @@ match ASCII characters, as indicated by the range.

\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
E.g., "\(^a\)" matches 'a' at the start of a line.
There can only be ten of these. You can use "\%(" to add more, but
There can only be nine of these. You can use "\%(" to add more, but
not counting it as a sub-expression.
*E51* *E54* *E55* *E872* *E873*

Expand Down
4 changes: 2 additions & 2 deletions runtime/doc/repeat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1149,8 +1149,8 @@ Profiling should give a good indication of where time is spent, but keep in
mind there are various things that may clobber the results:

- The accuracy of the time measured depends on the gettimeofday(), or
clock_gettime if available, system function. The accuracy ranges from 1/100
second to nanoseconds. With clock_gettime the times are displayed in
clock_gettime() if available, system function. The accuracy ranges from
1/100 second to nanoseconds. With clock_gettime() the times are displayed in
nanoseconds, otherwise microseconds. You can use `has("prof_nsec")`.

- Real elapsed time is measured, if other processes are busy they may cause
Expand Down
14 changes: 13 additions & 1 deletion runtime/doc/tags
Original file line number Diff line number Diff line change
Expand Up @@ -1506,6 +1506,7 @@ $quote eval.txt /*$quote*
+wildmenu various.txt /*+wildmenu*
+windows various.txt /*+windows*
+writebackup various.txt /*+writebackup*
+xattr various.txt /*+xattr*
+xfontset various.txt /*+xfontset*
+xim various.txt /*+xim*
+xpm various.txt /*+xpm*
Expand Down Expand Up @@ -4511,7 +4512,7 @@ E136 starting.txt /*E136*
E1360 vim9class.txt /*E1360*
E1361 syntax.txt /*E1361*
E1362 vim9class.txt /*E1362*
E1363 vim9class.txt /*E1363*
E1363 vim9.txt /*E1363*
E1364 recover.txt /*E1364*
E1365 vim9class.txt /*E1365*
E1366 vim9class.txt /*E1366*
Expand Down Expand Up @@ -4542,6 +4543,8 @@ E1388 vim9class.txt /*E1388*
E1389 vim9class.txt /*E1389*
E139 message.txt /*E139*
E1390 vim9class.txt /*E1390*
E1391 eval.txt /*E1391*
E1392 eval.txt /*E1392*
E140 message.txt /*E140*
E141 message.txt /*E141*
E142 message.txt /*E142*
Expand All @@ -4560,8 +4563,12 @@ E1502 builtin.txt /*E1502*
E1503 builtin.txt /*E1503*
E1504 builtin.txt /*E1504*
E1505 builtin.txt /*E1505*
E1506 editing.txt /*E1506*
E1508 editing.txt /*E1508*
E1509 editing.txt /*E1509*
E151 helphelp.txt /*E151*
E152 helphelp.txt /*E152*
E1520 builtin.txt /*E1520*
E153 helphelp.txt /*E153*
E154 helphelp.txt /*E154*
E155 sign.txt /*E155*
Expand Down Expand Up @@ -5056,6 +5063,8 @@ E610 editing.txt /*E610*
E611 eval.txt /*E611*
E612 sign.txt /*E612*
E613 print.txt /*E613*
E614 builtin.txt /*E614*
E616 builtin.txt /*E616*
E617 options.txt /*E617*
E618 print.txt /*E618*
E619 print.txt /*E619*
Expand Down Expand Up @@ -5139,6 +5148,7 @@ E69 pattern.txt /*E69*
E690 eval.txt /*E690*
E691 eval.txt /*E691*
E692 eval.txt /*E692*
E693 builtin.txt /*E693*
E694 eval.txt /*E694*
E695 eval.txt /*E695*
E696 eval.txt /*E696*
Expand All @@ -5152,6 +5162,7 @@ E702 builtin.txt /*E702*
E703 eval.txt /*E703*
E704 eval.txt /*E704*
E705 eval.txt /*E705*
E706 builtin.txt /*E706*
E707 eval.txt /*E707*
E708 eval.txt /*E708*
E709 eval.txt /*E709*
Expand Down Expand Up @@ -11391,6 +11402,7 @@ x-resources version5.txt /*x-resources*
x11-clientserver remote.txt /*x11-clientserver*
x11-cut-buffer gui_x11.txt /*x11-cut-buffer*
x11-selection gui_x11.txt /*x11-selection*
xattr editing.txt /*xattr*
xf86conf.vim syntax.txt /*xf86conf.vim*
xfontset mbyte.txt /*xfontset*
xfree-xterm syntax.txt /*xfree-xterm*
Expand Down
3 changes: 2 additions & 1 deletion runtime/doc/various.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*various.txt* For Vim version 9.0. Last change: 2022 Dec 13
*various.txt* For Vim version 9.0. Last change: 2023 Sep 27


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -506,6 +506,7 @@ T *+windows* more than one window; Always enabled since 8.0.1118.
m *+writebackup* |'writebackup'| is default on
m *+xim* X input method |xim|
*+xfontset* X fontset support |xfontset|
N *+xattr* compiled with extended attribute support (Linux only)
*+xpm* pixmap support
m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support|
*+xsmp* XSMP (X session management) support
Expand Down
10 changes: 5 additions & 5 deletions runtime/doc/vim9.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1557,7 +1557,7 @@ string to a number.

If a type is given where it is not expected you can get *E1272* .

If a type is incomplete you get *E1363*, e.g. when you have an object for
If a type is incomplete you get *E1363* , e.g. when you have an object for
which the class is not known (usually that is a null object).

Type inference ~
Expand Down Expand Up @@ -1756,7 +1756,7 @@ Exporting an item can be written as: >
export interface MyClass ...
< *E1043* *E1044*
As this suggests, only constants, variables, `:def` functions and classes can
be exported. {not implemented yet: class, interface}
be exported.

*E1042*
`:export` can only be used in Vim9 script, at the script level.
Expand Down Expand Up @@ -1862,9 +1862,9 @@ However, the namespace cannot be resolved on its own: >
<
This also affects the use of |<SID>| in the legacy mapping context. Since
|<SID>| is only a valid prefix for a function and NOT for a namespace, you
cannot use it
to scope a function in a script local namespace. Instead of prefixing the
function with |<SID>| you should use|<ScriptCmd>|. For example: >
cannot use it to scope a function in a script local namespace. Instead of
prefixing the function with |<SID>| you should use|<ScriptCmd>|. For example:
>
noremap ,a <ScriptCmd>:call s:that.OtherFunc()<CR>
<
*:import-cycle*
Expand Down
12 changes: 5 additions & 7 deletions runtime/doc/vim9class.txt
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ as the first character in the name, and it can be made public by prefixing
*class-method*
Class methods are also declared with "static". They can use the class
variables but they have no access to the object variables, they cannot use the
"this" keyword.
"this" keyword:
>
class OtherThing
this.size: number
Expand Down Expand Up @@ -547,11 +547,9 @@ Object variables from the base class are all taken over by the child class. It
is not possible to override them (unlike some other languages).

*E1356* *E1357* *E1358*
Object methods of the base class can be overruled. The number of arguments
must be exactly the same. The method argument type can be a contra-variant
type of the base class method argument type. The method return value type can
be a covariant type of the base class method return value type. The method of
the base class can be called by prefixing "super.".
Object methods of the base class can be overruled. The signature (arguments,
argument types and return type) must be exactly the same. The method of the
base class can be called by prefixing "super.".

*E1377*
The access level of a method (public or private) in a child class should be
Expand Down Expand Up @@ -658,7 +656,7 @@ When a variable is declared to have the type of an object, but it is not
initialized, the value is null. When trying to use this null object Vim often
does not know what class was supposed to be used. Vim then cannot check if
a variable name is correct and you will get an "Using a null object" error,
even when the variable name is invalid. *E1360* *E1362* *E1363*
even when the variable name is invalid. *E1360* *E1362*


Default constructor ~
Expand Down
33 changes: 30 additions & 3 deletions src/auto/configure
Original file line number Diff line number Diff line change
Expand Up @@ -830,6 +830,7 @@ with_global_runtime
with_modified_by
enable_smack
enable_selinux
enable_xattr
with_features
with_compiledby
enable_xsmp
Expand Down Expand Up @@ -1524,6 +1525,7 @@ Optional Features:
--enable-sparkle_1 Use legacy Sparkle 1 updater (MacVim).
--disable-smack Do not check for Smack support.
--disable-selinux Do not check for SELinux support.
--disable-xattr Do not check for XATTR support.
--disable-xsmp Disable XSMP session management
--disable-xsmp-interact Disable XSMP interaction
--enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
Expand Down Expand Up @@ -5398,8 +5400,8 @@ else
printf "%s\n" "yes" >&6; }
fi
if test "$enable_smack" = "yes"; then
ac_fn_c_check_header_compile "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
if test "x$ac_cv_header_attr_xattr_h" = xyes
ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_xattr_h" = xyes
then :
true
else $as_nop
Expand Down Expand Up @@ -5540,6 +5542,31 @@ printf "%s\n" "yes" >&6; }
fi
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --enable-xattr argument" >&5
printf %s "checking --enable-xattr argument... " >&6; }
# Check whether --enable-xattr was given.
if test ${enable_xattr+y}
then :
enableval=$enable_xattr;
else $as_nop
enable_xattr="yes"
fi

if test "$enable_xattr" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_xattr_h" = xyes
then :
printf "%s\n" "#define HAVE_XATTR 1" >>confdefs.h

fi

else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-features argument" >&5
printf %s "checking --with-features argument... " >&6; }
Expand Down Expand Up @@ -8289,7 +8316,7 @@ printf "%s\n" "$rubyhdrdir" >&6; }
librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBYARG'])"`
librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBY_A'])"`
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['libdir'])"`
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby"; then
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby" >/dev/null; then
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
elif test "$vi_cv_path_ruby" = "/usr/bin/ruby" -a -d "/System/Library/Frameworks/Ruby.framework"; then
RUBY_LIBS="-framework Ruby"
Expand Down
Loading

0 comments on commit c88f768

Please sign in to comment.