]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
11 months agopatch 9.1.0707: [security]: invalid cursor position may cause a crash v9.1.0707
Christian Brabandt [Sat, 31 Aug 2024 15:58:16 +0000 (17:58 +0200)] 
patch 9.1.0707: [security]: invalid cursor position may cause a crash

Problem:  [security]: invalid cursor position may cause a crash
          (after v9.1.0038)
Solution: Set cursor to the last character in a line, if it would
          otherwise point to beyond the line; no tests added, as it
          is unclear how to reproduce this.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0706: tests: test_gettext fails when using shadow dir v9.1.0706
James McCoy [Sat, 31 Aug 2024 15:10:26 +0000 (17:10 +0200)] 
patch 9.1.0706: tests: test_gettext fails when using shadow dir

Problem:  tests: test_gettext fails when using shadow dir
Solution: Link the ru_RU directory into the shadow testdir
          (James McCoy)

Link the ru_RU directory into shadow testdir

When the ru_RU locale is present, but the build is using a shadowdir,
then test_gettext_cp1251.vim and test_gettext_utf8.vim fail:

    From test_gettext_cp1251.vim:
    Executed Test_gettext()                            in   0.000848 seconds
    Executed 1 test                          in   0.007010 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

    From test_gettext_utf8.vim:
    Executed Test_gettext()                            in   0.000908 seconds
    Executed 1 test                          in   0.007339 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

This is because it's unable to load the translations from the ru_RU test
directory, since it wasn't symlinked into the shadow directory.

closes: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoCI: Install locales-all package
James McCoy [Sat, 31 Aug 2024 15:13:10 +0000 (17:13 +0200)] 
CI: Install locales-all package

The test_gettext* files need specific locales available to exercise
their tests.

related: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0705: Sorting of fuzzy filename completion is not stable v9.1.0705
zeertzjq [Sat, 31 Aug 2024 15:05:39 +0000 (17:05 +0200)] 
patch 9.1.0705: Sorting of fuzzy filename completion is not stable

Problem:  Sorting of fuzzy filename completion is not stable
Solution: Compare indexes when scores are equal.  Fix some typos.
          (zeertzjq)

closes: #15593

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(pt): update Portuguese/Brazilian menu translation
JNylson [Sat, 31 Aug 2024 15:03:13 +0000 (17:03 +0200)] 
translation(pt): update Portuguese/Brazilian menu translation

closes: #15592

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(vim): Update base-syntax, match bracket mark ranges
Doug Kearns [Sat, 31 Aug 2024 14:57:32 +0000 (16:57 +0200)] 
runtime(vim): Update base-syntax, match bracket mark ranges

Match '(,'),'[,'],'{, and '} marks in Ex command ranges.

Thanks to Maxim Kim.

Fixes #15332.
Closes #15337.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): Update :help :command-complete list
Doug Kearns [Sat, 31 Aug 2024 14:44:14 +0000 (16:44 +0200)] 
runtime(doc): Update :help :command-complete list

closes: #15602

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
11 months agopatch 9.1.0704: inserting with a count is inefficient v9.1.0704
Ken Takata [Sat, 31 Aug 2024 14:35:06 +0000 (16:35 +0200)] 
patch 9.1.0704: inserting with a count is inefficient

Problem:  inserting with a count is inefficient
Solution: Disable calculation of the cursor position and topline, if a
          count has been used (Ken Takata)

Optimize insertion when using :normal 10000ix.

This patch optimizes the insertion with a large count (e.g. `:normal
10000ix`).

It seems that calculation of the cursor position for a long line is slow
and it takes O(n^2). Disable the calculation if not needed.

Before:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m1.879s
user    0m1.328s
sys     0m0.139s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m5.574s
user    0m5.421s
sys     0m0.093s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m23.588s
user    0m23.187s
sys     0m0.140s
```

After:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m0.187s
user    0m0.046s
sys     0m0.093s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m0.217s
user    0m0.046s
sys     0m0.108s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m0.278s
user    0m0.093s
sys     0m0.140s

$ time ./vim --clean -c 'normal 80000ix' -cq!
real    0m0.494s
user    0m0.311s
sys     0m0.140s

$ time ./vim --clean -c 'normal 160000ix' -cq!
real    0m1.302s
user    0m1.140s
sys     0m0.094s
```

closes: #15588

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): use mkdir -p to save a command
Ughur Alakbarov [Sat, 31 Aug 2024 14:12:39 +0000 (16:12 +0200)] 
runtime(doc): use mkdir -p to save a command

