]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
16 hours agoruntime(indent-tests): Use silent write of resulting files master
RestorerZ [Tue, 26 Aug 2025 19:54:29 +0000 (21:54 +0200)] 
runtime(indent-tests): Use silent write of resulting files

To avoid littering the terminal output use :silent write.

closes: #18128

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
16 hours agotranslation: Remove outdated rule for nl.po
RestorerZ [Tue, 26 Aug 2025 19:49:57 +0000 (21:49 +0200)] 
translation: Remove outdated rule for nl.po

There exists a real nl.po file, no need to use a dummy po file anymore.

See also the following commits: 84f72358d6161702938a9

closes: #18127

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
16 hours agopatch 9.1.1696: tabnr from getwininfo() for popup windows is always 0 v9.1.1696
Sean Dewar [Tue, 26 Aug 2025 19:45:07 +0000 (21:45 +0200)] 
patch 9.1.1696: tabnr from getwininfo() for popup windows is always 0

Problem:  getwininfo() has logic for getting the tabnr of a local popup
          window, but due to only breaking from the inner loop, tp is
          eventually set to NULL, so tabnr is always 0.
Solution: Break out of both loops, continue to use 0 for global popup
          windows (Sean Dewar).

closes: #18111

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
16 hours agoruntime(tutor): remove duplicate tutor1.zh
GalaxySnail [Tue, 26 Aug 2025 19:40:12 +0000 (21:40 +0200)] 
runtime(tutor): remove duplicate tutor1.zh

Commit 8d9d2b222dbd09e091ac2bfce5ab105990e85b78 introduced tutor1.zh
which is a the duplicate of tutor1.zh_tw

related: #18123
closes: #18124

Signed-off-by: GalaxySnail <me@glxys.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 hours agoruntime(tutor): fix language selection for zh
GalaxySnail [Tue, 26 Aug 2025 19:37:38 +0000 (21:37 +0200)] 
runtime(tutor): fix language selection for zh

fixes: #18123
related: #18124

Signed-off-by: GalaxySnail <me@glxys.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 hours agopatch 9.1.1695: Need more Vim script specific tests v9.1.1695
Yegappan Lakshmanan [Tue, 26 Aug 2025 19:32:46 +0000 (21:32 +0200)] 
patch 9.1.1695: Need more Vim script specific tests

Problem:  Need more Vim script specific tests
Solution: Add more tests (Yegappan Lakshmanan).

closes: #18118

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 hours agopatch 9.1.1694: filetype: Buck eXtension Lang files are not recognized v9.1.1694
Jade Lovelace [Tue, 26 Aug 2025 19:28:02 +0000 (21:28 +0200)] 
patch 9.1.1694: filetype: Buck eXtension Lang files are not recognized

Problem:  filetype: Buck eXtension Lang files are not recognized
Solution: Detect *.bxl files as bzl filetype.
          (Jade Lovelace)

References:
- https://buck2.build/docs/bxl/

closes: #18130

Signed-off-by: Jade Lovelace <jadel@mercury.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 hours agopatch 9.1.1693: tests: test_filetype fails in shadow dir v9.1.1693
Christian Brabandt [Tue, 26 Aug 2025 19:24:06 +0000 (21:24 +0200)] 
patch 9.1.1693: tests: test_filetype fails in shadow dir

Problem:  tests: test_filetype fails in shadow dir
          (after v9.1.9.1.1687)
Solution: Use a custom test that does not rely on configure.ac
          being existing in the upper directory tree.

Signed-off-by: Christian Brabandt <cb@256bit.org>
17 hours agopatch 9.1.1692: global_functions are not constant v9.1.1692
Damien Lejay [Tue, 26 Aug 2025 19:03:31 +0000 (21:03 +0200)] 
patch 9.1.1692: global_functions are not constant

Problem:  global_functions are not constant
Solution: Place global_functions[] in read-only memory (Damien Lejay).

Mark global_functions[] as `static const`.  The table is never modified
at runtime, so keeping it in writable `.data` has no benefit.

Only a local pointer in func_check_arg_types() needed adjusting to
`const`.  No functional changes.

closes: #18121

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
20 hours agopatch 9.1.1691: over-allocation in ga_concat_strings() v9.1.1691
Damien Lejay [Tue, 26 Aug 2025 15:55:14 +0000 (17:55 +0200)] 
patch 9.1.1691: over-allocation in ga_concat_strings()

Problem:  over-allocation in ga_concat_strings()
Solution: Fix ga_concat_strings() and only allocate n-1 separator length
          bytes (Damien Lejay).

ga_concat_strings() was adding the separator length for every item,
including the last one. Only (n - 1) separators are actually used.
This caused harmless but unnecessary overallocation.

closes: #18112

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
20 hours agopatch 9.1.1690: Missing recursion guard in dos/unix_expandpath() v9.1.1690
ashamedbit [Tue, 26 Aug 2025 15:43:18 +0000 (17:43 +0200)] 
patch 9.1.1690: Missing recursion guard in dos/unix_expandpath()

Problem:  Missing recursion guard in dos/unix_expandpath()
Solution: Add guard variables (ashamedbit)

fixes: #18099
closes: #18106

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: ashamedbit <muralianiruddhan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
21 hours agopatch 9.1.1689: CmdlineChanged not triggered by <Del> v9.1.1689
Shougo Matsushita [Tue, 26 Aug 2025 15:36:49 +0000 (17:36 +0200)] 
patch 9.1.1689: CmdlineChanged not triggered by <Del>

Problem:  CmdlineChanged not triggered by <Del>
Solution: Use STRCMP() instead of STRNCMP()
          (Shougo Matsushita)

closes: #18101

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
21 hours agopatch 9.1.1688: potential buffer overrun in bufwrite.c v9.1.1688
John Marriott [Tue, 26 Aug 2025 15:32:18 +0000 (17:32 +0200)] 
patch 9.1.1688: potential buffer overrun in bufwrite.c

Problem:  potential buffer overrun in bufwrite.c
Solution: Use a temporary variable (John Marriott)

In my Windows 11 Pro 64-bit build MAXPATHL is 1024 and IOSIZE is 1025.
In my Archlinux Linux 64-bit build MAXPATHL is 4096 and IOSIZE is 1025.

