]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
2 days agoruntime(vim): 'iskeyword' setting not correctly restored
Christian Brabandt [Tue, 4 Nov 2025 18:13:55 +0000 (18:13 +0000)] 
runtime(vim): 'iskeyword' setting not correctly restored

fixes: #18673

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1896: tests: patch v9.1.1895 breaks CI v9.1.1896
Christian Brabandt [Sun, 2 Nov 2025 15:24:42 +0000 (15:24 +0000)] 
patch 9.1.1896: tests: patch v9.1.1895 breaks CI

Problem:  tests: patch v9.1.1895 breaks CI, by failing screen dump tests
          test_listlbr_utf8, test_diffmode and test_cmdline
Solution: Revert it

Revert "patch 9.1.1895: OSC terminal response hard to detect"
This reverts commit 8707b7a15b8a22ee4f60e1f9e7d3d417b20e60d2.

related: #18660

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): clarify W11 warning and possible options
Christian Brabandt [Sat, 1 Nov 2025 17:04:43 +0000 (17:04 +0000)] 
runtime(doc): clarify W11 warning and possible options

fixes: #18589

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1895: OSC terminal response hard to detect v9.1.1895
Foxe Chen [Sat, 1 Nov 2025 16:26:18 +0000 (16:26 +0000)] 
patch 9.1.1895: OSC terminal response hard to detect

Problem:  OSC terminal response hard to detect
Solution: Add the <OSC> and <xOSC> pseudo keys
          (Foxe Chen)

closes: #18660

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1894: global_runtime_dir appends /after directory when using XDG v9.1.1894
Christian Brabandt [Sat, 1 Nov 2025 16:20:10 +0000 (16:20 +0000)] 
patch 9.1.1894: global_runtime_dir appends /after directory when using XDG

Problem:  global_runtime_dir appends /after directory when using XDG
          configuration directory (Marius Gedminas).
Solution: Do not append /after to RUNTIME_GLOBAL_AFTER.

closes: #18663
closes: #18665

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1893: ICCF charity will dissolve v9.1.1893
Christian Brabandt [Sat, 1 Nov 2025 16:15:39 +0000 (16:15 +0000)] 
patch 9.1.1893: ICCF charity will dissolve

Problem:  ICCF charity will dissolve
Solution: Update references to Kuwasha

Since the ICCF[1] will be dissolved and handing over to the Kuwasha charity
to continue supporting the Kibaale Children Center in Uganda, update the
uganda.txt help file.

[1]: https://groups.google.com/g/vim_announce/c/pUNbNXBLbKw/m/-zFUd4JjAQAJ

fixes: #18584
closes: #18667

Signed-off-by:
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1892: Not possible to know once Vim is done with sourcing vimrc v9.1.1892
Evgeni Chasnovski [Sat, 1 Nov 2025 15:54:35 +0000 (15:54 +0000)] 
patch 9.1.1892: Not possible to know once Vim is done with sourcing vimrc

Problem:   A plugin does not know when startup scripts were already
           triggered. This is useful to determine if a function is
           called inside vimrc or after (like when sourcing 'plugin/'
           files).
Solution:  Add the v:vim_did_init variable (Evgeni Chasnovski)

closes: #18668

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(netrw): NetrwChgPerm for files not in cwd
Mohammad Reza Karimi [Sat, 1 Nov 2025 15:46:04 +0000 (15:46 +0000)] 
runtime(netrw): NetrwChgPerm for files not in cwd

Problem:  Changing permissions fail when using `gp` if the file under
          the cursor is not in the current working directory.
Solution: Use the already available `a:curdir` argument and prepend it
          to the `<cfile>`, so that the path of the file is correct.

This commit also refactors some leftover `netrw#ErrorMsg` to
`netrw#msg#Notify` (the main refactoring was done in
f5e3b5c04f85b0f69cd2aae81e4938cfb191a790).

closes: #18674

Signed-off-by: Mohammad Reza Karimi <m.r.karimi.j@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(log): syntax file update
Mao-Yining [Sat, 1 Nov 2025 15:42:32 +0000 (15:42 +0000)] 
runtime(log): syntax file update

closes: #18675

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(doc): Fix a few typos
Hirohito Higashi [Sat, 1 Nov 2025 15:24:12 +0000 (15:24 +0000)] 
runtime(doc): Fix a few typos

closes: #18676

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1891: g<End> does not move to last non-blank in visual mode v9.1.1891
varsidry [Fri, 31 Oct 2025 16:16:11 +0000 (16:16 +0000)] 
patch 9.1.1891: g<End> does not move to last non-blank in visual mode

Problem:  In visual mode, g<End> does not move to the last non-blank
          character when the end of a line is on the same line as the
          cursor (after v9.0.1753)
Solution: Move the cursor back by one position if it lands after the
          line (varsidry)

fixes: #18657
closes: #18658

Signed-off-by: varsidry <240319857+varsidry@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agotranslation: regenerate po/vim.pot after 73a0de4a04b48cca
Christian Brabandt [Fri, 31 Oct 2025 09:16:19 +0000 (09:16 +0000)] 
translation: regenerate po/vim.pot after 73a0de4a04b48cca

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1890: %P in 'statusline' doesn't behave as documented v9.1.1890
zeertzjq [Fri, 31 Oct 2025 09:10:05 +0000 (09:10 +0000)] 
patch 9.1.1890: %P in 'statusline' doesn't behave as documented