closes: #15599

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ughur Alakbarov <58857108+ugur-a@users.noreply.github.com>
11 months agopatch 9.1.0703: crash with 2byte encoding and glob2regpat() v9.1.0703
Christian Brabandt [Thu, 29 Aug 2024 20:12:05 +0000 (22:12 +0200)] 
patch 9.1.0703: crash with 2byte encoding and glob2regpat()

Problem:  possible crash with 2-byte encoding and glob2regpat()
          (after v9.1.0700, v9.1.0702)
Solution: include both bytes for a multi-byte character for an
          escaped character

closes: #15590

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(hollywood): update syn highlight for If-Then statements and For-In-Loops
Tom Crecelius [Thu, 29 Aug 2024 20:08:20 +0000 (22:08 +0200)] 
runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops

Improving syntax highlighting by allowing numbers, - and a $ as suffix
in user constants and by allowing hwConstants in If-Then statements

closes: #15059

Signed-off-by: Tom Crecelius <holly@net-eclipse.net>
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0702: Patch 9.1.0700 broke CI v9.1.0702
Christian Brabandt [Wed, 28 Aug 2024 21:46:53 +0000 (23:46 +0200)] 
patch 9.1.0702: Patch 9.1.0700 broke CI

Problem:  Patch 9.1.0700 broke CI
Solution: Revert for now

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0701: crash with NFA regex engine when searching for composing chars v9.1.0701
Christian Brabandt [Wed, 28 Aug 2024 21:17:52 +0000 (23:17 +0200)] 
patch 9.1.0701: crash with NFA regex engine when searching for composing chars

Problem:  crash with NFA regex engine when searching for composing chars
          (SuyueGuo)
Solution: When there is no composing character, break out of the loop
          and check that out1 state is not null

fixes: #15583

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0700: crash with 2byte encoding and glob2regpat() v9.1.0700
Christian Brabandt [Wed, 28 Aug 2024 20:08:35 +0000 (22:08 +0200)] 
patch 9.1.0700: crash with 2byte encoding and glob2regpat()

Problem:  possible crash with 2byte encoding and glob2regpat()
Solution: Skip over character, if it is multi-byte character

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0699: "dvgo" is not always an inclusive motion v9.1.0699
Christian Brabandt [Wed, 28 Aug 2024 18:39:24 +0000 (20:39 +0200)] 
patch 9.1.0699: "dvgo" is not always an inclusive motion

Problem:  "dvgo" is not always an inclusive motion
          (Iain King-Speir)
Solution: initialize the inclusive flag to false

fixes: #15580
closes: #15582

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(java): Provide support for syntax preview features
Aliaksei Budavei [Tue, 27 Aug 2024 20:32:13 +0000 (22:32 +0200)] 
runtime(java): Provide support for syntax preview features

Introduce a new API variable "g:java_syntax_previews" whose
value must be a list of syntax preview feature numbers.

Enumerate the currently supported numbers in a table at the
end of the documentation entry for "ft-java-syntax".

Also, disable the recognition of String Templates.  Despite
the withdrawal of this preview feature in its proposed form
from the upcoming JDK 23 release and the fact that the JDK
22 release is coming to EOL this September, an earlier
iteration of this preview feature was included in JDK 21
(LTS) whose EOL is projected to fall due in late 2028 and,
therefore, retain the current implementation.

Define "g:java_syntax_previews" and include number 430 in
its list to enable the recognition of String Templates:
------------------------------------------------------------
let g:java_syntax_previews = [430]
------------------------------------------------------------

References:
https://openjdk.org/jeps/430 (Preview)
https://openjdk.org/jeps/459 (Second Preview)
https://openjdk.org/jeps/465 (Third Preview)
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html

closes: #15579

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone v9.1.0698
zeertzjq [Mon, 26 Aug 2024 16:45:37 +0000 (18:45 +0200)] 
patch 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone

Problem:  tests: "Untitled" file not removed when running Test_crash1_3 alone
          with TEST_FILTER (after v9.1.0695)
Solution: Use a TearDown function instead of another test.
          (zeertzjq)

closes: #15578
closes: #15577

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf v9.1.0697
Christian Brabandt [Sun, 25 Aug 2024 19:33:03 +0000 (21:33 +0200)] 
patch 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf

Problem:  heap-buffer-overflow in ins_typebuf
          (SuyueGuo)
Solution: When flushing the typeahead buffer, validate that there
          is enough space left

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0696: installing runtime files fails when using SHADOWDIR v9.1.0696
James McCoy [Sun, 25 Aug 2024 18:22:11 +0000 (20:22 +0200)] 
patch 9.1.0696: installing runtime files fails when using SHADOWDIR