In funuction buf_write():
There is a check (line 713) that makes sure the length of fname is less
than MAXPATHL. There is a call to STRCPY() (line 1208) which copies the
string at fname into IObuff (which has size IOSIZE). For Unix builds
fname is set to sfname which may or may not be shorter. However, if
sfname is NULL sfname is set to fname.

Therefore, in builds where MAXPATHL > IOSIZE (eg in my linux build), it
is theoretically possible for the STRCPY() call to exceed the bounds of
IObuff.

This PR addresses this by copying fname into a local variable that has
the same maximum size as fname.

In addition:
Given that the filename is unconditionally overwritten in the for loop,
only copy the directory portion of fname. Move variable i closer to
where it is used.

closes: #18095

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
21 hours agopatch 9.1.1687: filetype: autoconf filetype not always correct v9.1.1687
Damien Lejay [Tue, 26 Aug 2025 15:09:47 +0000 (17:09 +0200)] 
patch 9.1.1687: filetype: autoconf filetype not always correct

Problem:  filetype: autoconf filetype not always correct
Solution: Detect aclocal.m4 as config filetype, detect configure.ac as
          config filetype, fall back to POSIX m4 (Damien Lejay).

closes: #18065

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agoruntime(lf): update syntax to support lf version r37
Andis Spriņķis [Mon, 25 Aug 2025 22:02:01 +0000 (00:02 +0200)] 
runtime(lf): update syntax to support lf version r37

Adds the lf release 37 specific syntax highlighting changes.

From the PR andis-sprinkis/lf-vim#23 by @CatsDeservePets

closes: #18115

Signed-off-by: Andis Spriņķis <andis@sprinkis.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agopatch 9.1.1686: if_ruby: unknown pragma when not using gcc v9.1.1686
Cthulhux [Mon, 25 Aug 2025 21:45:13 +0000 (23:45 +0200)] 
patch 9.1.1686: if_ruby: unknown pragma when not using gcc

Problem:  if_ruby: unknown pragma when not using gcc
Solution: only use GCC pragma, when using GCC
          (Cthulhux)

fixes: #18109
closes: #18110

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
39 hours agopatch 9.1.1685: Missing changes from PR 18068 v9.1.1685
Girish Palya [Mon, 25 Aug 2025 21:33:39 +0000 (17:33 -0400)] 
patch 9.1.1685: Missing changes from PR 18068

Problem:  Missing changes from PR 18068
Solution: Include the missing changes
          (Girish Palya)

Co-authored-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1684: min()/max() does not handle float data types v9.1.1684
LemonBoy [Sun, 24 Aug 2025 11:09:04 +0000 (13:09 +0200)] 
patch 9.1.1684: min()/max() does not handle float data types

Problem:  min()/max() does not handle float data types
          (ubaldot)
Solution: Extend min() and max() to every comparable type
          (LemonBoy)

Re-use the logic used for plain old comparison operators, this way we
gain support for float values and unify the logic handling the
comparisons.

fixes: #18052
closes: 18055

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1683: xxd: Avoid null dereference in autoskip colorless v9.1.1683
Joakim Nohlgård [Sun, 24 Aug 2025 10:36:44 +0000 (12:36 +0200)] 
patch 9.1.1683: xxd: Avoid null dereference in autoskip colorless

Problem:  xxd: Avoid null dereference in autoskip colorless
Solution: Verify that colors is not null (Joakim Nohlgård)

Fixes bug introduced in 6897f18ee6e5bb78b32c97616e484030fd514750
(v9.1.1459) which does a memcpy from NULL when color=never and the
autoskip option is used.

Before:

dd if=/dev/zero bs=100 count=1 status=none | xxd -a -R never
00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
Segmentation fault (core dumped)

After:

dd if=/dev/zero bs=100 count=1 status=none | ./xxd/xxd -a -R never
00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
00000060: 0000 0000                                ....

closes: #18008

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(python): support 'type's soft keyword form
Jon Parise [Sun, 24 Aug 2025 10:31:08 +0000 (12:31 +0200)] 
runtime(python): support 'type's soft keyword form

`type` became a soft keyword in Python 3.12. In that form, it is a
statement that declares a type alias:

    # type_stmt ::= 'type' identifier [type_params] "=" expression
    type Point = tuple[float, float]

To implement support for this, this change does three things:

1. adds a `pythonType` group (linked to `Type`)
2. matches `type` followed by an identifier as `pythonStatement`
3. continues to match `type` in other forms as `pythonBuiltin`

Ref:
- https://docs.python.org/3/reference/lexical_analysis.html#soft-keywords
- https://docs.python.org/3/reference/simple_stmts.html#the-type-statement

closes: #18090

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Zvezdan Petkovic <zpetkovic@acm.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1682: tests: Test_wildtrigger_update_screen() creates unused mapping v9.1.1682
zeertzjq [Sun, 24 Aug 2025 10:24:08 +0000 (12:24 +0200)] 
patch 9.1.1682: tests: Test_wildtrigger_update_screen() creates unused mapping

Problem:  tests: Test_wildtrigger_update_screen() creates an unused
          mapping (after 9.1.1621).
Solution: Remove the mapping. Also use blank lines more consistently in
          test_cmdline.vim screendump tests (zeertzjq).

closes: #18096

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1681: tests: no test for actually moving cursor with 'acl' v9.1.1681
zeertzjq [Sun, 24 Aug 2025 10:22:10 +0000 (12:22 +0200)] 
patch 9.1.1681: tests: no test for actually moving cursor with 'acl'

Problem:  tests: no test for actually moving cursor when menu is not
          open with 'autocompletedelay'.
Solution: Use <Up> first in the test. Also remove two unnecessary <Esc>s
          in completion timeout test (zeertzjq).

closes: #18097

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(termdebug): Remove load guard
Yegappan Lakshmanan [Sun, 24 Aug 2025 10:19:20 +0000 (12:19 +0200)] 
runtime(termdebug): Remove load guard

closes: #18098

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(doc): update termguicolors default description
Christian Brabandt [Sat, 23 Aug 2025 17:46:49 +0000 (19:46 +0200)] 
runtime(doc): update termguicolors default description