Problem:  %P in 'statusline' doesn't behave as documented
          (after 9.1.1479).
Solution: Make the percentage 3-chars wide when not translated.
          (zeertzjq)

fixes: #18669
closes: #18671

Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1889: filetype: not all AppleScript files are recognized v9.1.1889
Samuel Huang [Fri, 31 Oct 2025 09:03:04 +0000 (09:03 +0000)] 
patch 9.1.1889: filetype: not all AppleScript files are recognized

Problem:  filetype: not all AppleScript files are recognized
Solution: Detect *.applescript files as applescript filetype
          (Samuel Huang)

Reference:
https://en.wikipedia.org/wiki/AppleScript

closes: #18672

Signed-off-by: Samuel Huang <hi@sgh.ng>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agoDrop superfluous execute permissions for readable files
Aliaksei Budavei [Thu, 30 Oct 2025 19:05:03 +0000 (19:05 +0000)] 
Drop superfluous execute permissions for readable files

- runtime/ftplugin/plsql.vim (42e498)
- runtime/pack/dist/opt/editorconfig/LICENSE.PSF (e5e043)
- src/po/check.vim (96dab9)
- src/po/it.po (bb0d3b)

closes: #18666

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime: regenerate helptags, update last-change header in tombi compiler
Christian Brabandt [Wed, 29 Oct 2025 20:20:10 +0000 (20:20 +0000)] 
runtime: regenerate helptags, update last-change header in tombi compiler

Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line v9.1.1888
zeertzjq [Wed, 29 Oct 2025 20:15:01 +0000 (20:15 +0000)] 
patch 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line

Problem:  Wrong display with cpo+=$, matchparen and wrapped line.
Solution: Use old cursor line height when scrolling with cpo+=$. Also
          fix wrong redraw in non-current window. (zeertzjq)

fixes: #18647
closes: #18662

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(compiler): Fix escaping in Windows shell command for tombi
Konfekt [Wed, 29 Oct 2025 20:11:57 +0000 (20:11 +0000)] 
runtime(compiler): Fix escaping in Windows shell command for tombi

As observed by Doug Kearns

related: #18590
closes: #18661

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1887: string handling in strings.c can be improved v9.1.1887
John Marriott [Tue, 28 Oct 2025 20:56:47 +0000 (20:56 +0000)] 
patch 9.1.1887: string handling in strings.c can be improved

Problem:  string handling in strings.c can be improved
Solution: Refactor strings.c and remove calls to STRLEN()
          (John Marriott)

This change does:
- In vim_strsave_shellescape() a small cosmetic change.
- In string_count() move the call to STRLEN() outside the while loop.
- In blob_from_string() refactor to remove call to STRLEN().
- In string_from_blob() call vim_strnsave() instead of vim_strsave().
- In vim_snprintf_safelen() call vim_vsnprintf_typval() directly instead
  of vim_vsnprintf() which then calls vim_vsnprintf_typval().
- In copy_first_char_to_tv() change to return -1 on failure or the length
  of resulting v_string. Change string_filter_map() and string_reduce() to
  use the return value of copy_first_char_to_tv().

closes: #18617

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(compiler): Fix invalid expression in tombi compiler after d659fafcc
Christian Brabandt [Tue, 28 Oct 2025 20:50:44 +0000 (20:50 +0000)] 
runtime(compiler): Fix invalid expression in tombi compiler after d659fafcc

related: #18590

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(compiler): add tombi compiler to lint TOML files
Konfekt [Tue, 28 Oct 2025 20:42:17 +0000 (20:42 +0000)] 
runtime(compiler): add tombi compiler to lint TOML files

closes: #18590

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(vim): Update base syntax, match Vim9 lambda arg to :defer
Doug Kearns [Tue, 28 Oct 2025 20:36:04 +0000 (20:36 +0000)] 
runtime(vim): Update base syntax, match Vim9 lambda arg to :defer

Support added in commit 21ef3c6e5972bbe8ab61195f98ccb85048b78985.

See: #18643
closes: #18645

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1886: filetype: Android aconfig files are not recognized v9.1.1886
Bruno Belanyi [Tue, 28 Oct 2025 20:31:55 +0000 (20:31 +0000)] 
patch 9.1.1886: filetype: Android aconfig files are not recognized

Problem:  filetype: Android aconfig files are not recognized
Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi)

Reference:
https://source.android.com/docs/setup/build/feature-flagging/declare-flag

closes: #18656

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes v9.1.1885
zeertzjq [Tue, 28 Oct 2025 20:27:19 +0000 (20:27 +0000)] 
patch 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes

Problem:  Wrong restored cursor position when re-entering a buffer
          previously viewed in a window after making changes to the same
          buffer in another window.
Solution: Adjust per-window "last cursor" positions on buffer changes.
          (zeertzjq)