Problem:  installing runtime files fails when using SHADOWDIR
Solution: revert part of v9.1.0609, since runtime/doc/Makefile's default
          value for VIMPROG does not work if vim was built in a SHADOWDIR.
          (James McCoy)

closes: #15575

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): fix typo
glepnir [Sun, 25 Aug 2024 13:49:54 +0000 (15:49 +0200)] 
runtime(doc): fix typo

closes: #15572

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0695: tests: test_crash leaves Untitled file around v9.1.0695
Christian Brabandt [Sat, 24 Aug 2024 15:34:19 +0000 (17:34 +0200)] 
patch 9.1.0695: tests: test_crash leaves Untitled file around

Problem:  tests: test_crash leaves Untitled file around
Solution: cleanup at the end of the test_crash.vim test file

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(br): Update Brazilian translation
JNylson [Sat, 24 Aug 2024 14:42:21 +0000 (16:42 +0200)] 
translation(br): Update Brazilian translation

The previous patch 18de7adaf43 somehow wasn't correctly applied and
broke the check script

related: #15558

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
11 months agotranslation(pt): Update menu_pt_br
JNylson [Sat, 24 Aug 2024 14:35:33 +0000 (16:35 +0200)] 
translation(pt): Update menu_pt_br

closes: #15566

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0694: matchparen is slow on a long line v9.1.0694
zeertzjq [Sat, 24 Aug 2024 14:32:24 +0000 (16:32 +0200)] 
patch 9.1.0694: matchparen is slow on a long line

Problem:  The matchparen plugin is slow on a long line.
Solution: Don't use a regexp to get char at and before cursor.
          (zeertzjq)

Example:

```vim
  call setline(1, repeat(' foobar', 100000))
  runtime plugin/matchparen.vim
  normal! $hhhhhhhh
```

closes: #15568

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0693: Configure doesn't show result when not using python3 stable abi v9.1.0693
Ken Takata [Sat, 24 Aug 2024 14:27:50 +0000 (16:27 +0200)] 
patch 9.1.0693: Configure doesn't show result when not using python3 stable abi

Problem:  Configure doesn't show result when not using python3 stable
          abi (after v9.1.0691)
Solution: Add back AC_MSG_RESULT() (Ken Takata)

related: #15555

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0692: Wrong patlen value in ex_substitute() v9.1.0692
zeertzjq [Sat, 24 Aug 2024 09:33:39 +0000 (11:33 +0200)] 
patch 9.1.0692: Wrong patlen value in ex_substitute()

Problem:  Wrong patlen value in ex_substitute() (after 9.1.0426).
Solution: Compute patlen after finding end separator.
          (zeertzjq)

Add a more explicit test.  The test already passes as the only case
where a overlarge patlen value matters was fixed by patch 9.1.0689.

closes: #15565

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0691: python3: stable-abi may cause segfault on Python 3.11 v9.1.0691
Christian Brabandt [Fri, 23 Aug 2024 16:39:08 +0000 (18:39 +0200)] 
patch 9.1.0691: python3: stable-abi may cause segfault on Python 3.11

Problem:  python3: stable-abi may cause segfault on Python 3.11
          (Audrius Kažukauskas, after v9.1.0668)
Solution: do not enable the stable Python ABI by default, only when used
          with --with-python3-stable-abi argument is given

related: #15543

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(vim): Update base-syntax, match :loadkeymap after colon and bar
Doug Kearns [Fri, 23 Aug 2024 16:37:55 +0000 (18:37 +0200)] 
runtime(vim): Update base-syntax, match :loadkeymap after colon and bar

Match :loadkeymap after Ex colons and bars.

Don't generate :loadkeymap as it is matched with a custom syntax group.

closes: #15554

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(mane): Improve <Plug>ManBS mapping
John M Devin [Fri, 23 Aug 2024 16:34:41 +0000 (18:34 +0200)] 
runtime(mane): Improve <Plug>ManBS mapping

related: #15547 and #15538
closes: #15556

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0690: cannot set special highlight kind in popupmenu v9.1.0690
glepnir [Fri, 23 Aug 2024 16:31:06 +0000 (18:31 +0200)] 
patch 9.1.0690: cannot set special highlight kind in popupmenu

Problem:  cannot set special highlight kind in popupmenu
Solution: add kind_hlgroup item to complete function
          (glepnir)

closes: #15561

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(pt): Revert and fix wrong Portuguese menu translation files
Yee Cheng Chin [Fri, 23 Aug 2024 16:12:05 +0000 (18:12 +0200)] 
translation(pt): Revert and fix wrong Portuguese menu translation files