related: #18087

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope v9.1.1680
Christian Brabandt [Sat, 23 Aug 2025 16:11:28 +0000 (18:11 +0200)] 
patch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope

Problem:  MS-Windows: possible buffer-under run in if_cscope
          cs_pathcomponents() (Murali Aniruddhan)
Solution: Fix the loop and do not decrement the pointer twice.

closes: #18091

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1679: unclear what key causes CmdlineLeave autocommand v9.1.1679
Girish Palya [Sat, 23 Aug 2025 16:08:27 +0000 (18:08 +0200)] 
patch 9.1.1679: unclear what key causes CmdlineLeave autocommand

Problem:  unclear what key causes CmdlineLeave autocommand
Solution: Set |v:char| to the key (Girish Palya).

related: #17806
closes: #18063

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(netrw): fix :Explore command in terminal
Jason Long [Sat, 23 Aug 2025 15:44:32 +0000 (17:44 +0200)] 
runtime(netrw): fix :Explore command in terminal

There are really two issues solved here:

- The directory listing was not populating the new buffer when using
  the :Explore command. This was because the directory to open is
  determined by using expand("%:p") which includes '!/running/command' at
  the end of the string in terminal buffers.

- The :Explore command should replace the buffer, not split it. This
  because the Explore command will automatically split if the current
  buffer has been modified. According to the docs, all terminal buffers
  will have the modified flag set when a job is running.

fixes: #9862
closes: #18069

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1678: Amiga: cannot handle large undo files v9.1.1678
Damien Lejay [Sat, 23 Aug 2025 15:37:12 +0000 (17:37 +0200)] 
patch 9.1.1678: Amiga: cannot handle large undo files

Problem:  Amiga: cannot handle large undo files
Solution: Remove the existing restriction as it was only valid for
          classic Amiga (Damien Lejay).

It seems that this block was only relevant for classic AmigaOS (< 32K
alloc limit). And it seems to no longer apply: AmigaOS 4.0 switched to
a slab allocator memory system.

closes: #18072

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1677: wrong ifdef in message.c v9.1.1677
Damien Lejay [Sat, 23 Aug 2025 15:20:03 +0000 (17:20 +0200)] 
patch 9.1.1677: wrong ifdef in message.c

Problem:  wrong ifdef in message.c
Solution: change it to #ifndef MSWIN (Damien Lejay)

The extra newline on screen switch is needed for all TTY/termcap
backends (Unix, VMS, others).

Only Windows uses a different console API.
Better use #ifndef MSWIN to express the real intent.

closes: #18076

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1676: completion: long line shown twice v9.1.1676
Girish Palya [Sat, 23 Aug 2025 15:11:18 +0000 (17:11 +0200)] 
patch 9.1.1676: completion: long line shown twice

Problem:  completion: long line shown twice
          (Maxim Kim)
Solution: Fix the issue, disable an incorrect test.
          (Girish Palya)

fixes: #18035
closes: #18088

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(sh): add syntax highlighting support for ${ cmd;} and ${|cmd;}
Kevin Pulo [Sat, 23 Aug 2025 15:07:44 +0000 (17:07 +0200)] 
runtime(sh): add syntax highlighting support for ${ cmd;} and ${|cmd;}

bash 5.3 (released July 2025) added support for ${ cmd;} and
${|cmd;} style command substitution, which is similar (but not
identical) to ksh/mksh.

closes: #18084

Signed-off-by: Kevin Pulo <kevin.pulo@mongodb.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1675: MS-Windows: Makefiles can be refactored v9.1.1675
RestorerZ [Sat, 23 Aug 2025 15:00:17 +0000 (17:00 +0200)] 
patch 9.1.1675: MS-Windows: Makefiles can be refactored

Problem:  MS-Windows: Makefiles can be refactored
Solution: Refactor using a common tools.mak, make some style changes
          (RestorerZ).

closes: #18060

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1674: Patch v9.1.1666 causes problems on kitty v9.1.1674
Foxe Chen [Sat, 23 Aug 2025 14:34:18 +0000 (16:34 +0200)] 
patch 9.1.1674: Patch v9.1.1666 causes problems on kitty

Problem:  Patch v9.1.1666 causes problems on kitty
          (Sami Farin)
Solution: Remove Ms value from termcodes (Foxe Chen)

related: #18033
closes: #18093

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1673: if_python: still support for Python 1 v9.1.1673
Hirohito Higashi [Sat, 23 Aug 2025 14:31:15 +0000 (16:31 +0200)] 
patch 9.1.1673: if_python: still support for Python 1

Problem:  if_python: still support for Python 1
Solution: Drop outdated code (Hirohito Higashi)

closes: #18092

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1672: completion: cannot add timeouts for 'cpt' sources v9.1.1672
Girish Palya [Sat, 23 Aug 2025 14:20:03 +0000 (16:20 +0200)] 
patch 9.1.1672: completion: cannot add timeouts for 'cpt' sources

Problem:  completion: cannot add timeouts for 'cpt' sources
          (Evgeni Chasnovski)
Solution: Add the 'autocompletetimeout' and 'completetimeout' options
          (Girish Palya)

fixes: #17908
closes: #17967

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agoruntime(fstab): Added mtab support to fstab syntax.
Radu Dineiu [Sat, 23 Aug 2025 11:47:51 +0000 (13:47 +0200)] 
runtime(fstab): Added mtab support to fstab syntax.

closes: #18074

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1671: configure: missing comment about AC_CONFIG_SRCDIR v9.1.1671
Damien Lejay [Sat, 23 Aug 2025 10:43:27 +0000 (06:43 -0400)] 
patch 9.1.1671: configure: missing comment about AC_CONFIG_SRCDIR

Problem:  configure: missing comment about AC_CONFIG_SRCDIR
Solution: Add comment explaining the use of AC_CONFIG_SRCDIR
          (Damien Lejay)

closes: #18071

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1670: completion: autocomplete breaks second completion v9.1.1670
Girish Palya [Sat, 23 Aug 2025 10:36:00 +0000 (06:36 -0400)] 
patch 9.1.1670: completion: autocomplete breaks second completion

Problem:  completion: autocomplete breaks second completion
          (gravndal)
Solution: Fix the autocomplete bug (Girish Palya)