closes: #18655

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(doc): Highlight [expr] arg in :help :return description
Doug Kearns [Tue, 28 Oct 2025 20:20:02 +0000 (20:20 +0000)] 
runtime(doc): Highlight [expr] arg in :help :return description

closes: #18654

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1884: :defer an empty lambda causes a crash v9.1.1884
Yegappan Lakshmanan [Tue, 28 Oct 2025 20:05:13 +0000 (20:05 +0000)] 
patch 9.1.1884: :defer an empty lambda causes a crash

Problem:  :defer an empty lambda causes a crash
          (Maxim Kim, after v9.1.1882)
Solution: Check for missing arguments (Yegappan Lakshmanan)

related: #18641
closes: #18653

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(doc): revert wrong 'incsearch' description
Christian Brabandt [Tue, 28 Oct 2025 19:47:26 +0000 (19:47 +0000)] 
runtime(doc): revert wrong 'incsearch' description

This reverts commit 3fc00c05fb464d3e806df53bdc1743faa337ddca.

related: #18639

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1883: Wrong display with 'smoothscroll' with -diff v9.1.1883
zeertzjq [Tue, 28 Oct 2025 19:03:22 +0000 (19:03 +0000)] 
patch 9.1.1883: Wrong display with 'smoothscroll' with -diff

Problem:  Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
Solution: Use plines_correct_topline() (zeertzjq).

closes: #18649

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1882: Vim9: Not able to use a lambda with :defer v9.1.1882
Yegappan Lakshmanan [Mon, 27 Oct 2025 18:07:52 +0000 (18:07 +0000)] 
patch 9.1.1882: Vim9: Not able to use a lambda with :defer

Problem:  Vim9: Not able to use a lambda with :defer
          (Maxim Kim)
Solution: Add support for this (Yegappan Lakshmanan)

fixes: #18626
closes: #18643

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(netrw): fix misaligned comment after #18611
zeertzjq [Mon, 27 Oct 2025 18:04:05 +0000 (18:04 +0000)] 
runtime(netrw): fix misaligned comment after #18611

related" #18611
closes: #18644

Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1881: tests: test_popupwin fails after c8eeda9b v9.1.1881
Yee Cheng Chin [Mon, 27 Oct 2025 17:55:27 +0000 (17:55 +0000)] 
patch 9.1.1881: tests: test_popupwin fails after c8eeda9b

Problem:  tests: test_popupwin fails after c8eeda9b due to syntax
          highlighting change
Solution: Regenerate terminal dumps Test_popup_setbuf*dump
          (Yee Cheng Chin).

closes: #18646

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(doc): regenerate help tags file after eba51337
Christian Brabandt [Mon, 27 Oct 2025 17:53:44 +0000 (17:53 +0000)] 
runtime(doc): regenerate help tags file after eba51337

Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(rust): Do not use rustfmt as 'formatprg' by default
Aaron Jacobs [Mon, 27 Oct 2025 17:46:11 +0000 (17:46 +0000)] 
runtime(rust): Do not use rustfmt as 'formatprg' by default

This reverts commit 4ac995bf9366c6624a0724d19b2226f4c95694b3.

This was added in #16807, with no explanation for why it was necessary beyond
"it's an example of an idea". It completely breaks `gq` for me—rustfmt doesn't
reflow comments so is not an appropriate tool here! Beyond that, formatting a
selection with rustfmt treats that selection as if it were an entire file,
throwing away any indentation.