In #14674, the Brazilian and Portuguese localization files were
erroneously combined, even though those are separate locales. This
reverts that change, but maintains some of the original typo fixes in
it.

closes: #15557
related: #14674

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(pt): revert Portuguese menu translation
Yee Cheng Chin [Fri, 23 Aug 2024 16:09:47 +0000 (18:09 +0200)] 
translation(pt): revert Portuguese menu translation

This reverts commit d88a39e0d69ee0568475cea68121fcc68f8ba0ed.

related: #14674
related: #15557

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
11 months agotranslation(br): Update Brazilian translations
JNylson [Fri, 23 Aug 2024 16:06:34 +0000 (18:06 +0200)] 
translation(br): Update Brazilian translations

closes: #15558

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(vim): Update base-syntax, improve :let-heredoc highlighting
Doug Kearns [Fri, 23 Aug 2024 16:01:35 +0000 (18:01 +0200)] 
runtime(vim): Update base-syntax, improve :let-heredoc highlighting

The end marker is not required to match the indent of :let when "trim"
is specified, it may also appear without leading whitespace as normal.

closes: #15564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft' v9.1.0689
Christian Brabandt [Thu, 22 Aug 2024 19:40:14 +0000 (21:40 +0200)] 
patch 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft'

Problem:  buffer-overflow in do_search() with 'rightleft'
          (SuyueGuo)
Solution: after reversing the text (which allocates a new buffer),
          re-calculate the text length

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-v2x2-cjcg-f9jm

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(vim): Improve heredoc handling for all embedded scripts
Ken Takata [Thu, 22 Aug 2024 19:29:39 +0000 (21:29 +0200)] 
runtime(vim): Improve heredoc handling for all embedded scripts

* Improve heredoc handling
  - Support "trim" for all the embedded scripts.
  - Check the indent of "trim" for "let" and all the embedded scripts.
* Update missing part of vim.vim.base in the commit
  d164f2a521f8e52e587727657fb1c19e9a25f32a.
* Update gen_syntax_vim.vim to catch up with 9.1.0685's source code.

closes: #15542

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0688: Vim9: dereferences NULL pointer in check_type_is_value() v9.1.0688
Christian Brabandt [Thu, 22 Aug 2024 19:25:18 +0000 (21:25 +0200)] 
patch 9.1.0688: Vim9: dereferences NULL pointer in check_type_is_value()

Problem:  Vim9: dereferences NULL pointer in check_type_is_value()
          (Suyue Guo)
Solution: Verify that the pointer is not Null

fixes: #15540
closes: #15545

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0687: Makefile may not install desktop files v9.1.0687
Christian Brabandt [Thu, 22 Aug 2024 19:20:15 +0000 (21:20 +0200)] 
patch 9.1.0687: Makefile may not install desktop files

Problem:  Makefile may not install desktop files
Solution: Check for "$(DESTDIR)$(DATADIR)" instead of just "$DESTDIR",
          which is usually not defined, add uninstall rules for the
          icons and the desktop files

closes: #15528
fixes: #15546

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(man): Fix <Plug>ManBS
Luca Saccarola [Thu, 22 Aug 2024 19:16:25 +0000 (21:16 +0200)] 
runtime(man): Fix <Plug>ManBS

This change does 2 things:
- make sure the mapping <Plug>ManBS sets the buffer to modified
  to avoid a potential error message
- remove commented q mapping

fixes #15538
closes: #15547

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(java): Make the bundled &foldtext function optional
Aliaksei Budavei [Thu, 22 Aug 2024 19:09:32 +0000 (21:09 +0200)] 
runtime(java): Make the bundled &foldtext function optional

- Obtain and pass through translated messages with this
  function.
- If "g:java_foldtext_show_first_or_second_line" is defined,
  assign this function to &foldtext.

closes: #15549

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(netrw): Change line on `mx` if command output exists
yasuda [Thu, 22 Aug 2024 19:06:32 +0000 (21:06 +0200)] 
runtime(netrw): Change line on `mx` if command output exists

closes: #15550

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(netrw): Fix `mf`-selected entry highlighting
yasuda [Thu, 22 Aug 2024 18:54:47 +0000 (20:54 +0200)] 
runtime(netrw): Fix `mf`-selected entry highlighting

closes: #15551

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(htmlangular): add html syntax highlighting
Dennis van den Berg [Thu, 22 Aug 2024 18:50:11 +0000 (20:50 +0200)] 
runtime(htmlangular): add html syntax highlighting

fixes: #15459
closes: #15552