fixes: #18044
closes: #18068

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1669: Vim script: no support for URI de-/encoding v9.1.1669
Yegappan Lakshmanan [Sat, 23 Aug 2025 10:26:16 +0000 (06:26 -0400)] 
patch 9.1.1669: Vim script: no support for URI de-/encoding

Problem:  Vim script: no support for URI de-/encoding
          (ubaldot)
Solution: Add the uri_encode() and uri_decode() functions
          (Yegappan Lakshmanan)

fixes: #17861
closes: #18034

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1668: items() does not work for Blobs v9.1.1668
Yegappan Lakshmanan [Sat, 23 Aug 2025 10:18:34 +0000 (06:18 -0400)] 
patch 9.1.1668: items() does not work for Blobs

Problem:  items() does not work for Blobs
Solution: Extend items() to support Blob
          (Yegappan Lakshmanan).

closes: #18080

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1667: Another outdated comment in eval.c v9.1.1667
zeertzjq [Sat, 23 Aug 2025 10:10:23 +0000 (06:10 -0400)] 
patch 9.1.1667: Another outdated comment in eval.c

Problem:  Another outdated comment in eval.c (after 9.1.1665).
Solution: Remove that comment as well. Add a few more tests for mapnew()
          that fail without patch 8.2.1672 (zeertzjq).

closes: #18089

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1666: no support for terminal primary device attributes v9.1.1666
Foxe Chen [Sat, 23 Aug 2025 09:56:40 +0000 (05:56 -0400)] 
patch 9.1.1666: no support for terminal primary device attributes

Problem:  no support for terminal primary device attributes
Solution: Add support for detecting the DA1 response from the terminal,
          add the v:termda1 variable and the 't_Ms' option for the
          OSC 52 command format (Foxe Chen)

closes: #18033

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1665: Outdated comment in eval.c v9.1.1665
zeertzjq [Fri, 22 Aug 2025 16:47:15 +0000 (12:47 -0400)] 
patch 9.1.1665: Outdated comment in eval.c

Problem:  Outdated comment in eval.c.
Solution: Remove the comment, which is no longer true after 8.2.1672.
          Also fix a typo in version9.txt (zeertzjq).

closes: #18077

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agoruntime(doc): Fix missing heading in remote.txt
Hirohito Higashi [Fri, 22 Aug 2025 16:44:31 +0000 (12:44 -0400)] 
runtime(doc): Fix missing heading in remote.txt

closes: #18086

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1664: configure: can use any autoconf v9.1.1664
Damien Lejay [Fri, 22 Aug 2025 16:36:43 +0000 (12:36 -0400)] 
patch 9.1.1664: configure: can use any autoconf

Problem:  configure: can use any autocon
Solution: Use AC_PREREQ and require 2.71 (Damien Lejay)

technically, we require autoconf 2.72, but that is not available on
Ubuntu LTS 24.04. So let's go with 2.71 for now and add a comment about
it in configure.ac

closes: #18047

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): Tweak documentation style
Hirohito Higashi [Thu, 21 Aug 2025 19:34:58 +0000 (15:34 -0400)] 
runtime(doc): Tweak documentation style

closes: #18078

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(colors): Update colorschemes
Maxim Kim [Wed, 20 Aug 2025 20:28:29 +0000 (22:28 +0200)] 
runtime(colors): Update colorschemes

- all colorschemes were ported to colortemplate v3
- gui versions of habamax, lunaperche, wildcharm, retrobox colorschemes
  have different Diff, Visual, Search and IncSearch colors compared to non-gui.
- habamax Search was changed to green instead of blue to better distinct
  it with Visual (also bluish in gui)

closes: #18061

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1663: xxd: 9.1.0023 introduced additional dependency v9.1.1663
David Seal [Wed, 20 Aug 2025 20:24:56 +0000 (22:24 +0200)] 
patch 9.1.1663: xxd: 9.1.0023 introduced additional dependency

Problem:  xxd: 9.1.0023 introduced additional dependency
Solution: remove non-native z/OS library call (David Seal)

Commit 48a75f3dfb906a2d333a7b1c3545e2eb359596db (Patch 9.1.0023)
introduces a call to __disableautocvt() which can only be found in a
non-native z/OS library.  This requires installing the external zoslib
library in order to work, which is not present on all z/OS systems

So remove the call to __disableautocvt() and rely on library routines
that are available to all z/OS users

See https://ibmruntimes.github.io/zoslib/zos-io_8cc.html for more
details

closes: #18059

Signed-off-by: David Seal <dseal@rocketsoftware.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(systemverilog): Add syntax highlighting for 1800-2023 block strings
Ayan Banerjee [Wed, 20 Aug 2025 20:19:04 +0000 (22:19 +0200)] 
runtime(systemverilog): Add syntax highlighting for 1800-2023 block strings

closes: #18056

Signed-off-by: Ayan Banerjee <ayanbanrj@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1662: Issues with proto files: missing or inconsistent prototypes. v9.1.1662
Hirohito Higashi [Wed, 20 Aug 2025 20:08:13 +0000 (22:08 +0200)] 
patch 9.1.1662: Issues with proto files: missing or inconsistent prototypes.

Problem:  Issues with proto files: missing or inconsistent prototypes.
Solution: Update ifdefs, move typedefs, fix prototype declaration
          (Hirohito Higashi)

