]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
11 months agopatch 9.1.0682: Vim9: Segfault with uninitialized funcref v9.1.0682
Ernie Rael [Mon, 19 Aug 2024 19:45:23 +0000 (21:45 +0200)] 
patch 9.1.0682: Vim9: Segfault with uninitialized funcref

Problem:  Vim9: Segfault with uninitialized funcref
          (Daniel Viberg)
Solution: Check the Funcref for being Null before trying to access it
          (Ernie Rael)

fixes: #15523

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0681: tests: Analyzing failed screendumps is hard v9.1.0681
Aliaksei Budavei [Mon, 19 Aug 2024 19:33:26 +0000 (21:33 +0200)] 
patch 9.1.0681: tests: Analyzing failed screendumps is hard

Problem:  tests: Analyzing failed screendumps is hard
Solution: Facilitate the viewing of rendered screendumps under src/
          add some documentation on how to use the viewdumps.vim
          script (Aliaksei Budavei)

With the submitted "viewdumps.vim" script, a few manual
steps in typical workflows (see below) can be automated.
The updated "README.txt" contains additional information.

============================================================

Reviewing LOCAL failed screendump tests can be arranged as
follows:

1) Run tests and generate screendumps:
------------------------------------------------------------
cd /path/to/fork/src/testdir
make
------------------------------------------------------------

2) Examine the screendumps from the "failed" directory:
------------------------------------------------------------
../vim -u NONE -S viewdumps.vim
------------------------------------------------------------

============================================================

Reviewing UPLOADED failed screendump tests can be arranged
as follows (it can be further locally scripted):

1) Fetch an artifact with failed screendumps from
"github.com/vim/vim/actions/runs/A_ID/artifacts/B_ID".

2) Extract the archived files:
------------------------------------------------------------
unzip /tmp/failed-tests.zip -d /tmp
------------------------------------------------------------

3) Set up the "dumps" directory.  Create a symlink to
"/path/to/fork/dirs/dumps" in the extracted directories so
that term_dumpdiff() can be used.  (The lookup algorithm
resolves "dumps" for every loaded filename.  So, with
"/tmp/src/testdir/failed/*.dump" files passed as script
arguments, the algorithm will make the files in
"/tmp/src/testdir/dumps" queried.)
------------------------------------------------------------
cd /path/to/fork
ln -s $(pwd)/src/testdir/dumps /tmp/src/testdir/dumps
------------------------------------------------------------