For example, the commit causes `gq` to turn this:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}
```

into this:

```rust
pub fn foo() {
// blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}

```

which is totally wrong. In contrast, if I clear `formatprg` then `gq` does the
right thing again:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah
}
```

related: #16967
related: #17055
closes: #18640

Signed-off-by: Aaron Jacobs <jacobsa@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1880: Allocation error with complete_info() v9.1.1880
kuuote [Mon, 27 Oct 2025 17:26:29 +0000 (17:26 +0000)] 
patch 9.1.1880: Allocation error with complete_info()

Problem:  Allocation error with complete_info()
          (after v9.1.1876)
Solution: Make sure length is positive (kuuote)

closes: #18640

Signed-off-by: kuuote <znmxodq1@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1879: Crash when using a lambda funcref with :defer v9.1.1879
Yegappan Lakshmanan [Sun, 26 Oct 2025 20:03:18 +0000 (20:03 +0000)] 
patch 9.1.1879: Crash when using a lambda funcref with :defer

Problem:  Crash when using a lambda funcref with :defer
Solution: De-reference the partial correctly after invoking the deferred
          functions (Yegappan Lakshmanan).

closes: #18640

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1878: filetype: Soy files are not recognized v9.1.1878
Riley Bruins [Sun, 26 Oct 2025 20:00:03 +0000 (20:00 +0000)] 
patch 9.1.1878: filetype: Soy files are not recognized

Problem:  filetype: Soy files are not recognized
Solution: Detect *.soy files as soy filetype,
          include a soy filetype plugin (Riley Bruins)

closes: #18640

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(doc): update the :split help tags.
Christian Brabandt [Sun, 26 Oct 2025 19:56:47 +0000 (19:56 +0000)] 
runtime(doc): update the :split help tags.

closes: #18640

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1877: cindent: wrong indentation after an array declaration v9.1.1877
Anttoni Erkkilä [Sun, 26 Oct 2025 19:46:38 +0000 (19:46 +0000)] 
patch 9.1.1877: cindent: wrong indentation after an array declaration

Problem:  cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
          (Anttoni Erkkilä)

cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```

closes: #18631

Signed-off-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(doc): Improve header formatting
Doug Kearns [Sun, 26 Oct 2025 19:29:28 +0000 (19:29 +0000)] 
runtime(doc): Improve header formatting

- Normalise header formatting and highlight all bylines.
- Remove broken email address from if_sniff.txt.

closes: #18601

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(doc): mention that 'incsearch' ignores addresses and offset
Christian Brabandt [Sun, 26 Oct 2025 18:53:00 +0000 (18:53 +0000)] 
runtime(doc): mention that 'incsearch' ignores addresses and offset

closes: #18639

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(doc): Normalise heredoc end marker label at :help const
Doug Kearns [Sun, 26 Oct 2025 18:44:19 +0000 (18:44 +0000)] 
runtime(doc): Normalise heredoc end marker label at :help const

Match the name used at :help :let-heredoc, {endmarker}.

closes: #18638

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1876: pre-inserted text not exposed in cmdcomplete_info() v9.1.1876
Girish Palya [Sun, 26 Oct 2025 18:30:40 +0000 (18:30 +0000)] 
patch 9.1.1876: pre-inserted text not exposed in cmdcomplete_info()

Problem:  pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
          function (Girish Palya)

closes: #18571

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Feat: expose preinserted text in complete_info()

Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1875: username parsing bug in netrw plugin v9.1.1875
Václav Kobera [Sun, 26 Oct 2025 18:21:04 +0000 (18:21 +0000)] 
patch 9.1.1875: username parsing bug in netrw plugin

Problem:  username parsing bug in netrw plugin when using remote adding
          feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
          test for the netrw plugin

closes: #18611

Signed-off-by: Václav Kobera <vasekobera@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1874: short-description v9.1.1874
Girish Palya [Sun, 26 Oct 2025 13:52:03 +0000 (13:52 +0000)] 
patch 9.1.1874: short-description

Problem:  PMenuShadow overrides highlighting attributes
          (Maxim Kim)
Solution: Use hl_combine_attr() to combine popup attribute with shadow
          attribute (Girish Palya)

fixes: #18557
closes: #18634

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(vim): Update base syntax, improve :@ highlighting
Doug Kearns [Sun, 26 Oct 2025 13:50:05 +0000 (13:50 +0000)] 
runtime(vim): Update base syntax, improve :@ highlighting

- Highlight :@ as a normal Ex command rather than something special.
- Fix erroneous matching of the Ex command as a register variable.

closes: #18624

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1873: Clipboard provider feature broke clipboard support v9.1.1873
Foxe Chen [Sun, 26 Oct 2025 13:43:15 +0000 (13:43 +0000)] 
patch 9.1.1873: Clipboard provider feature broke clipboard support

Problem:  Clipboard provider feature broke clipboard support
          (Yee Cheng Chin)
Solution: Revert clipboard changes (Foxe Chen).

fixes: #18600
closes: #18633

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1872: Cmdline history not updated when mapping <Up> and <CR> v9.1.1872
zeertzjq [Sun, 26 Oct 2025 13:29:09 +0000 (13:29 +0000)] 
patch 9.1.1872: Cmdline history not updated when mapping <Up> and <CR>

Problem:  Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
          no pending input (zeertzjq).

Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode.  I'm not entirely sure if this
change will cause problems, but it seems unlikely.

fixes: #2771
related: neovim/neovim#36256
closes: #18607

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(colors): Add PmenuBorder/PmenuShadow
Maxim Kim [Sun, 26 Oct 2025 13:24:53 +0000 (13:24 +0000)] 
runtime(colors): Add PmenuBorder/PmenuShadow

closes: #18635

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(debversions): Add resolute (26.04) as Ubuntu release name
James McCoy [Sun, 26 Oct 2025 13:24:04 +0000 (13:24 +0000)] 
runtime(debversions): Add resolute (26.04) as Ubuntu release name

closes: #18637

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoCI: Include a job index in names of collected artifacts
Aliaksei Budavei [Sat, 25 Oct 2025 14:21:56 +0000 (14:21 +0000)] 
CI: Include a job index in names of collected artifacts

And include "extra" Linux elements to further disambiguate
archive names.

The current naming of artifacts is inadequate when it comes
to files whose differing name-parts only come from array
values, as arrays are not automatically converted to string.
For example, both artifacts for failing "socketserver" and
"no_x11" CI jobs will claim the same name, and whichever job
finishes last is allowed to overwrite another matching name
artifact.

Reference:
https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#functions

closes: #18556

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(make): Prevent makeTargetinDefine matching extra line
Yiyang Wu [Sat, 25 Oct 2025 14:19:07 +0000 (14:19 +0000)] 
runtime(make): Prevent makeTargetinDefine matching extra line

This fixes a bug introduced in 2a33b499a3d7f46dc307234847a6562cef6cf1d8:
When makeTargetinDefine ends with makeIdent, makeSpecTarget or
makeComment, the following line is also matched as makeTargetinDefine.

So, add keepend to prevent that just as makeTarget does.

related: #18403
closes: #18570

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(doc): Improve highlighting of the +feature-list table
Doug Kearns [Sat, 25 Oct 2025 14:15:15 +0000 (14:15 +0000)] 
runtime(doc): Improve highlighting of the +feature-list table

Fix false positives for headings and command specification counts.

closes: #18603

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1871: Wrong 'showcmd' in the cmdwin v9.1.1871
zeertzjq [Sat, 25 Oct 2025 03:40:45 +0000 (03:40 +0000)] 
patch 9.1.1871: Wrong 'showcmd' in the cmdwin

Problem:  Wrong 'showcmd' in the command-line window.
Solution: Clear 'showcmd' when entering cmdwin (zeertzjq).

related: neovim/neovim#36271
closes: #18616

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(unison): update syntax from upstream repository
Anton Parkhomenko [Sat, 25 Oct 2025 03:39:08 +0000 (03:39 +0000)] 
runtime(unison): update syntax from upstream repository

closes: #18623

Signed-off-by: Anton Parkhomenko <mailbox@chuwy.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(doc): Fix option markup at :help 'pumborder'
Doug Kearns [Sat, 25 Oct 2025 03:37:07 +0000 (03:37 +0000)] 
runtime(doc): Fix option markup at :help 'pumborder'

Remove the redundant helpHyperTextJump markup around options.  Options
are never wrapped as jumps.

See :help help-writing (TAGS section)

closes: #18619

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1870: :Tutor may not work as expected v9.1.1870
Phạm Bình An [Sat, 25 Oct 2025 03:31:27 +0000 (03:31 +0000)] 
patch 9.1.1870: :Tutor may not work as expected

Problem:  :Tutor may not work as expected
Solution: set buftype=nowrite instead of nofile
          (Phạm Bình An)

closes: #18613

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(tutor): Update German translation for the tutor
Fabian Eberts [Fri, 24 Oct 2025 15:48:45 +0000 (15:48 +0000)] 
runtime(tutor): Update German translation for the tutor

closes: #18625

Signed-off-by: Fabian Eberts <64541491+feberts@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1869: tests: test failures with Python 3.14 and test_python3 v9.1.1869
Yee Cheng Chin [Fri, 24 Oct 2025 15:40:09 +0000 (15:40 +0000)] 
patch 9.1.1869: tests: test failures with Python 3.14 and test_python3

Problem:  tests: test failures with Python 3.14 and test_python3
Solution: Adjust the expected error message (Yee Cheng Chin)

Python 3.14 changed the error message from "argument must be 2-item
sequence" to "argument must be 2-item tuple". Fix test to account for
that. Otherwise the error message for the `vim.current.window.cursor =
True` line would not match.

closes: #18629

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1868: v:register is wrong in v_: command v9.1.1868
zeertzjq [Sat, 18 Oct 2025 14:37:48 +0000 (14:37 +0000)] 
patch 9.1.1868: v:register is wrong in v_: command

Problem:  v:register is wrong in v_: command (after 9.1.1858).
Solution: Don't reset v:register for OP_COLON (zeertzjq)

related: https://github.com/vim/vim/pull/18583#issuecomment-3418030021

closes: #18597

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1867: HAVE_STDARG_H still defined v9.1.1867
Ola Söder [Sat, 18 Oct 2025 14:30:10 +0000 (14:30 +0000)] 
patch 9.1.1867: HAVE_STDARG_H still defined

Problem:  HAVE_STDARG_H still defined
          (after v7.4.1216)
Solution: Remove all remaining occurrences of HAVE_STDARG_H
          (Ola Söder)

closes: #18593

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1866: HAVE_STRCSPN define is unused v9.1.1866
Ola Söder [Sat, 18 Oct 2025 14:04:28 +0000 (14:04 +0000)] 
patch 9.1.1866: HAVE_STRCSPN define is unused

Problem:  HAVE_STRCSPN define is unused
Solution: Remove all HAVE_STRCSPN defines
          (Ola Söder)

closes: #18592

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1865: tests: do not notice lines containing only a tab v9.1.1865
Hirohito Higashi [Sat, 18 Oct 2025 13:57:53 +0000 (13:57 +0000)] 
patch 9.1.1865: tests: do not notice lines containing only a tab

Problem:  tests: test_codestyle does not notice lines containing only a
          tab
Solution: Fix the whitespace issue in eval.txt, update test_codestyle to
          notice such issues (Hirohito Higashi)

closes: #18595

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoFix incorrect spelling of Vim script and Vim9 script
Hirohito Higashi [Fri, 17 Oct 2025 17:48:34 +0000 (17:48 +0000)] 
Fix incorrect spelling of Vim script and Vim9 script

closes: #18591

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1864: tests: Clipboard provider feature test failure v9.1.1864
Foxe Chen [Fri, 17 Oct 2025 17:30:43 +0000 (17:30 +0000)] 
patch 9.1.1864: tests: Clipboard provider feature test failure

Problem:  tests: Clipboard provider feature test failure
Solution: Check in the test that the + clipboard register is available,
          fix compile warning (Foxe Chen)

closes: #18586

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vimcomplete): do not complete 'shellcmd' on WSL and Windows
Maxim Kim [Thu, 16 Oct 2025 19:17:02 +0000 (19:17 +0000)] 
runtime(vimcomplete): do not complete 'shellcmd' on WSL and Windows

- shellcmd completion is VERY slow on both WSL and Windows, e.g. `term
  something` or `!something` might take ~10 seconds to show first
  results. Do not complete it there.

- revert previous change to not complete on whitespace, do not complete
  on *empty* lines instead.

closes: #18568

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1863: Cannot test for working "+" register v9.1.1863
Foxe Chen [Thu, 16 Oct 2025 19:11:37 +0000 (19:11 +0000)] 
patch 9.1.1863: Cannot test for working "+" register

Problem:  Cannot test for working "+" register
Solution: Add a few more feature tests (Foxe Chen)

closes: #18541

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1862: wrong ifdefs for clipboard provider v9.1.1862
Foxe Chen [Thu, 16 Oct 2025 18:57:20 +0000 (18:57 +0000)] 
patch 9.1.1862: wrong ifdefs for clipboard provider

Problem:  Wrong ifdefs for clipboard provider (after v9.1.1857)
Solution: Update ifdefs (Foxe Chen)

`clip_mch_own_selection()` should only be compiled if there is:

- No Wayland or X11 or clipboard provider support
- If not on UNIX (except MacOS) and clipboard provider feature is
  enabled.

closes: #18574

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(odin): fix indent for mis-identified case statements
Maxim Kim [Thu, 16 Oct 2025 18:53:19 +0000 (18:53 +0000)] 
runtime(odin): fix indent for mis-identified case statements

related: habamax/vim-odin#11
closes: #18578

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1861: Amiga: Locating runtime dir and rc files can be simplified v9.1.1861
Ola Söder [Thu, 16 Oct 2025 18:48:21 +0000 (18:48 +0000)] 
patch 9.1.1861: Amiga: Locating runtime dir and rc files can be simplified

Problem:  Amiga: Locating runtime directory and rc files can be
          simplified.
Solution: Use assigns since it's simpler and more in line with
          how other Amiga applications work (Ola Söder).

closes: #18581

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1860: clipboard register "+" enabled with cplipboard provider feature v9.1.1860
Foxe Chen [Thu, 16 Oct 2025 18:41:02 +0000 (18:41 +0000)] 
patch 9.1.1860: clipboard register "+" enabled with cplipboard provider feature

Problem:  clipboard register "+" enabled with cplipboard provider feature
          (BenYip, after v9.1.1857)
Solution: Don't make clipboard provider enable plus register on UNIX
          (Foxe Chen)

fixes: #18580
closes: #18580

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1859: completion: whitespace not cleared with 'ai' v9.1.1859
Maxim Kim [Thu, 16 Oct 2025 18:32:21 +0000 (18:32 +0000)] 
patch 9.1.1859: completion: whitespace not cleared with 'ai'

Problem:  completion: whitespace not cleared with 'ai'
Solution: Remove spaces added by 'autoindent' when autocomplete is set
          and restore did_ai in ins_compl_start() (Maxim Kim)

fixes #18560
closes: #18582

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1858: v:register not reset after Visual mode command v9.1.1858
zeertzjq [Thu, 16 Oct 2025 18:17:45 +0000 (18:17 +0000)] 
patch 9.1.1858: v:register not reset after Visual mode command

Problem:  v:register not reset after Visual mode command.
          (laktak)
Solution: Reset v:register if Visual mode was active before
          do_pending_operator() (zeertzjq)

fixes: #18579
related: #5305
closes: #18583

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1857: Missing clipboard provider support v9.1.1857
Foxe Chen [Tue, 14 Oct 2025 19:35:17 +0000 (19:35 +0000)] 
patch 9.1.1857: Missing clipboard provider support

Problem:  Missing clipboard provider support
          (lilydjwg)
Solution: Add clipboard provider feature
          (Foxe Chen)

fixes: #12419
closes: #17998

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1856: cannot style popup window (border, shadow, etc) v9.1.1856
Girish Palya [Tue, 14 Oct 2025 18:48:36 +0000 (18:48 +0000)] 
patch 9.1.1856: cannot style popup window (border, shadow, etc)

Problem:  cannot style popup window (border, shadow, etc)
Solution: Extend the 'completepopup' option with additional properties
          (Girish Palya)

This patch extends the 'completepopup' option with additional settings
to allow more configuration of info popup window.

New values:
```
- close           "on" (default) or "off"
- resize          "on" (default) or "off"
- borderchars     specify eight characters (separated by semicolons) to
                  draw the popup border: top, right, bottom, left,
                  topleft, topright, botright, botleft.
- borderhighlight highlight group for the popup border characters
- shadow          pum shadow
```

closes: #18487

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1855: Makefile: using non-portable syntax v9.1.1855
Christian Brabandt [Tue, 14 Oct 2025 18:30:38 +0000 (18:30 +0000)] 
patch 9.1.1855: Makefile: using non-portable syntax

Problem:  Makefile: using non-portable syntax
          (Jonathan Schleifer)
Solution: Remove duplicate parenthesis

closes: #18542

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Miscellaneous documentation fixes
Doug Kearns [Tue, 14 Oct 2025 18:24:54 +0000 (18:24 +0000)] 
runtime(doc): Miscellaneous documentation fixes

- Use full option name for 'clipboard' at :help :put.
- Minor rewordings, typo fixes, and formatting fixes.

related: #18453
closes: #18572

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Fix example highlighting at :help prop_list()
Doug Kearns [Mon, 13 Oct 2025 21:07:22 +0000 (21:07 +0000)] 
runtime(doc): Fix example highlighting at :help prop_list()

closes: #18573

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Normalise formatting of builtin function descriptions
Doug Kearns [Mon, 13 Oct 2025 19:17:14 +0000 (19:17 +0000)] 
runtime(doc): Normalise formatting of builtin function descriptions

- Column align tags
- Move tags to the same line as the function signature
- Move descriptions to the line below the function signature
- Add missing hyperlinks to builtins in the description text

closes: #18478

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Remove accidental option name highlighting from :help channel.txt
Doug Kearns [Mon, 13 Oct 2025 19:08:45 +0000 (19:08 +0000)] 
runtime(doc): Remove accidental option name highlighting from :help channel.txt

closes: #18564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1854: unnecessary code in optionstr.c v9.1.1854
Hirohito Higashi [Mon, 13 Oct 2025 19:06:04 +0000 (19:06 +0000)] 
patch 9.1.1854: unnecessary code in optionstr.c

Problem:  unnecessary code in optionstr.c
Solution: Remove it (Hirohito Higashi)

fixes: #18551
closes: #18554

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol v9.1.1853
zeertzjq [Mon, 13 Oct 2025 19:02:10 +0000 (19:02 +0000)] 
patch 9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol

Problem:  Ctrl-F and Ctrl-B at more prompt not working with kitty
          keyboard protocol or modifyOtherKeys (after v9.1.1849).
Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).

closes: #18558

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoCI: Bump github/codeql-action from 3 to 4
dependabot[bot] [Mon, 13 Oct 2025 19:00:08 +0000 (19:00 +0000)] 
CI: Bump github/codeql-action from 3 to 4

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

closes: #18559

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vimcomplete): do not complete on empty line
Maxim Kim [Mon, 13 Oct 2025 18:58:17 +0000 (18:58 +0000)] 
runtime(vimcomplete): do not complete on empty line

closes: #18561

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): fix inconsistent alignment
zeertzjq [Mon, 13 Oct 2025 18:54:44 +0000 (18:54 +0000)] 
runtime(doc): fix inconsistent alignment

closes: #18562

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(bitbake): fix multiline Python function parameter syntax
Martin Schwan [Mon, 13 Oct 2025 18:50:20 +0000 (18:50 +0000)] 
runtime(bitbake): fix multiline Python function parameter syntax

Fix syntax highlighting for def-style Python functions, with their
parameters spanning multiple lines. E.g. the following should match as
valid Python code in Bitbake recipes:

    def myFunction(one, two, \
                   three, four):
        pass

For this to work, use the prefix modifier "\_" before the wildcard ".",
to also match newline characters.

closes: #18565

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Preserve indentation of directives
Marshall Ward [Mon, 13 Oct 2025 18:37:59 +0000 (18:37 +0000)] 
runtime(rst): Preserve indentation of directives

This patch preserves indentation in comments.  It work by removing the
explicit 3-space indentation and replaces with with an expression which
uses the current value with a minimum of three spaces.

Discussed in the mailing list:

    https://groups.google.com/g/vim_dev/c/rn8ZLDrCbYU

Thanks to Friedrich Romstedt for reporting and Christian Brabandt for
investigating the issue.

closes: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Update b:undo_ftplugin variable
Doug Kearns [Mon, 13 Oct 2025 18:34:47 +0000 (18:34 +0000)] 
runtime(rst): Update b:undo_ftplugin variable

The value of this variable is evaluated when the 'filetype' option is
changed and should be a command string that will undo any configuration
changes that the plugin has made.

See :help undo_indent for details

related: #18566

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Style update
Marshall Ward [Mon, 13 Oct 2025 18:33:56 +0000 (18:33 +0000)] 
runtime(rst): Style update

Minor style and whitespace changes to the reST syntax file, to sync with
the development branch.

related: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Enable spell checking for more syntax constructs
Kirk Roemer [Mon, 13 Oct 2025 18:32:57 +0000 (18:32 +0000)] 
runtime(rst): Enable spell checking for more syntax constructs

Enable spell checking for more recognised constructs:

* comments
* footnotes
* citations
* directives
* inline markup (*text*, **text**, ...)

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Inline literal escape support
Marshall Ward [Mon, 13 Oct 2025 18:31:49 +0000 (18:31 +0000)] 
runtime(rst): Inline literal escape support

Escape character support was disabled for inline literals, which are
handled separately from standard inline highlights, in that escape
characters are unsupported.

related: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Recognise numeric footnotes [1] correctly
Kirk Roemer [Mon, 13 Oct 2025 18:30:48 +0000 (18:30 +0000)] 
runtime(rst): Recognise numeric footnotes [1] correctly

The markup for footonotes [1] and citations [2] are almost identical.
The difference is that footnotes allow numeric values but citations
allow every valid reference name except numeric values.

The regex for matching citations currently only checks for valid
reference names but does not exclude number-only labels, thus also
matches numeric footnotes.  To match such footnotes, e.g. ``[1]`` define
the syntax rule for footnotes after the syntax rule for citations so it
gets higher precedence and matches first.

[1] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#footnotes
[2] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#citations

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Correctly end nested comments
Antony Lee [Mon, 13 Oct 2025 18:28:58 +0000 (18:28 +0000)] 
runtime(rst): Correctly end nested comments

Previously, a comment in a directive block would incorrectly mark
all subsequent lines in the directive block as comment, because the
syn-region did not check the leading indent.

related: #18566

Signed-off-by: Antony Lee <anntzer.lee@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Fix highlights nested in directive body
Minjie Xu [Mon, 13 Oct 2025 18:27:49 +0000 (18:27 +0000)] 
runtime(rst): Fix highlights nested in directive body

The leading two dots of a RST directive gets matched by
rstExplicitMarkup group first, and then the directive name and directive
body will be matched by the groups contained in rstDirectives cluster in
order.

The rstExDirective group in rstDiretives matches any RST directives
other than footnote, citation and hyperlink target, therefore admonition
and code block will be matched by rstExDirective. This fix has
rstExDirective contain rstExplicitMarkup so as to enable recursive RST
directives match.

The interpreted texts enclosed in quotes are not highlighted within a
RST directive body, because the rstCruft cluster contains a non-existing
rstInterpretedText group.It should be renamed to
rstInterpretedTextOrHyperlinkReference which is defined in a
DefineInlineMarkup function call.

related: #18566

Signed-off-by: Minjie Xu <madjxatw@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Add support for rst_minlines
Dragan Simic [Mon, 13 Oct 2025 18:25:57 +0000 (18:25 +0000)] 
runtime(rst): Add support for rst_minlines

Following the approach used in other syntax definitions, add support for
defining the "syntax sync minlines=..." values for rst files in the
users' ~/.vimrc files, to allow the users to adjust that value in case
syntax highlighting stops working for some of the files they edit.

related: #18566

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(rst): Fix doctest block syntax
Kirk Roemer [Mon, 13 Oct 2025 18:24:09 +0000 (18:24 +0000)] 
runtime(rst): Fix doctest block syntax

A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

Remove ``oneline`` argument to syntax region as this requirement is not
met.  Consequently, also remove ``display`` as the prerequisite (the
syntax region is on a single line) is no longer met.

----

Recognise '>>>' inside doctest blocks

Recognise subsequent '>>>' prompts in doctest blocks, e.g.

>>> print('this is a Doctest block')
this is a Doctest block
>>> print('this is a second Doctest block')
this is a second Doctest block
A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Whitespace updates
Doug Kearns [Sun, 12 Oct 2025 15:31:11 +0000 (15:31 +0000)] 
runtime(doc): Whitespace updates

Use double sentence spacing and wrap lines at 'textwidth'.  Code
examples and tables were not wrapped unless this had already been done
locally.

closes: #18453

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(make): syntax highlighting update for makeDefine
Yiyang Wu [Sun, 12 Oct 2025 15:20:28 +0000 (15:20 +0000)] 
runtime(make): syntax highlighting update for makeDefine

Previously contents in makeDefine are nearly highlighted as Define, so
comments and targets shares the same color as Define, making it hard to
distinguish if someone write large block of targets-recipes as defined
function.

Such scenario is common in building data analysis pipeline. Recipes are
reused and targets may have multiple variables, and a single % implicit
rule is not enough.

closes: #18403

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update syntax, add missing commands to generator exclusion list
Doug Kearns [Sun, 12 Oct 2025 15:15:00 +0000 (15:15 +0000)] 
runtime(vim): Update syntax, add missing commands to generator exclusion list

closes: #18548

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1852: vim9class: memory leak in parse_member() v9.1.1852
Lidong Yan [Sun, 12 Oct 2025 15:10:09 +0000 (15:10 +0000)] 
patch 9.1.1852: vim9class: memory leak in parse_member()

Problem:  vim9class: fix memory leak in parse_member()
Solution: Free evalarg before returning (Lidong Yan)

In parse_member(), skip_expr_concatenate() allocates memory in evalarg.
However parse_member() forgets to free evalarg at early return-fail
point. Add clear_evalarg() at early return-fail point.

closes: #18533

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1851: memory leak in heredoc_get() v9.1.1851
Lidong Yan [Sun, 12 Oct 2025 15:05:11 +0000 (15:05 +0000)] 
patch 9.1.1851: memory leak in heredoc_get()

Problem:  memory leak in heredoc_get()
Solution: Free "str" if list_append_string() fails
          (Lidong Yan).

In heredoc_get(), eval_all_expr_in_str() allocates a new string and
assign it to local variable "str". When list_append_string() failed
the memory pointed to by "str" leaks. Free "str" if list_append_string()
failed.

related: #18533

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>