This change focuses on fixes and tweaks found while working on #18045 for
the proto/*.pro files.

The following fixes and tweaks have been made:

- Fixed a prototype declaration where the variable name differed from
  the function definition.
- Removed a prototype declaration without a function body.
- Fixed a problem where a prototype declaration was not created for a
  function definition enclosed in a #if directive because it lacked ||
  defined(PROTO).
- Moved typedef struct soundcb_S soundcb_T; from proto/sound.pro to
  vim.h.
- Other small tweaks.

The make proto mechanism remains unchanged.

closes: #18058

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1661: Coverity finds a few issues in clientserver.c v9.1.1661
Foxe Chen [Wed, 20 Aug 2025 20:00:41 +0000 (22:00 +0200)] 
patch 9.1.1661: Coverity finds a few issues in clientserver.c

Problem:  Coverity finds a few issues in clientserver.c
          (also by Tony Mechelynck)
Solution: Fix issues and warnings (Foxe Chen)

closes: #18057

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1660: popups without decoration are positioned wrong at bottom of screen v9.1.1660
glepnir [Wed, 20 Aug 2025 19:43:15 +0000 (21:43 +0200)] 
patch 9.1.1660: popups without decoration are positioned wrong at bottom of screen

Problem:  Popups without border/padding/title don't flip position when
          cursor is near bottom of screen, while decorated popups do
          flip correctly.
Solution: Use original height instead of truncated height for position
          inversion check, except for info popups to preserve existing
          behavior (glepnir).

fixes: #12546
closes: #18054

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1659: configure: uses AC_INIT without args v9.1.1659
Damien Lejay [Wed, 20 Aug 2025 19:29:54 +0000 (21:29 +0200)] 
patch 9.1.1659: configure: uses AC_INIT without args

Problem:  configure: uses AC_INIT without args
Solution: Add a comment explaining why AC_INIT has no args
          (Damien Lejay)

closes: #18053

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1658: Missing includes for Wayland headers v9.1.1658
Christoffer Aasted [Wed, 20 Aug 2025 19:21:57 +0000 (21:21 +0200)] 
patch 9.1.1658: Missing includes for Wayland headers

Problem:  Missing includes for Wayland headers, when subfolder is used
          (after v9.1.1644)
Solution: Add new $WAYLAND_CPPFLAGS (Christoffer Aasted).

closes: #18051

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1657: Autocompletion adds delay v9.1.1657
Girish Palya [Wed, 20 Aug 2025 19:15:06 +0000 (21:15 +0200)] 
patch 9.1.1657: Autocompletion adds delay

Problem:  Autocompletion adds delay
          (gcanat, char101, after v9.1.1638)
Solution: Temporarily disable autocomplation (Girish Palya).

related: #17960
fixes: #18022
closes: #18048

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(doc): correct another problem in :h items()
zeertzjq [Wed, 20 Aug 2025 19:10:43 +0000 (21:10 +0200)] 
runtime(doc): correct another problem in :h items()

The returned value is only in arbitrary order for a Dict.

closes: #18050

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1656: MS-Windows: Patch v9.1.1652 breaks clipboard v9.1.1656
Christian Brabandt [Wed, 20 Aug 2025 19:07:07 +0000 (21:07 +0200)] 
patch 9.1.1656: MS-Windows: Patch v9.1.1652 breaks clipboard

Problem:  MS-Windows: Patch v9.1.1652 breaks clipboard
          (ddad431, after v9.1.1652)
Solution: Revert the patch

Revert "patch 9.1.1652: cannot determine non-X11/Wayland clipmethods"

This reverts commit 3e152c76adb9542af86760786d42a0beffe5354b.

fixes: #18064

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1655: Build-failure in do_mouse() v9.1.1655
Christian Brabandt [Wed, 20 Aug 2025 18:56:53 +0000 (20:56 +0200)] 
patch 9.1.1655: Build-failure in do_mouse()

Problem:  Build-failure in do_mouse()
          (after v9.1.1653)
Solution: Add missing closing paren

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1654: build failure when FEAT_DIFF is not defined v9.1.1654
Christian Brabandt [Wed, 20 Aug 2025 18:37:37 +0000 (20:37 +0200)] 
patch 9.1.1654: build failure when FEAT_DIFF is not defined

Problem:  build failure when FEAT_DIFF is not defined
          (John Marriott)
Solution: Remove FEAT_DIFF in proto.h; define dummy type for
          diffline_T and diffline_change_T when FEAT_DIFF is not defined

related: #18026
closes: #18046

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1653: Coverity complains about Null pointer dereference v9.1.1653
Christian Brabandt [Wed, 20 Aug 2025 18:31:08 +0000 (20:31 +0200)] 
patch 9.1.1653: Coverity complains about Null pointer dereference

Problem:  Coverity complains about Null pointer dereference
          (after v9.1.1643)
Solution: Check that TabPageIdx is not Null

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agotranslation(it): Update Italian translation
Antonio Giovanni Colombo [Wed, 20 Aug 2025 18:27:11 +0000 (20:27 +0200)] 
translation(it): Update Italian translation

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agotranslation(it): update Italian manpage
Antonio Giovanni Colombo [Wed, 20 Aug 2025 18:23:29 +0000 (20:23 +0200)] 
translation(it): update Italian manpage

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1652: cannot determine non-X11/Wayland clipmethods v9.1.1652
Foxe Chen [Mon, 18 Aug 2025 20:09:27 +0000 (22:09 +0200)] 
patch 9.1.1652: cannot determine non-X11/Wayland clipmethods

Problem:  Cannot determine non-X11/Wayland clipmethods
Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen)

closes: #18006

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1651: Cannot use clientserver over socket v9.1.1651
Foxe Chen [Mon, 18 Aug 2025 19:40:40 +0000 (21:40 +0200)] 
patch 9.1.1651: Cannot use clientserver over socket

Problem:  Cannot use clientserver over Unix domain socket
Solution: Implement socketserver functionality (Foxe Chen).

fixes: #3509
closes: #17839

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1650: popup: window may not properly resize v9.1.1650
glepnir [Mon, 18 Aug 2025 19:14:48 +0000 (21:14 +0200)] 
patch 9.1.1650: popup: window may not properly resize

Problem:  After scrolling a popup and then using popup_settext() with
          fewer lines, the popup fails to resize properly because
          firstline points beyond the new buffer content (lifepillar)
Solution: In popup_adjust_position(), validate that firstline doesn't
          exceed buffer line count and reset to 0 (auto-position) if it
          does (glepnir)

fixes: #14745
closes: #18031

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1649: attrs allocation and fuzzy growarray could leak v9.1.1649
glepnir [Mon, 18 Aug 2025 19:09:18 +0000 (21:09 +0200)] 
patch 9.1.1649: attrs allocation and fuzzy growarray could leak

Problem:  attrs allocation and fuzzy growarray could leak on early
          returns
Solution: Ensure proper cleanup of allocated memory on exit paths
          (glepnir)

closes: #18038

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(python): optimize pythonSync pattern
Jon Parise [Mon, 18 Aug 2025 19:06:50 +0000 (21:06 +0200)] 
runtime(python): optimize pythonSync pattern

Order the keywords by expected frequency: "def" and "class" are assumed
to be more likely than "async def" in the majority of Python code.

closes: #18032

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Zvezdan Petkovic <zpetkovic@acm.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoCI: Bump actions/checkout from 4 to 5
dependabot[bot] [Mon, 18 Aug 2025 19:04:30 +0000 (21:04 +0200)] 
CI: Bump actions/checkout from 4 to 5

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

closes: #18037

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1648: MS-Windows: some style issues with patch v9.1.1646 v9.1.1648
zeertzjq [Mon, 18 Aug 2025 19:01:46 +0000 (21:01 +0200)] 
patch 9.1.1648: MS-Windows: some style issues with patch v9.1.1646

Problem:  MS-Windows: some style issues with patch v9.1.1646
Solution: Fix typose and code style issues (zeertzjq).

closes: #18036

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(doc): fix style and clarify items() function for String type
Christian Brabandt [Mon, 18 Aug 2025 18:59:22 +0000 (20:59 +0200)] 
runtime(doc): fix style and clarify items() function for String type

related: #18021

Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1647: filetype: Cangjie files are not recognized v9.1.1647
WuJunkai2004 [Mon, 18 Aug 2025 18:53:34 +0000 (20:53 +0200)] 
patch 9.1.1647: filetype: Cangjie files are not recognized

Problem:  filetype: Cangjie files are not recognized
Solution: Detect *.cj files as cangjie filetype, include a syntax plugin
          (WuJunkai2004)

This commit introduces a new syntax highlighting file for the Cangjie
programming language, includes 4 parts as required:
- The main syntax file: runtime/syntax/cangjie.vim
- The filetype detection rule in: runtime/filetype.vim
- The documentation update in: runtime/doc/syntax.txt
- Some menus

References:
- https://gitcode.com/Cangjie
- https://cangjie-lang.cn/

fixes: 18014
closes: #18027

Signed-off-by: WuJunkai2004 <wujunkai20041123@outlook.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1646: MS-Windows: completion cannot handle implicit drive letters 18026/head v9.1.1646
Miguel Barro [Sun, 17 Aug 2025 20:04:24 +0000 (22:04 +0200)] 
patch 9.1.1646: MS-Windows: completion cannot handle implicit drive letters

Problem:  MS-Windows: completion cannot handle implicit drive letters
Solution: Consider paths like \folder and /folder as absolute
          (Miguel Barro).

closes: #17829

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1645: fuzzy.c can be further improved v9.1.1645
glepnir [Sun, 17 Aug 2025 19:40:45 +0000 (21:40 +0200)] 
patch 9.1.1645: fuzzy.c can be further improved

Problem:  fuzzy.c can be further improved
Solution: Fix memory leak and refactor it (glepnir).

Optimize performance and memory allocation:

- Fix memory leak in fuzzy_match_in_list.
- using single memory allocation in match_positions
- Improve has_match performance and add null pointer checks

closes: #18012

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1644: configure: doesn't separate CPPFLAGS and CFLAGS v9.1.1644
Damien Lejay [Sun, 17 Aug 2025 19:25:07 +0000 (21:25 +0200)] 
patch 9.1.1644: configure: doesn't separate CPPFLAGS and CFLAGS

Problem:  configure: doesn't separate CPPFLAGS and CFLAGS
Solution: Split CPPFLAGS and CFLAGS for pkg-config
          (Damien Lejay)

Previously, all flags returned by pkg-config --cflags were dumped into
CFLAGS, mixing include paths with compiler options. This commit uses
--cflags-only-I and --cflags-only-other to properly separate include
flags into CPPFLAGS and keep compiler flags in CFLAGS.

closes: #18019

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(doc): Update help for the items() function
Yegappan Lakshmanan [Sun, 17 Aug 2025 19:20:34 +0000 (21:20 +0200)] 
runtime(doc): Update help for the items() function

closes: #18021

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1643: tabpanel: mouse code too complicated v9.1.1643
Hirohito Higashi [Sun, 17 Aug 2025 19:09:56 +0000 (21:09 +0200)] 
patch 9.1.1643: tabpanel: mouse code too complicated

Problem:  tabpanel: mouse code too complicated
Solution: Refactor code, adjust ifdefs (Hirohito Higashi).

closes: #18023

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1642: configure: wrong C99 feature test v9.1.1642
Damien Lejay [Sun, 17 Aug 2025 19:05:40 +0000 (21:05 +0200)] 
patch 9.1.1642: configure: wrong C99 feature test

Problem:  configure: wrong C99 feature test
Solution: Update inverted C99 feature test logic
          (Damien Lejay)

closes: #18024

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1641: a few compiler warnings are output v9.1.1641
Yegappan Lakshmanan [Sun, 17 Aug 2025 19:02:44 +0000 (21:02 +0200)] 
patch 9.1.1641: a few compiler warnings are output

Problem:  a few compiler warnings are output
Solution: Fix compiler warnings (Yegappan Lakshmanan)

closes: #18025

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1640: Unicode has deprecated some code-points v9.1.1640
David Friant [Sat, 16 Aug 2025 16:30:55 +0000 (18:30 +0200)] 
patch 9.1.1640: Unicode has deprecated some code-points

Problem:  Unicode has deprecated some code-points
Solution: Update the digraph tables to align with the Unicode v16
          release (David Friant)

This commit updates the digraphs Left-Pointing Angle Bracket '</'
and Right-Pointing Angle Bracket '/>' to account for the fact that
the old Unicode codepoints for them (2329 and 232A, respectively)
have been deprecated. As per the Miscellaneous Technical code chart
(https://www.unicode.org/charts/PDF/U2300.pdf), the old digraphs
have been reassigned to the CJK Left Angle Bracket and Right Angle
Bracket (3008 and 3009) with their declaration moved to the
appropriate block.

This commit also introduces the new digraphs '<[' and ']>' to
represent the Mathematical Left Angle Bracket and Mathematical
Right Angle Bracket (27E8 and 27E9) to replace the deprecated code
points in the Technical block.

Tests have been added and, I believe, the documentation has been
updated accordingly.

closes: #17990

Signed-off-by: David Friant <friant@HPEnvyx360.friant.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1639: completion: popup may be misplaced v9.1.1639
Girish Palya [Sat, 16 Aug 2025 16:13:46 +0000 (18:13 +0200)] 
patch 9.1.1639: completion: popup may be misplaced

Problem:  During commandline completiom, popup window placement can be
          incorrect when 'noselect' is present in 'wildmode'
          (Shane-XB-Qian)
Solution: Disable "showtail" feature when 'noselect' is present.

fixes: #17969
closes: #18001

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1638: completion: not possible to delay the autcompletion v9.1.1638
Girish Palya [Sat, 16 Aug 2025 16:04:04 +0000 (18:04 +0200)] 
patch 9.1.1638: completion: not possible to delay the autcompletion

Problem:  completion: not possible to delay the autcompletion
Solution: add the 'autocompletedelay' option value (Girish Palya).

This patch introduces a new global option 'autocompletedelay'/'acl' that
specifies the delay, in milliseconds, before the autocomplete menu
appears after typing.

When set to a non-zero value, Vim waits for the specified time before
showing the completion popup, allowing users to reduce distraction from
rapid suggestion pop-ups or to fine-tune the responsiveness of
completion.

The default value is 0, which preserves the current immediate-popup
behavior.

closes: #17960

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(vim): set 'comments' based on script type (legacy/Vim9)
Christian Brabandt [Sat, 16 Aug 2025 15:51:40 +0000 (17:51 +0200)] 
runtime(vim): set 'comments' based on script type (legacy/Vim9)

fixes: #18000

Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(vim9): Disable shellslash for shellescape() in Open()
毛逸宁 [Sat, 16 Aug 2025 15:38:33 +0000 (17:38 +0200)] 
runtime(vim9): Disable shellslash for shellescape() in Open()

fixes: #17995
closes: #18004

Signed-off-by: 毛逸宁 <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1637: FEAT_DIFF used in diff.pro v9.1.1637
Yegappan Lakshmanan [Sat, 16 Aug 2025 15:33:53 +0000 (17:33 +0200)] 
patch 9.1.1637: FEAT_DIFF used in diff.pro

Problem:  FEAT_DIFF used in diff.pro
Solution: Remove it from the diff protocol file
          (Yegappan Lakshmanan)

closes: #18005

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agotranslation(sr): Update Serbian messages translation
Ivan Pešić [Sat, 16 Aug 2025 15:28:19 +0000 (17:28 +0200)] 
translation(sr): Update Serbian messages translation

closes: #18009

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(diff): fix mixed translations in zh_CN
毛逸宁 [Sat, 16 Aug 2025 15:22:36 +0000 (17:22 +0200)] 
runtime(diff): fix mixed translations in zh_CN

some translations confused zh_CN and zh_TW

Signed-off-by: 毛逸宁 <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1636: style issues v9.1.1636
Yegappan Lakshmanan [Sat, 16 Aug 2025 14:26:54 +0000 (16:26 +0200)] 
patch 9.1.1636: style issues

Problem:  style issues
Solution: Fix indentation of function parameters exceeding 80 character
          length (Yegappan Lakshmanan).

closes: #18013

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1635: tabpanel: cannot drag inactive tabs v9.1.1635
Naruhiko Nishino [Sat, 16 Aug 2025 13:48:50 +0000 (15:48 +0200)] 
patch 9.1.1635: tabpanel: cannot drag inactive tabs

Problem:  tabpanel: cannot drag inactive tabs (char101)
Solution: use end_visual_mode_keep_button() instead of end_visual_mode()
          (Naruhiko Nishino)

fixes: #17986
closes: #18016

Signed-off-by: Naruhiko Nishino <naru123456789@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1634: Clipboard code can be improved v9.1.1634
Foxe Chen [Thu, 14 Aug 2025 20:08:17 +0000 (22:08 +0200)] 
patch 9.1.1634: Clipboard code can be improved

Problem:  Clipboard code can be improved
Solution: Slightly refactor code (Foxe Chen).

This commit does the following:
-  Use garray_T when receiving data instead of manually reallocing
-  formatting fixes
-  skip Wayland test that requires clientserver if x11 not compiled
-  Make some functions static

closes: #17999

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1633: Search pattern shown incorrectly with negative offset v9.1.1633
zeertzjq [Thu, 14 Aug 2025 19:19:37 +0000 (21:19 +0200)] 
patch 9.1.1633: Search pattern shown incorrectly with negative offset

Problem:  Search pattern shown incorrectly with negative offset.
          (lkintact)
Solution: Don't prepend a '+' sign to a negative offset (zeertzjq).

fixes: #17993
closes: #17994

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1632: memory leak in fuzzy.c v9.1.1632
glepnir [Thu, 14 Aug 2025 19:15:44 +0000 (21:15 +0200)] 
patch 9.1.1632: memory leak in fuzzy.c

Problem:  memory leak in fuzzy.c
Solution: Free fuzmatch, add a few minor refactors
          (glepnir)

fixes neovim CID 584055: fuzmatch leak when count becomes 0
Fix partial allocation failure cleanup in buffer expansion

closes: #17996

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1631: proto files are outdated v9.1.1631
Yegappan Lakshmanan [Thu, 14 Aug 2025 19:00:51 +0000 (21:00 +0200)] 
patch 9.1.1631: proto files are outdated

Problem:  proto files are outdated
Solution: Regenerate proto files (Yegappan Lakshmanan)

closes: #17997

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1630: tests: fuzzy bufname completion test doesn't match successfully v9.1.1630
zeertzjq [Thu, 14 Aug 2025 18:34:08 +0000 (20:34 +0200)] 
patch 9.1.1630: tests: fuzzy bufname completion test doesn't match successfully

Problem:  tests: fuzzy buffer name completion test doesn't match
          successfully (after 9.1.1627).
Solution: Update pattern to account for the change in case sensitivity.
          Also mark Test_search_stat_option() as flaky as it can still
          sometimes fail (zeertzjq).

closes: #17992

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1629: Vim9: Not able to use more than 10 type arguments in a generic function v9.1.1629
Yegappan Lakshmanan [Wed, 13 Aug 2025 20:39:37 +0000 (22:39 +0200)] 
patch 9.1.1629: Vim9: Not able to use more than 10 type arguments in a generic function

Problem:  Vim9: Not able to use more than 10 type arguments in a generic
          function
Solution: Initialize the types after reading all the type arg variable
          names (Yegappan Lakshmanan)

closes: #17981

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(python): highlight "self" and "cls" in syntax script
Jon Parise [Wed, 13 Aug 2025 20:34:51 +0000 (22:34 +0200)] 
runtime(python): highlight "self" and "cls" in syntax script

These are special names by convention, and giving them distinct
highlighting is a nice visual clue (using Identifier by default).

This group is named "pythonClassVar" to match the name used by
python-syntax. Some third-party color schemes are aware of this
name and customized their colors accordingly.

closes: #17968

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Zvezdan Petkovic <zpetkovic@acm.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(vimgoto): make gf extract packadd/colo name more flexible
Shane-XB-Qian [Wed, 13 Aug 2025 20:31:09 +0000 (22:31 +0200)] 
runtime(vimgoto): make gf extract packadd/colo name more flexible

closes: #17983

Signed-off-by: Shane-XB-Qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1628: fuzzy.c has a few issues v9.1.1628
glepnir [Wed, 13 Aug 2025 20:02:30 +0000 (22:02 +0200)] 
patch 9.1.1628: fuzzy.c has a few issues

Problem:  fuzzy.c has a few issues
Solution: Use Vims memory management, update style
          (glepnir)

Problem:
- Missing cleanup of lmatchpos lists causing memory leaks
- Missing error handling for list operations
- Use of malloc() instead of Vim's alloc() functions
- Inconsistent C-style comments
- Missing null pointer checks for memory allocation
- Incorrect use of vim_free() for list objects

Solution:
- Add proper cleanup of lmatchpos in done section using list_free()
- Set lmatchpos to NULL after successful transfer to avoid confusion
- Add error handling for list_append_tv() failures
- Replace malloc() with alloc() and add null pointer checks
- Convert C-style comments to C++ style for consistency
- Fix vim_free() calls to use list_free() for list objects

closes: #17984

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(doc): Adapt fuzzy doc to reflect 'fzy' algorithm
Girish Palya [Wed, 13 Aug 2025 19:53:53 +0000 (21:53 +0200)] 
runtime(doc): Adapt fuzzy doc to reflect 'fzy' algorithm

closes: #17988

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1627: fuzzy matching can be improved v9.1.1627
Girish Palya [Tue, 12 Aug 2025 20:22:52 +0000 (22:22 +0200)] 
patch 9.1.1627: fuzzy matching can be improved

Problem:  fuzzy-matching can be improved
Solution: Implement a better fuzzy matching algorithm
          (Girish Palya)

Replace fuzzy matching algorithm with improved fzy-based implementation

The
[current](https://www.forrestthewoods.com/blog/reverse_engineering_sublime_texts_fuzzy_match/)
fuzzy matching algorithm has several accuracy issues:

* It struggles with CamelCase
* It fails to prioritize matches at the beginning of strings, often
  ranking middle matches higher.

After evaluating alternatives (see my comments
[here](https://github.com/vim/vim/issues/17531#issuecomment-3112046897)
and
[here](https://github.com/vim/vim/issues/17531#issuecomment-3121593900)),
I chose to adopt the [fzy](https://github.com/jhawthorn/fzy) algorithm,
which:

* Resolves the aforementioned issues.
* Performs better.

Implementation details

This version is based on the original fzy
[algorithm](https://github.com/jhawthorn/fzy/blob/master/src/match.c),
with one key enhancement: **multibyte character support**.

* The original implementation supports only ASCII.
* This patch replaces ascii lookup tables with function calls, making it
  compatible with multibyte character sets.
* Core logic (`match_row()` and `match_positions()`) remains faithful to
  the original, but now operates on codepoints rather than single-byte
  characters.

Performance

Tested against a dataset of **90,000 Linux kernel filenames**. Results
(in milliseconds) show a **\~2x performance improvement** over the
current fuzzy matching algorithm.

```
Search String            Current Algo    FZY Algo
-------------------------------------------------
init                          131.759    66.916
main                          83.688     40.861
sig                           98.348     39.699
index                         109.222    30.738
ab                            72.222     44.357
cd                            83.036     54.739
a                             58.94      62.242
b                             43.612     43.442
c                             64.39      67.442
k                             40.585     36.371
z                             34.708     22.781
w                             38.033     30.109
cpa                           82.596     38.116
arz                           84.251     23.964
zzzz                          35.823     22.75
dimag                         110.686    29.646
xa                            43.188     29.199
nha                           73.953     31.001
nedax                         94.775     29.568
dbue                          79.846     25.902
fp                            46.826     31.641
tr                            90.951     55.883
kw                            38.875     23.194
rp                            101.575    55.775
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk 48.519     30.921
```

```vim
vim9script

var haystack = readfile('/Users/gp/linux.files')

var needles = ['init', 'main', 'sig', 'index', 'ab', 'cd', 'a', 'b',
'c', 'k',
    'z', 'w', 'cpa', 'arz', 'zzzz', 'dimag', 'xa', 'nha', 'nedax',
'dbue',
    'fp', 'tr', 'kw', 'rp', 'kkkkkkkkkkkkkkkkkkkkkkkkkkkkk']
for needle in needles
    var start = reltime()
    var tmp = matchfuzzy(haystack, needle)
    echom $'{needle}' (start->reltime()->reltimefloat() * 1000)
endfor
```

Additional changes

* Removed the "camelcase" option from both matchfuzzy() and
  matchfuzzypos(), as it's now obsolete with the improved algorithm.

related: neovim/neovim#34101
fixes #17531
closes: #17900

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1626: cindent: does not handle compound literals v9.1.1626
Anttoni Erkkilä [Tue, 12 Aug 2025 19:59:06 +0000 (21:59 +0200)] 
patch 9.1.1626: cindent: does not handle compound literals

Problem:  C-indent does not handle compound literals
          (@44100hertz, @Jorenar)
Solution: Detect and handle compound literal and structure
          initialization (Anttoni Erkkilä)

match '=' or "return" optionally followed by &, (typecast), {
Fixes also initialization which begins with multiple opening braces.

fixes: #2090
fixes: #12491
closes: #17865

Signed-off-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>