Signed-off-by: Dennis van den Berg <dennis.vandenberg@nedap.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(it): Fix filemode of Italian manpages
Ken Takata [Wed, 21 Aug 2024 17:57:21 +0000 (19:57 +0200)] 
translation(it): Fix filemode of Italian manpages

closes: #15544

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): Update outdated man.vim plugin information
John M Devin [Wed, 21 Aug 2024 11:26:37 +0000 (13:26 +0200)] 
runtime(doc): Update outdated man.vim plugin information

closes: #15536

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(zip): simplify condition to detect MS-Windows
Christian Brabandt [Wed, 21 Aug 2024 06:18:44 +0000 (08:18 +0200)] 
runtime(zip): simplify condition to detect MS-Windows

related: #15519

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0686: zip-plugin has problems with special characters v9.1.0686
Christian Brabandt [Tue, 20 Aug 2024 20:41:52 +0000 (22:41 +0200)] 
patch 9.1.0686: zip-plugin has problems with special characters

Problem:  zip-plugin has problems with special characters
          (user202729)
Solution: escape '*?[\' on Unix and handle those chars
          a bit differently on MS-Windows, add a test, check
          before overwriting files

runtime(zip): small fixes for zip plugin

This does the following:
- verify the unzip plugin is executable when loading the autoload plugin
- handle extracting file names with '[*?\' in its name correctly by
  escaping those characters for the unzip command (and handle those
  characters a bit differently on MS-Windows, since the quoting is different)
- verify, that the extract plugin is not overwriting a file (could cause
  a hang, because unzip asking for confirmation)
- add a test zip file which contains those special file names

fixes: #15505
closes: #15519

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(pandoc): escape quotes in &errorformat for pandoc
Konfekt [Tue, 20 Aug 2024 19:57:54 +0000 (21:57 +0200)] 
runtime(pandoc): escape quotes in &errorformat for pandoc

closes: #15535

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(it): updated Italian manpage
Antonio Giovanni Colombo [Tue, 20 Aug 2024 19:12:37 +0000 (21:12 +0200)] 
translation(it): updated Italian manpage

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0685: too many strlen() calls in usercmd.c v9.1.0685
John Marriott [Tue, 20 Aug 2024 18:57:23 +0000 (20:57 +0200)] 
patch 9.1.0685: too many strlen() calls in usercmd.c

Problem:  too many strlen() calls in usercmd.c
Solution: refactor code to reduce the number or strlen() calls
          (John Marriott)

closes: #15516

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): fix grammar in :h :keeppatterns
zeertzjq [Tue, 20 Aug 2024 18:20:43 +0000 (20:20 +0200)] 
runtime(doc): fix grammar in :h :keeppatterns

- It's clear that :s and :& are Ex commands, so remove "command" along
  with the duplicate "the".
- Use "or" instead of "and" following "without".

closes: #15527

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
11 months agoruntime(pandoc): refine pandoc compiler settings
Konfekt [Tue, 20 Aug 2024 18:18:28 +0000 (20:18 +0200)] 
runtime(pandoc): refine pandoc compiler settings

closes: #15529

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
11 months agopatch 9.1.0684: completion is inserted on Enter with "noselect" v9.1.0684
glepnir [Tue, 20 Aug 2024 17:58:44 +0000 (19:58 +0200)] 
patch 9.1.0684: completion is inserted on Enter with "noselect"

Problem:  completion is inserted on Enter with "noselect"
          (Carman Fu)
Solution: check noselect before update compl_shown_match
          (glepnir)

fixes: #15526
closes: #15530

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agotranslation(ru): update man pages
RestorerZ [Tue, 20 Aug 2024 17:57:00 +0000 (19:57 +0200)] 
translation(ru): update man pages

closes: #15532

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agopatch 9.1.0683: mode() returns wrong value with <Cmd> mapping v9.1.0683
kuuote [Tue, 20 Aug 2024 17:53:17 +0000 (19:53 +0200)] 
patch 9.1.0683: mode() returns wrong value with <Cmd> mapping

Problem:  mode() returns wrong value with <Cmd> mapping
Solution: Change decision priority of VIsual_active and move
          visual mode a bit further down (kuuote)

closes: #15533

Signed-off-by: kuuote <znmxodq1@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 months agoruntime(doc): remove trailing whitespace in cmdline.txt
Christian Brabandt [Mon, 19 Aug 2024 19:49:41 +0000 (21:49 +0200)] 
runtime(doc): remove trailing whitespace in cmdline.txt

Signed-off-by: Christian Brabandt <cb@256bit.org>
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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>