4) Examine the extracted screendumps:
------------------------------------------------------------
./src/vim -u NONE -S src/testdir/viewdumps.vim \
  /tmp/src/testdir/failed/*.dump
------------------------------------------------------------

5) Clean up:
------------------------------------------------------------
unlink /tmp/src/testdir/dumps
rm -rf /tmp/src
------------------------------------------------------------

============================================================

Reviewing SUBMITTED FOR PULL REQUEST screendump tests can be
arranged as follows (it can be further locally scripted):

1) List the fetched changeset and write the changed "dumps"
filenames to "/tmp/filelist":
------------------------------------------------------------
cd /path/to/fork
git switch prs/1234
git diff-index --relative=src/testdir/dumps/ \
  --name-only prs/1234~1 > /tmp/filelist
------------------------------------------------------------

2) Reconcile relative filepaths, and copy next-to-be-updated
"dumps" files in the "failed" directory (note the missing
new screendumps, if any):
------------------------------------------------------------
git switch master
cd src/testdir/dumps
test -d ../failed || mkdir ../failed
cp -t ../failed $(cat /tmp/filelist)
------------------------------------------------------------

3) Remember about the introduced INVERTED relation between
"dumps" and "failed", i.e. the files to be committed are in
"dumps" already and their previous versions are in "failed";
therefore, copy the missing new screendumps from "dumps" to
"failed" (otherwise these won't be shown):
------------------------------------------------------------
git switch prs/1234
cp -t ../failed foo_10.dump foo_11.dump foo_12.dump
------------------------------------------------------------

4) Examine the screendumps from the "failed" directory (new
screendumps will be shown with no difference between their
versions):
------------------------------------------------------------
cd ..
../vim -u NONE -S viewdumps.vim
------------------------------------------------------------

closes: #15515

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): more clarification for the :keeppatterns needed
Christian Brabandt [Mon, 19 Aug 2024 19:23:38 +0000 (21:23 +0200)] 
runtime(doc): more clarification for the :keeppatterns needed

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0680: VMS does not have defined uintptr_t v9.1.0680
Zoltan Arpadffy [Sun, 18 Aug 2024 14:59:20 +0000 (16:59 +0200)] 
patch 9.1.0680: VMS does not have defined uintptr_t

Problem:  VMS does not have defined uintptr_t
Solution: Add type definitions (Zoltan Arpadffy)

closes: #15520

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): improve typedchar documentation for KeyInputPre autocmd
Shougo Matsushita [Sun, 18 Aug 2024 14:57:04 +0000 (16:57 +0200)] 
runtime(doc): improve typedchar documentation for KeyInputPre autocmd

closes: #15521

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
11 months agoruntime(dist): verify that executable is in $PATH
Christian Brabandt [Sat, 17 Aug 2024 13:52:11 +0000 (15:52 +0200)] 
runtime(dist): verify that executable is in $PATH

Otherwise, if the executable to be verified does not exist,
this would cause a false-positive in the 'IsSafeExecutable()' check,
because 'exepath(executable)' returns an empty string and
'fnamemodify('', ':p:h')' returns the current directory and as a result
the 'IsSafeExecutable()' returns false (for the wrong reason).

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(it): update Italian manpages
Antonio Giovanni Colombo [Sat, 17 Aug 2024 13:14:43 +0000 (15:14 +0200)] 
translation(it): update Italian manpages

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): clarify the effect of :keeppatterns after v9.1.0677
zeertzjq [Fri, 16 Aug 2024 19:37:08 +0000 (21:37 +0200)] 
runtime(doc): clarify the effect of :keeppatterns after v9.1.0677

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): update Makefile and make it portable between GNU and BSD
RestorerZ [Fri, 16 Aug 2024 19:13:50 +0000 (21:13 +0200)] 
runtime(doc): update Makefile and make it portable between GNU and BSD

by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15493

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0679: Rename from w_closing to w_locked is incomplete v9.1.0679
zeertzjq [Fri, 16 Aug 2024 19:11:31 +0000 (21:11 +0200)] 
patch 9.1.0679: Rename from w_closing to w_locked is incomplete

Problem:  Rename from w_closing to w_locked is incomplete
          (after 9.1.0678).
Solution: Rename remaining occurrences of w_closing to w_locked and
          update comments (zeertzjq).

closes: #15504

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(colors): update colorschemes
Maxim Kim [Fri, 16 Aug 2024 19:09:50 +0000 (21:09 +0200)] 
runtime(colors): update colorschemes

- all: PMenuMatch and PMenuMatchSel for 8c/16c
- habamax:
    - revert VertSplit to solid background color
    - remove gitCommitSummary link to Title
    - make TabLineFill same as StatuslineNC

closes: #15506

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(vim): Update base-syntax, improve :let-heredoc highlighting
Doug Kearns [Fri, 16 Aug 2024 19:07:15 +0000 (21:07 +0200)] 
runtime(vim): Update base-syntax, improve :let-heredoc highlighting

The end marker must appear on line of its own without any trailing
whitespace.

Whitespace is incorrectly allowed before all end markers.  Limiting this
only to heredocs where "trim" was specified, and with the correct
indent, is currently an intractable problem given that contained syntax
groups (in this case :let) cannot be limited to start patterns.

Highlight interpolated expressions when "eval" is specified.

cloess: #15511

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): Updating the examples in the xxd manpage
RestorerZ [Fri, 16 Aug 2024 19:03:58 +0000 (21:03 +0200)] 
runtime(doc): Updating the examples in the xxd manpage

closes: #15508

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(ru): Updated uganda.rux
RestorerZ [Fri, 16 Aug 2024 19:02:21 +0000 (21:02 +0200)] 
translation(ru): Updated uganda.rux

closes: #15510

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: RestorerZ <restorer@mail2k.ru>
11 months agoruntime(yaml): do not re-indent when commenting out lines
Christian Brabandt [Thu, 15 Aug 2024 20:29:47 +0000 (22:29 +0200)] 
runtime(yaml): do not re-indent when commenting out lines

It's a personal annoyance for me. I have to edit yaml files on a lot of
customer environments and whenever you type '#' at the start of the
line, the commented line will be indented by whatever indent the
previous line had.

I hate this seriously, because it makes un-commenting painful. So let's
fix this. But instead of messing with the indent function, let's just
remove the '0#' from cinkeys, so that Vim won't perform re-indenting
when commenting out such a yaml file.

closes: #15494

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0678: [security]: use-after-free in alist_add() v9.1.0678
Christian Brabandt [Thu, 15 Aug 2024 20:15:28 +0000 (22:15 +0200)] 
patch 9.1.0678: [security]: use-after-free in alist_add()

Problem:  [security]: use-after-free in alist_add()
          (SuyueGuo)
Solution: Lock the current window, so that the reference to
          the argument list remains valid.

This fixes CVE-2024-43374

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0677: :keepp does not retain the substitute pattern v9.1.0677
Gregory Anders [Thu, 15 Aug 2024 20:04:22 +0000 (22:04 +0200)] 
patch 9.1.0677: :keepp does not retain the substitute pattern

Problem:  :keeppatterns does not retain the substitute pattern
          for a :s command
Solution: preserve the last substitute pattern when used with the
          :keeppatterns command modifier (Gregory Anders)

closes: #15497

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(ja): Update Japanese translations to latest release
Ken Takata [Thu, 15 Aug 2024 20:02:45 +0000 (22:02 +0200)] 
translation(ja): Update Japanese translations to latest release

https://github.com/vim-jp/lang-ja/releases/tag/20240815

closes: #15498

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(netrw): Drop committed trace lines
Damien [Thu, 15 Aug 2024 20:01:24 +0000 (22:01 +0200)] 
runtime(netrw): Drop committed trace lines

closes: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(netrw): Error popup not always used
Damien [Thu, 15 Aug 2024 20:00:45 +0000 (22:00 +0200)] 
runtime(netrw): Error popup not always used

Problem:  g:netrw_use_errorwindow=2 does not work
          without +balloon_eval.
Solution: Check for popup_atcursor().

related: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(netrw): ErrorMsg() may throw E121
Damien [Thu, 15 Aug 2024 19:58:57 +0000 (21:58 +0200)] 
runtime(netrw): ErrorMsg() may throw E121

Move variables declaration

related: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(tutor): update Makefile and make it portable between GNU and BSD
RestorerZ [Thu, 15 Aug 2024 19:51:32 +0000 (21:51 +0200)] 
runtime(tutor): update Makefile and make it portable between GNU and BSD

by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15502
related: #15493

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation: improve the po/cleanup.vim script
RestorerZ [Thu, 15 Aug 2024 19:47:09 +0000 (21:47 +0200)] 
translation: improve the po/cleanup.vim script

explicitly delete into the black-hole register

closes: #15499

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(lang): update Makefile and make it portable between GNU and BSD
RestorerZ [Thu, 15 Aug 2024 19:43:56 +0000 (21:43 +0200)] 
runtime(lang): update Makefile and make it portable between GNU and BSD

by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15503

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0676: style issues with man pages v9.1.0676
RestorerZ [Thu, 15 Aug 2024 19:39:33 +0000 (21:39 +0200)] 
patch 9.1.0676: style issues with man pages

Problem:  style issues with man pages
Solution: update man pages and test_xxd.vim, since it uses
          the xxd man page (RestorerZ)

closes: #15489

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0675: Patch v9.1.0674 causes problems v9.1.0675
Christian Brabandt [Wed, 14 Aug 2024 20:52:03 +0000 (22:52 +0200)] 
patch 9.1.0675: Patch v9.1.0674 causes problems

Problem:  Patch v9.1.0674 causes problems
Solution: Revert it for now

Revert "patch 9.1.0674: Vim9: compiling abstract method fails because of missing return"

This reverts commit 7477861e0d1d4bb168a65585c49c66e57b3ec636.

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(dosbatch): Show %%i as an argument in syntax file
Ken Takata [Wed, 14 Aug 2024 19:57:35 +0000 (21:57 +0200)] 
runtime(dosbatch): Show %%i as an argument in syntax file

Inside batch files, for-variables must be written as %%i, not %i.

closes: #15453

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(dosbatch): Add syn-sync to syntax file
Ken Takata [Wed, 14 Aug 2024 19:56:42 +0000 (21:56 +0200)] 
runtime(dosbatch): Add syn-sync to syntax file

Closing parentheses were often highlighted as errors.
Add a syntax sync command to reduce the error.

Also fix that `defined` was not highlighted as an operator inside
parentheses.  E.g.:
```
if defined foo (
    if defined bar (
        ...
    )
)
```
The first `defined` was highlighted but the second one was not.

related: #15453

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql"
Yinzuo Jiang [Wed, 14 Aug 2024 19:49:00 +0000 (21:49 +0200)] 
runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql"

Problem: When setting "let g:sql_type_default = "mysql", editing .sql
file reports "E169: Command too recursive" error

Solution:

- Add 'let b:did_ftplugin = 1' at the top of ftplugin/sql.vim
- Add 'if exists("b:did_ftplugin") | finish | endif' in ftplugin/mysql.vim
- Add missing header information in ftplugin/mysql.vim
- Remove redundant code in ftplugin/sql.vim

fixes: #15474
closes: #15475

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0674: Vim9: compiling abstract method fails because of missing return v9.1.0674
Ernie Rael [Wed, 14 Aug 2024 12:53:55 +0000 (14:53 +0200)] 
patch 9.1.0674: Vim9: compiling abstract method fails because of missing return

Problem:  Vim9: compiling abstract method fails because of missing
          return (Aliaksei Budavei)
Solution: don't require a return statement for an abstract method when
          compiling (Ernie Rael)

fixes: #15432
closes: #15441

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(javascript): fix a few issues with syntax higlighting
Tobiasz Laskowski [Wed, 14 Aug 2024 12:50:56 +0000 (14:50 +0200)] 
runtime(javascript): fix a few issues with syntax higlighting

It addresses the following issues:

- Fix highlight of let and var javascript keywords

  According to runtime/doc/syntax.txt, Identifier is for variable names.
  let/var are not variable names, they are keywords

- Add highlighting for "from" keyword in javascript

- Fix highlight of function keyword in javascript

  According to docs, Function is for function names, so the function
  keyword should just be Keyword.

- Fix highlight of static keyword in javascript

  According to vim docs: StorageClass static, register, volatile, etc.

closes: #15480

Signed-off-by: Tobiasz Laskowski <tobil4sk@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(mediawiki): fix typo in doc, test for b:did_ftplugin var
Stanislav Asunkin [Wed, 14 Aug 2024 12:43:30 +0000 (14:43 +0200)] 
runtime(mediawiki): fix typo in doc, test for b:did_ftplugin var

closes: #15479

Signed-off-by: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com>
Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(termdebug): Fix wrong test for balloon feature
Ubaldo Tiberi [Wed, 14 Aug 2024 12:41:02 +0000 (14:41 +0200)] 
runtime(termdebug): Fix wrong test for balloon feature

fixes: #15359
closes: #15487

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): Remove mentioning of the voting feature
RestorerZ [Wed, 14 Aug 2024 12:38:46 +0000 (14:38 +0200)] 
runtime(doc): Remove mentioning of the voting feature

closes: #15491

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): add help tags for json + markdown global variables
JJCUBER [Tue, 13 Aug 2024 21:42:36 +0000 (23:42 +0200)] 
runtime(doc): add help tags for json + markdown global variables

I added help tags for them in the syntax.txt file since this is the only
place they are mentioned.

closes: #15486

Signed-off-by: JJCUBER <34446698+JJCUBER@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0673: Vim9: too recursive func calls when calling super-class method v9.1.0673
Ernie Rael [Tue, 13 Aug 2024 21:27:22 +0000 (23:27 +0200)] 
patch 9.1.0673: Vim9: too recursive func calls when calling super-class method

Problem:  Vim9: too recursive func calls when calling super-class method
          with non-overriden super-call methods. (Aliaksei Budavei)
Solution: use interface method, when super is to be used (Ernie Rael)

When compiling "super.Func()" force class context to class that defines
function that is doing "super.Func()".
ISN_METHODCALL arg "cmf_is_super" for specific ufunc.

fixes: #15448
fixes: #15463 (2) super.method may not execute in context of defining
                  class
closes: #15477

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(syntax-tests): Facilitate the viewing of rendered screendumps
Aliaksei Budavei [Mon, 12 Aug 2024 16:37:15 +0000 (18:37 +0200)] 
runtime(syntax-tests): Facilitate the viewing of rendered screendumps

With the submitted "viewdumps.vim" script, a few manual
steps in typical workflows (see below) can be automated.
The updated "README.txt" contains additional information.

============================================================

Reviewing LOCAL failed syntax tests can be arranged as
follows:

1) Run tests and generate screendumps:
------------------------------------------------------------
cd /path/to/fork/runtime/syntax
make clean test
------------------------------------------------------------

2) Examine the screendumps from the "failed" directory:
------------------------------------------------------------
../../src/vim --clean -S testdir/viewdumps.vim
------------------------------------------------------------

============================================================

Reviewing UPLOADED failed syntax tests can be arranged as
follows (it can be further locally scripted):

1) Fetch an artifact with failed screendumps from
"github.com/vim/vim/actions/runs/A_ID/artifacts/B_ID".

2) Extract the archived files:
------------------------------------------------------------
unzip /tmp/failed-tests.zip -d /tmp
------------------------------------------------------------

3) Set up the "dumps" directory.  Create a symlink to
"/path/to/fork/dirs/dumps" in the extracted directories so
that term_dumpdiff() can be used.  (The lookup algorithm
resolves "dumps" for every loaded filename.  So, with
"/tmp/runtime/syntax/testdir/failed/*.dump" files passed
as script arguments, the algorithm will make the files in
"/tmp/runtime/syntax/testdir/dumps" queried.)
------------------------------------------------------------
cd /path/to/fork
ln -s $(pwd)/runtime/syntax/testdir/dumps \
  /tmp/runtime/syntax/testdir/dumps
------------------------------------------------------------

4) Examine the extracted screendumps:
------------------------------------------------------------
./src/vim --clean -S runtime/syntax/testdir/viewdumps.vim \
  /tmp/runtime/syntax/testdir/failed/*.dump
------------------------------------------------------------

5) Clean up:
------------------------------------------------------------
unlink /tmp/runtime/syntax/testdir/dumps
rm -rf /tmp/runtime
------------------------------------------------------------

============================================================

Reviewing SUBMITTED FOR PULL REQUEST syntax tests can be
arranged as follows (it can be further locally scripted):

1) List the fetched changeset and write the changed "dumps"
filenames to "/tmp/filelist":
------------------------------------------------------------
cd /path/to/fork
git switch prs/1234
git diff-index --relative=runtime/syntax/testdir/dumps/ \
  --name-only prs/1234~1 > /tmp/filelist
------------------------------------------------------------

2) Reconcile relative filepaths, and copy next-to-be-updated
"dumps" files in the "failed" directory (note the missing
new screendumps, if any):
------------------------------------------------------------
git switch master
cd runtime/syntax/testdir/dumps
cp -t ../failed $(cat /tmp/filelist)
------------------------------------------------------------

3) Remember about the introduced INVERTED relation between
"dumps" and "failed", i.e. the files to be committed are in
"dumps" already and their previous versions are in "failed";
therefore, copy the missing new screendumps from "dumps" to
"failed" (otherwise these won't be shown):
------------------------------------------------------------
git switch prs/1234
cp -t ../failed foo_10.dump foo_11.dump foo_12.dump
------------------------------------------------------------

4) Examine the screendumps from the "failed" directory (new
screendumps will be shown with no difference between their
versions):
------------------------------------------------------------
cd ..
../../../src/vim --clean -S viewdumps.vim
------------------------------------------------------------

closes: #15476

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): fix a few style issues
h-east [Mon, 12 Aug 2024 16:26:08 +0000 (18:26 +0200)] 
runtime(doc): fix a few style issues

closes: #15478

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0672: marker folds may get corrupted on undo v9.1.0672
Christian Brabandt [Sun, 11 Aug 2024 18:12:41 +0000 (20:12 +0200)] 
patch 9.1.0672: marker folds may get corrupted on undo

Problem:  marker folds may get corrupted on undo (Yousef Mohammed)
Solution: when adjusting folds, make sure that line1 is the lower limit
          and line2 is the upper line limit. In particular, line2 should
          not be able to get smaller than line1.

fixes: #15455
closes: #15466

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoProblem: crash with WinNewPre autocommand v9.1.0671
Christian Brabandt [Sun, 11 Aug 2024 18:09:17 +0000 (20:09 +0200)] 
Problem:  crash with WinNewPre autocommand

Problem:  crash with WinNewPre autocommand, because window
          structures are not yet safe to use
Solution: Don't trigger WinNewPre on :tabnew

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0670: po file encoding fails on *BSD during make v9.1.0670
RestorerZ [Sun, 11 Aug 2024 18:03:35 +0000 (20:03 +0200)] 
patch 9.1.0670: po file encoding fails on *BSD during make

Problem:  po file encoding fails on *BSD during make
Solution: instead of using `$<` make use of variable `$?` which should
          be equivalent when the rule is dependent on only a single
          file (RestorerZ).

closes: #15471

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agotranslation(it): Update Italian translation
Antonio Giovanni Colombo [Sun, 11 Aug 2024 17:49:16 +0000 (19:49 +0200)] 
translation(it): Update Italian translation

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agotranslation: Stop using msgconv
Ken Takata [Sun, 11 Aug 2024 17:06:58 +0000 (19:06 +0200)] 
translation: Stop using msgconv

It caused differences from Unix-like systems. Make sure that the same
files are generated both on Windows and Unix.

fixes: #14490
fixes: #14601
closes: #15469

Also
- update a few more auto-generated po files
- Make_mvc.mak work with Cygwin/MSYS2's gettext by using copy /b instead
  of copy /a

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0669: if_python: stable python ABI not used by default v9.1.0669
Ken Takata [Sun, 11 Aug 2024 16:41:41 +0000 (18:41 +0200)] 
patch 9.1.0669: if_python: stable python ABI not used by default

Problem:  stable python ABI not used by default
Solution: Enable stable python ABI v3.8 when building with python3/dyn
          by default, update the default Python3 version to 3.8 for
          MS-Windows (Ken Takata)

closes: #15470
related: #15457

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoUpdate .gitignore and .hgignore files
Ken Takata [Sun, 11 Aug 2024 16:38:19 +0000 (18:38 +0200)] 
Update .gitignore and .hgignore files

Ignore auto-generated executable files in src/po/

closes: #15472

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0668: build-error with python3.12 and stable ABI v9.1.0668
Ken Takata [Sat, 10 Aug 2024 07:44:20 +0000 (09:44 +0200)] 
patch 9.1.0668: build-error with python3.12 and stable ABI

Problem:  build-error with python3.12 and stable ABI (zdohnal)
Solution: Add type casts, define Py_INCREF for Python3.12 and higher
          (Ken Takata)

fixes: #15460

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agotranslations: Update generated po files
Ken Takata [Sat, 10 Aug 2024 07:38:24 +0000 (09:38 +0200)] 
translations: Update generated po files

Some auto-generated po files cause differences after building Vim.
Update them.

closes: #15468

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0667: Some other options reset curswant unnecessarily when set v9.1.0667
zeertzjq [Sat, 10 Aug 2024 07:35:20 +0000 (09:35 +0200)] 
patch 9.1.0667: Some other options reset curswant unnecessarily when set

Problem:  Some other options reset curswant unnecessarily when set.
          (Andrew Haust)
Solution: Don't reset curswant when setting 'comments', 'commentstring'
          or 'define' (zeertzjq)

fixes: #15462
closes: #15467

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0666: assert_equal() doesn't show multibyte string correctly v9.1.0666
zeertzjq [Fri, 9 Aug 2024 17:52:10 +0000 (19:52 +0200)] 
patch 9.1.0666: assert_equal() doesn't show multibyte string correctly

Problem:  assert_equal() doesn't show multibyte string correctly
Solution: Properly advance over a multibyte char.
          (zeertzjq)

closes: #15456

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): clarify directory of Vim's executable vs CWD
zeertzjq [Thu, 8 Aug 2024 19:12:15 +0000 (21:12 +0200)] 
runtime(doc): clarify directory of Vim's executable vs CWD

According to :h win32-PATH, "the same directory as Vim" means the same
directory as the Vim executable, not Vim's current directory.  In patch
8.2.4860 these two concepts were mixed up.

closes: #15451

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0665: Locked variable can be changed in a :for loop v9.1.0665
zeertzjq [Thu, 8 Aug 2024 19:05:57 +0000 (21:05 +0200)] 
patch 9.1.0665: Locked variable can be changed in a :for loop

Problem:  Locked variable can be changed in a :for loop.
Solution: Always do a full permission check on the first loop iteration
          where ASSIGN_DECL is not set (zeertzjq).

related: #12470
fixes: #15450
closes: #15454

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(proto): Add indent script for protobuf filetype
David Pedersen [Wed, 7 Aug 2024 19:23:59 +0000 (21:23 +0200)] 
runtime(proto): Add indent script for protobuf filetype

closes: #15446

Signed-off-by: David Pedersen <limero@me.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0664: MS-Windows: console vim did not switch back to main screen on exit v9.1.0664
Ken Takata [Wed, 7 Aug 2024 19:18:24 +0000 (21:18 +0200)] 
patch 9.1.0664: MS-Windows: console vim did not switch back to main screen on exit

Problem:  MS-Windows: console vim did not switch back to main screen on
          exit
Solution: switch back to main screen on exit (Ken Takata)

`vim.exe --cmd quit` quitted without switching back to the main screen
buffer and the alternate screen buffer was kept shown.

Restore the main screen buffer even when termcap mode has not been
started.

closes: #15443

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): zip plugin does not work with Vim 9.0
Christian Brabandt [Wed, 7 Aug 2024 06:13:32 +0000 (08:13 +0200)] 
runtime(zip): zip plugin does not work with Vim 9.0

Problem:  zip plugin does not work with Vim 9.0
          because of :defer
Solution: raise minimum Vim version to Vim 9.1

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0663: tests: zip test still resets 'shellslash' option v9.1.0663
Christian Brabandt [Mon, 5 Aug 2024 19:08:42 +0000 (21:08 +0200)] 
patch 9.1.0663: tests: zip test still resets 'shellslash' option

Problem:  tests: zip test still resets 'shellslash' option
Solution: Remove resetting the 'shellslash' option, the zip
          plugin should now be able to handle this options

closes: #15434

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): use defer to restore old settings
Christian Brabandt [Tue, 6 Aug 2024 16:50:59 +0000 (18:50 +0200)] 
runtime(zip): use defer to restore old settings

Problem:  RestoreOpts() plugin called too often
Solution: use :defer to have the RestoreOpts() function
          called when the function returns automatically

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): add a generic Message function
Christian Brabandt [Tue, 6 Aug 2024 16:35:00 +0000 (18:35 +0200)] 
runtime(zip): add a generic Message function

Problem:  the zip plugin duplicates a lot of code for displaying
          warnings/errors
Solution: refactor common code into a generic Mess() function

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): increment base version of zip plugin
Christian Brabandt [Mon, 5 Aug 2024 19:26:46 +0000 (21:26 +0200)] 
runtime(zip): increment base version of zip plugin

Problem:  the zip plugin version is still v33
Solution: increment the version to v34

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): raise minimum Vim version to v9.0
Christian Brabandt [Mon, 5 Aug 2024 19:16:11 +0000 (21:16 +0200)] 
runtime(zip): raise minimum Vim version to v9.0

Problem:  the zip plugin uses features of Vim 9.0, but
          checks for a Vim version >= 7.2
          (interpolated strings and readblob() function)
Solution: raise the minimum Vim version to v9.0

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): refactor save and restore of options
Christian Brabandt [Mon, 5 Aug 2024 19:00:07 +0000 (21:00 +0200)] 
runtime(zip): refactor save and restore of options

Problem:  zip plugin has no way to set/restore option values
Solution: Add the SetSaneOpts() and RestoreOpts() functions,
          so options that cause issues are set to sane values
          and restored back to their initial values later on.
          (this affects the 'shellslash' option on windows, which also
          changes how the shellescape() function works)

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): remove test for fnameescape
Christian Brabandt [Mon, 5 Aug 2024 18:52:50 +0000 (20:52 +0200)] 
runtime(zip): remove test for fnameescape

Problem:  zip plugin tests for fnameescape() function
Solution: Remove the check, fnameescape() has been available since
          7.1.299, it should nowadays always be available

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): use :echomsg instead of :echo
Christian Brabandt [Mon, 5 Aug 2024 18:51:47 +0000 (20:51 +0200)] 
runtime(zip): use :echomsg instead of :echo

Problem:  zip plugin uses :echo which does not store messages
Solution: use :echomsg instead of :echo so that messages are stored in
          the message history

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): clean up and remove comments
Christian Brabandt [Mon, 5 Aug 2024 18:47:34 +0000 (20:47 +0200)] 
runtime(zip): clean up and remove comments

Problem:  zip plugin contains a lot of comments from the decho plugin
Solution: Clean up and remove un-used comments

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0662: filecopy() may return wrong value when readlink() fails v9.1.0662
zeertzjq [Tue, 6 Aug 2024 17:51:09 +0000 (19:51 +0200)] 
patch 9.1.0662: filecopy() may return wrong value when readlink() fails

Problem:  filecopy() may return wrong value when readlink() fails.
Solution: Set ret to -1 so that 0 is returned when readlink() fails.
          (zeertzjq)

closes: #15438

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0661: the zip plugin is not tested. v9.1.0661
Damien [Mon, 5 Aug 2024 18:24:11 +0000 (20:24 +0200)] 
patch 9.1.0661: the zip plugin is not tested.

Problem:  the zip plugin is not tested.
Solution: include tests (Damien)

closes: #15411

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): Fix for FreeBSD's unzip command
Damien [Mon, 5 Aug 2024 18:21:18 +0000 (20:21 +0200)] 
runtime(zip): Fix for FreeBSD's unzip command

Problem:  Cannot browse zipfiles with the unzip program found
  on FreeBSD.
Solution: Adjust command arguments.

Unzip found on FreeBSD complain about missing argument with the
zipinfo modifier '-Z -1'. Joining arguments seems to work
for both implementations.

Also change `:sil!` to `:sil` so that error messages are properly
reported (per review of Christian Brabandt).

related: #15411

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): capitalize correctly
Christian Brabandt [Mon, 5 Aug 2024 15:36:09 +0000 (17:36 +0200)] 
runtime(doc): capitalize correctly

* do not capitalize after a double colon when introducing a list
* Capitalize a header line

closes: #15433

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0660: MS-Windows: Shift-Insert does work on old conhost v9.1.0660
Christopher Plewright [Sun, 4 Aug 2024 17:57:44 +0000 (19:57 +0200)] 
patch 9.1.0660: MS-Windows: Shift-Insert does work on old conhost

Problem:  MS-Windows: Shift-Insert does not work on old conhost
          (Nick Jensen, after 9.0.1146)
Solution: handle Shift-Insert specifically
          (Christian Plewright)

fixes: #15326
closes: #15430

Signed-off-by: Christopher Plewright <chris@createng.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agotranslation(it): update Italian manpage
Antonio Giovanni Colombo [Sun, 4 Aug 2024 16:52:55 +0000 (18:52 +0200)] 
translation(it): update Italian manpage

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr
Yinzuo Jiang [Sun, 4 Aug 2024 16:47:25 +0000 (18:47 +0200)] 
runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr

Problem:

- Current lua indentexpr does not indent for '(' ')'.
- Missing indent test for lua.

Solution:

- Match '(', ')' in `function GetLuaIndentIntern`.
- Add an indent test for lua.

closes: #15364

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(zip): escape '[' on Unix as well
zeertzjq [Sun, 4 Aug 2024 16:35:50 +0000 (18:35 +0200)] 
runtime(zip): escape '[' on Unix as well

Problem:  After 6f1cbfc9ab483a09877e153ad130164875c40b1d fnameescape()
          is no longer called on the name of the file to be extracted.
          However, while spaces indeed don't need to be escaped, unzip
          treats '[' as a wildcard character, so it need to be escaped.
Solution: Escape '[' on both MS-Windows and Unix.

From the docs it seems '*' and '?' also need escaping, but they seem to
actually work without escaping.

fixes: neovim/neovim#29977
closes: #15427

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0659: MS-Windows: MSVC Makefile is a bit hard to read v9.1.0659
Ken Takata [Sun, 4 Aug 2024 16:31:48 +0000 (18:31 +0200)] 
patch 9.1.0659: MS-Windows: MSVC Makefile is a bit hard to read

Problem:  MS-Windows: MSVC Makefile is a bit hard to read
          (after v9.1.0657)
Solution: indent the if/else statements to improve readability
          (Ken Takata)

closes: #15428

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): fix typo in syntax.txt
Jon Parise [Sat, 3 Aug 2024 15:40:58 +0000 (17:40 +0200)] 
runtime(doc): fix typo in syntax.txt

closes: #15425

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): -x is only available when compiled with crypt feature
Christian Brabandt [Sat, 3 Aug 2024 13:40:19 +0000 (15:40 +0200)] 
runtime(doc): -x is only available when compiled with crypt feature

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0658: Coverity warns about dereferencing NULL pointer. v9.1.0658
zeertzjq [Sat, 3 Aug 2024 12:52:00 +0000 (14:52 +0200)] 
patch 9.1.0658: Coverity warns about dereferencing NULL pointer.

Problem:  Coverity warns about dereferencing NULL pointer.
Solution: Bail out if vim_strrchr() returns NULL.
          (zeertzjq)

________________________________________________________________________________________________________
*** CID 1616019:    (NULL_RETURNS)
/src/help.c: 834 in fix_help_buffer()
828                                  continue;
829                              t2 = gettail(f2);
830                              e2 = vim_strrchr(t2, '.');
831                              if (e1 - f1 != e2 - f2
832                                          || fnamencmp(f1, f2, e1 - f1) != 0)
833                                  continue;
>>>     CID 1616019:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "(char_u *)e2" when calling "vim_fnamecmp".
834                              if (fnamecmp(e1, ".txt") == 0
835                                             && fnamecmp(e2, fname + 4) == 0)
836                                  // use .abx instead of .txt
837                                  VIM_CLEAR(fnames[i1]);
838                          }
839                      }
/src/help.c: 816 in fix_help_buffer()
810                      // the same directory.
811                      for (i1 = 0; i1 < fcount; ++i1)
812                      {
813                          f1 = fnames[i1];
814                          t1 = gettail(f1);
815                          e1 = vim_strrchr(t1, '.');
>>>     CID 1616019:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "(char_u *)e1" when calling "vim_fnamecmp".
816                          if (fnamecmp(e1, ".txt") != 0
817                                             && fnamecmp(e1, fname + 4) != 0)
818                          {
819                              // Not .txt and not .abx, remove it.
820                              VIM_CLEAR(fnames[i1]);
821                              continue;

closes: #15420

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(colors): update Todo highlight in habamax colorscheme
Maxim Kim [Sat, 3 Aug 2024 12:48:16 +0000 (14:48 +0200)] 
runtime(colors): update Todo highlight in habamax colorscheme

Magenta background Todo is too bright and might interfere with DiffText.
Make it less strong, without background, bold.

closes: #15423

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0657: MS-Windows: MSVC build time can be optimized v9.1.0657
Ken Takata [Sat, 3 Aug 2024 12:40:35 +0000 (14:40 +0200)] 
patch 9.1.0657: MS-Windows: MSVC build time can be optimized

Problem:  MS-Windows: MSVC build time can be optimized
Solution: Stop using Powershell, show detected version, read _MSC_VER
          and _MSC_FULL_VER in a single cl execution. (Ken Takata)

closes: #15421

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0656: MS-Windows: MSVC Makefile CPU handling can be improved v9.1.0656
Ken Takata [Sat, 3 Aug 2024 12:34:33 +0000 (14:34 +0200)] 
patch 9.1.0656: MS-Windows: MSVC Makefile CPU handling can be improved

Problem:  MS-Windows: MSVC Makefile CPU handling can be improved
Solution: Update Makefile and also remove some old code
          (Ken Takata)

* The variable `ASSEMBLY_ARCHITECTURE` was originally used to generate
  the manifest file. However, this was removed in v7.0.198.  Remove
  `ASSEMBLY_ARCHITECTURE` and use `CPU` instead.
* `/arch:AVX512` is available starting from Visual C++ 2017.
* ARM64 was not considered when validating CPUNR.
  Skip the validation for ARM64 for now.
* Remove old code for VC6/7 and Win9x.

closes: #15422

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0655: filetype: goaccess config file not recognized v9.1.0655
Adam Monsen [Fri, 2 Aug 2024 17:54:15 +0000 (19:54 +0200)] 
patch 9.1.0655: filetype: goaccess config file not recognized

Problem:  filetype: goaccess config file not recognized
Solution: detect 'goaccess.conf' as goaccess filetype, also
          include a basic syntax and ftplugin (Adam Monsen)

Add syntax highlighting for GoAccess configuration file.

GoAccess is a real-time web log analyzer and interactive viewer that
runs in a terminal in *nix systems or through your browser.

GoAccess home page: https://goaccess.io

closes: #15414

Signed-off-by: Adam Monsen <haircut@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoCI: update clang compiler to version 20
Philip H [Fri, 2 Aug 2024 17:45:52 +0000 (19:45 +0200)] 
CI: update clang compiler to version 20

closes: #15416

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(netrw): honor `g:netrw_alt{o,v}` for `:{S,H,V}explore`
Ivan Shapovalov [Fri, 2 Aug 2024 17:43:12 +0000 (19:43 +0200)] 
runtime(netrw): honor `g:netrw_alt{o,v}` for `:{S,H,V}explore`

Make `:Sexplore` / `:Hexplore` / `:Vexplore` commands honor the user
`&split{right,below}` settings (or netrw-specific `g:netrw_alt{o,v}`)
instead of hardcoding a split direction. Similarly, update banged
variants of the two latter commands to follow the inverted preference.

closes: #15417

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0654: completion does not respect completeslash with fuzzy v9.1.0654
glepnir [Fri, 2 Aug 2024 17:14:38 +0000 (19:14 +0200)] 
patch 9.1.0654: completion does not respect completeslash with fuzzy

Problem:  completion does not respect completeslash with fuzzy
          (egesip)
Solution: Change path separator on Windows, depending on 'completeslash'
          option value (glepnir)

fixes: #15392
closes: #15418

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0653: Patch v9.1.0648 not completely right v9.1.0653
Christian Brabandt [Fri, 2 Aug 2024 17:06:41 +0000 (19:06 +0200)] 
patch 9.1.0653: Patch v9.1.0648 not completely right

Problem:  Patch v9.1.0648 not completely right
          (zeertzjq)
Solution: Remove always true condition

closes: #15415

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0652: too many strlen() calls in syntax.c v9.1.0652
John Marriott [Thu, 1 Aug 2024 21:01:25 +0000 (23:01 +0200)] 
patch 9.1.0652: too many strlen() calls in syntax.c

Problem:  too many strlen() calls in syntax.c
Solution: refactor code to reduce the number or strlen() calls,
          get rid of un-used SYN_NAMELEN macro
          (John Marriott)

closes: #15368

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0651: ex: trailing dot is optional for :g and :insert/:append v9.1.0651
Mohamed Akram [Thu, 1 Aug 2024 20:53:01 +0000 (22:53 +0200)] 
patch 9.1.0651: ex: trailing dot is optional for :g and :insert/:append

Problem:  ex: trailing dot is optional for :g and :insert/:append
Solution: don't break out early, when the next command is empty.
          (Mohamed Akram)

The terminating period is optional for the last command in a global
command list.

closes: #15407

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0650: Coverity warning in cstrncmp() v9.1.0650
zeertzjq [Thu, 1 Aug 2024 20:48:53 +0000 (22:48 +0200)] 
patch 9.1.0650: Coverity warning in cstrncmp()

Problem:  Coverity warning in cstrncmp()
          (after v9.1.0645)
Solution: Change the type of n2 to int.
          (zeertzjq)

________________________________________________________________________________________________________
*** CID 1615684:  Integer handling issues  (INTEGER_OVERFLOW)
/src/regexp.c: 1757 in cstrncmp()
1751                 n1 -= mb_ptr2len(s1);
1752                 MB_PTR_ADV(p);
1753                 n2++;
1754             }
1755             // count the number of bytes to advance the same number of chars for s2
1756             p = s2;
>>>     CID 1615684:  Integer handling issues  (INTEGER_OVERFLOW)
>>>     Expression "n2--", which is equal to 18446744073709551615, where "n2" is known to be equal to 0, underflows the type that receives it, an unsigned integer 64 bits wide.
1757             while (n2-- > 0 && *p != NUL)
1758                 MB_PTR_ADV(p);
1759
1760             n2 = p - s2;
1761
1762             result = MB_STRNICMP2(s1, s2, *n, n2);

closes: #15409

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0649: Wrong comment for "len" argument of call_simple_func() v9.1.0649
zeertzjq [Thu, 1 Aug 2024 20:46:54 +0000 (22:46 +0200)] 
patch 9.1.0649: Wrong comment for "len" argument of call_simple_func()

Problem:  Wrong comment for "len" argument of call_simple_func().
Solution: Remove the "or -1 to use strlen()".  Also change its type to
          size_t to remove one cast. (zeertzjq)

closes: #15410

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0648: [security] double-free in dialog_changed() v9.1.0648
Christian Brabandt [Thu, 1 Aug 2024 20:10:28 +0000 (22:10 +0200)] 
patch 9.1.0648: [security] double-free in dialog_changed()

Problem:  [security] double-free in dialog_changed()
          (SuyueGuo)
Solution: Only clear pointer b_sfname pointer, if it is different
          than the b_ffname pointer.  Don't try to free b_fname,
          set it to NULL instead.

fixes: #15403

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-46pw-v7qw-xc2f

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0647: [security] use-after-free in tagstack_clear_entry v9.1.0647
Christian Brabandt [Thu, 1 Aug 2024 18:16:51 +0000 (20:16 +0200)] 
patch 9.1.0647: [security] use-after-free in tagstack_clear_entry

Problem:  [security] use-after-free in tagstack_clear_entry
          (Suyue Guo )
Solution: Instead of manually calling vim_free() on each of the tagstack
          entries, let's use tagstack_clear_entry(), which will
          also free the stack, but using the VIM_CLEAR macro,
          which prevents a use-after-free by setting those pointers
          to NULL

This addresses CVE-2024-41957

Github advisory:
https://github.com/vim/vim/security/advisories/GHSA-f9cr-gv85-hcr4

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(doc): re-format tag example lines, mention ctags --list-kinds
Christian Brabandt [Thu, 1 Aug 2024 07:25:58 +0000 (09:25 +0200)] 
runtime(doc): re-format tag example lines, mention ctags --list-kinds

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agopatch 9.1.0646: Vim9: imported function may not be found v9.1.0646
Ernie Rael [Wed, 31 Jul 2024 20:18:11 +0000 (22:18 +0200)] 
patch 9.1.0646: Vim9: imported function may not be found

Problem:  Vim9: imported function may not be found
Solution: Try to find the function by name (Ernie Rael)

fixes: #15381
closes: #15382

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(java): Document "g:java_space_errors" and "g:java_comment_strings"
Aliaksei Budavei [Wed, 31 Jul 2024 20:16:08 +0000 (22:16 +0200)] 
runtime(java): Document "g:java_space_errors" and "g:java_comment_strings"

closes: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(java): Cluster optional group definitions and their group links
Aliaksei Budavei [Wed, 31 Jul 2024 20:15:16 +0000 (22:15 +0200)] 
runtime(java): Cluster optional group definitions and their group links

And keep non-optional group links at the end of the file.

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(java): Tidy up the syntax file
Aliaksei Budavei [Wed, 31 Jul 2024 20:14:37 +0000 (22:14 +0200)] 
runtime(java): Tidy up the syntax file

- Prefix all global variables with "g:".
- Add spaces around each variable assignment operator.
- Remove extraneous whitespace characters.
- Remove a spurious _serializable_ Java keyword (since v1.1,
  java.io.Serializable and java.io.Externalizable interfaces
  provide an API for object serialization; see vim-6-0j).
- Normalise the syntax definition argument order by making
  _contained_ the first argument of each such definition.
- Normalise the argument tabulation for highlighting group
  definitions.

Reference:
https://web.archive.org/web/20010821025330/java.sun.com/docs/books/jls/first_edition/html/1.1Update.html

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(java): Tidy up the documentation for "ft-java-syntax"
Aliaksei Budavei [Wed, 31 Jul 2024 20:13:25 +0000 (22:13 +0200)] 
runtime(java): Tidy up the documentation for "ft-java-syntax"

- Reword a few sentences and reformat a few paragraphs.
- Supply absent capitalisation and punctuation.
- Make listed highlighting groups and code stand out.
- Prefix all Java-related global variables with "g:".
- Add spaces around each variable assignment operator.
- Acknowledge that some Javadoc variables are maintained in
  the HTML syntax file.

Also, move the overridable _default_ HTML group links before
the HTML syntax file inclusion in order to implement the
documented diverged settings.

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(colors): update habamax scheme - tweak diff/search/todo colors
Maxim Kim [Wed, 31 Jul 2024 20:09:24 +0000 (22:09 +0200)] 
runtime(colors): update habamax scheme - tweak diff/search/todo colors

- Make diff colors more accessible, Green for added, Red for deleted, Blue for Changed
- Change Search to blue to be visible with Diff colors
- Change Todo to bright magenta

closes: #15400

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(nohlsearch): add missing loaded_hlsearch guard
Maxim Kim [Wed, 31 Jul 2024 20:07:43 +0000 (22:07 +0200)] 
runtime(nohlsearch): add missing loaded_hlsearch guard

related: #15039
closes: #15402

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(kivy): Updated maintainer info for syntax script
Corey Prophitt [Wed, 31 Jul 2024 19:53:45 +0000 (21:53 +0200)] 
runtime(kivy): Updated maintainer info for syntax script

closes: #15405

Signed-off-by: Corey Prophitt <git@prophitt.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoMaintainers: Add maintainer for ondir ftplugin + syntax files
Jon Parise [Tue, 30 Jul 2024 19:21:43 +0000 (21:21 +0200)] 
Maintainers: Add maintainer for ondir ftplugin + syntax files

closes: #15397

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 months agoruntime(netrw): removing trailing slash when copying files in same directory
Travis Shelton [Tue, 30 Jul 2024 19:08:56 +0000 (21:08 +0200)] 
runtime(netrw): removing trailing slash when copying files in same directory

closes: #14756

Signed-off-by: Travis Shelton <tshelton.mail@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>