]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
3 days agopatch 9.1.1935: filetype: not all Erlang files are recognized v9.1.1935
Jon Parise [Sun, 30 Nov 2025 10:02:45 +0000 (10:02 +0000)] 
patch 9.1.1935: filetype: not all Erlang files are recognized

Problem:  filetype: not all Erlang files are recognized
Solution: Detect *.app.src and rebar.config files as erlang filetype
          (John Parise).

*.app.src files contain Erlang application definitions. (There are also
*.app files, which are similar but more often build artifacts, and that
file extension is too ambiguous to be recognized by default.)

Reference:
- https://www.erlang.org/doc/system/applications.html

Rebar is the Erlang build tool. rebar.config uses Erlang syntax.

Reference:
- https://rebar3.org/docs/configuration/configuration/

closes: #18835

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(doc): Update and clarify vim9.txt Section 3
Peter Kenny [Sun, 30 Nov 2025 09:40:04 +0000 (09:40 +0000)] 
runtime(doc): Update and clarify vim9.txt Section 3

closes: #18779

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(doc): Improve :help :catch command specification
Doug Kearns [Sun, 30 Nov 2025 09:23:16 +0000 (09:23 +0000)] 
runtime(doc): Improve :help :catch command specification

The pattern argument is optional.  See :help :sort for another example.

closes: #18834

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(netrw): fix undefined variable curwin in s:NetrwMenu()
Christian Brabandt [Fri, 28 Nov 2025 22:37:06 +0000 (22:37 +0000)] 
runtime(netrw): fix undefined variable curwin in s:NetrwMenu()

fixes: #18829

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1934: filetype: not all starlark files are recognized v9.1.1934
Bruno Belanyi [Fri, 28 Nov 2025 20:48:55 +0000 (20:48 +0000)] 
patch 9.1.1934: filetype: not all starlark files are recognized

Problem:  filetype: not all starlark files are recognized
Solution: Detect *.sky files as starlark filetype (Bruno Belanyi)

References:
- https://docs.bazel.build/versions/0.17.1/skylark/spec.html

closes: #18807

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): Change termdebug_config debug value to v:true in terminal.txt
Rochish Manda [Fri, 28 Nov 2025 20:42:13 +0000 (20:42 +0000)] 
runtime(doc): Change termdebug_config debug value to v:true in terminal.txt

closes: #18820

Signed-off-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): Correct typo in usr_30.txt regarding softtabstop
Shin Rag [Fri, 28 Nov 2025 20:37:16 +0000 (20:37 +0000)] 
runtime(doc): Correct typo in usr_30.txt regarding softtabstop

Fix typo in explanation of softtabstop and shiftwidth.

closes: #18823

Signed-off-by: Shin Rag <62047911+aquanjsw@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): fix typo in "appendbufline()", builtin.txt
Mao-Yining [Fri, 28 Nov 2025 20:34:38 +0000 (20:34 +0000)] 
runtime(doc): fix typo in "appendbufline()", builtin.txt

closes: #18824

Signed-off-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(defaults): Update comment for reverting C comment strings
C.D. MacEachern [Fri, 28 Nov 2025 20:25:41 +0000 (20:25 +0000)] 
runtime(defaults): Update comment for reverting C comment strings

Add `g:` prefix, so the example works in vim9script as well (errors
without it).

closes: #18827

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
5 days agoruntime(doc): Clarification in listener_add() doc
Paul Ollis [Fri, 28 Nov 2025 20:21:29 +0000 (20:21 +0000)] 
runtime(doc): Clarification in listener_add() doc

Make it clear that the overall end value can be greater than
line('$') + 1.

fixes: #18664
closes: #18828

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1933: completion: complete_match() is not useful v9.1.1933
Girish Palya [Thu, 27 Nov 2025 21:19:54 +0000 (21:19 +0000)] 
patch 9.1.1933: completion: complete_match() is not useful

Problem:  completion: complete_match() Vim script function and
          'isexpand' option are not that useful and confusing
          (after v9.1.1341)
Solution: Remove function and option and clean up code and documentation
          (Girish Palya).

complete_match() and 'isexpand' add no real functionality to Vim. They
duplicate what `strridx()` already does, yet pretend to be part of the
completion system. They have nothing to do with the completion mechanism.

* `f_complete_match()` in `insexpand.c` does not call any completion code.
   It’s just a `STRNCMP()` wrapper with fluff logic.
* `'isexpand'` exists only as a proxy argument to that function.
   It does nothing on its own and amounts to misuse of a new option.

The following Vim script function can be used to implement the same
functionality:

```vim
  func CompleteMatch(triggers, sep=',')
    let line = getline('.')->strpart(0, col('.') - 1)
    let result = []
    for trig in split(a:triggers, a:sep)
      let idx = strridx(line, trig)
      if l:idx >= 0
        call add(result, [idx + 1, trig])
      endif
    endfor
    return result
  endfunc
```

related: #16716
fixes: #18563
closes: #18790

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1932: OSC terminal response hard to detect v9.1.1932
Foxe Chen [Thu, 27 Nov 2025 20:53:36 +0000 (20:53 +0000)] 
patch 9.1.1932: OSC terminal response hard to detect

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

related: #18660
closes: #18799

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(doc): remove outdated help about 'completeopt' "fuzzy"
zeertzjq [Thu, 27 Nov 2025 20:27:13 +0000 (20:27 +0000)] 
runtime(doc): remove outdated help about 'completeopt' "fuzzy"

closes: #18815

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agotranslation: regenerate po/vim.pot after v9.1.1930
Christian Brabandt [Thu, 27 Nov 2025 20:25:22 +0000 (20:25 +0000)] 
translation: regenerate po/vim.pot after v9.1.1930

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1931: completion: wrong item selected with fuzzy and noinsert v9.1.1931
Girish Palya [Thu, 27 Nov 2025 20:20:38 +0000 (20:20 +0000)] 
patch 9.1.1931: completion: wrong item selected with fuzzy and noinsert

Problem:  completion: wrong item selected with fuzzy and noinsert
          (Evgeni Chasnovski)
Solution: Reset selected item after fuzzy sort
          (Girish Palya)

fixes: #18802
closes: #18816

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1930: completion: 'completefuzzycollect' is too obscure v9.1.1930
Girish Palya [Wed, 26 Nov 2025 21:00:16 +0000 (21:00 +0000)] 
patch 9.1.1930: completion: 'completefuzzycollect' is too obscure

Problem:  completion: 'completefuzzycollect' option is too obscure
Solution: Deprecate the option, but don't error out for existing scripts,
          behave like 'completefuzzycollect' is set when fuzzy
          completion is enabled (Girish Palya).

fixes: #18498
closes: #18788

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agoruntime(i3config/swayconfig): add all option for i3config only
Robertus Chris [Wed, 26 Nov 2025 20:37:09 +0000 (20:37 +0000)] 
runtime(i3config/swayconfig): add all option for i3config only

Since i3 version 4.24, popup_during_fullscreen has new
option `all`. So add the `all` option for popup_during_fullscreen to
prevent `all` option highlighted as error.

However, sway won't implement `all` option for popup_during_fullscreen,
so let's remove the extra options from the syntax cluster in swayconfig
syntax script after sourcing the i3config.

Reference:
- https://i3wm.org/docs/userguide.html#_popups_during_fullscreen_mode
- https://github.com/swaywm/sway/issues/8746

closes: #18760

Signed-off-by: Robertus Chris <robertusdchris@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1929: completion: spell completion wrong with fuzzy v9.1.1929
Maxim Kim [Wed, 26 Nov 2025 20:23:44 +0000 (20:23 +0000)] 
patch 9.1.1929: completion: spell completion wrong with fuzzy

Problem:  completion: spell completion wrong with fuzzy
Solution: Disable fuzzy sort for spell completion
          (Maxim Kim)

fixes #18800
closes: #18809

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agoruntime(doc): Fix typo in "Jumping to Changes", usr_08.txt
Brent Pappas [Wed, 26 Nov 2025 20:12:28 +0000 (20:12 +0000)] 
runtime(doc): Fix typo in "Jumping to Changes", usr_08.txt

- Change "Prepended" (past tense) to "Prepend" (present tense,
  imperative).
- Add short examples clarifying the behavior of prepending a count to
  commands that jump to changes in diff mode.

closes: #18810

Signed-off-by: Brent Pappas <pappasbrent@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agoCI: retire socketserver runner
Foxe Chen [Wed, 26 Nov 2025 20:06:03 +0000 (20:06 +0000)] 
CI: retire socketserver runner

closes: #18811

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 days agopatch 9.1.1928: xxd: exit_with_usage() can be simplified v9.1.1928
Stefan Haubenthal [Wed, 26 Nov 2025 20:02:16 +0000 (20:02 +0000)] 
patch 9.1.1928: xxd: exit_with_usage() can be simplified

Problem:  xxd: exit_with_usage() can be simplified
Solution: Clean up exit_with_usage() formatting slightly
          (Stefan Haubenthal)

closes: #18813

Signed-off-by: Stefan Haubenthal <polluks@sdf.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1927: Wayland: clipboard code too complex v9.1.1927
Foxe Chen [Tue, 25 Nov 2025 22:04:58 +0000 (22:04 +0000)] 
patch 9.1.1927: Wayland: clipboard code too complex

Problem:  Wayland: clipboard code too complex
Solution: Simplify clipboard related code around W23/W24
          (Foxe Chen).

Improve Wayland and clipboard related code:

- improve documentation
- remove unused code
- fix error handling
- remove warning per Clipboard_T

closes: #18794

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoCI: Bump actions/checkout from 5 to 6
dependabot[bot] [Tue, 25 Nov 2025 21:50:30 +0000 (21:50 +0000)] 
CI: Bump actions/checkout from 5 to 6

Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [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/v5...v6)

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

closes: #18803

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoUpdate link to XDG base specification in option.c comment
Philip H. [Sun, 23 Nov 2025 19:35:12 +0000 (19:35 +0000)] 
Update link to XDG base specification in option.c comment

closes: #18789

Co-authored-by: dkearns <dougkearns@gmail.com>
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(doc): Add environment variable expansion note to options
Alex Plate [Sun, 23 Nov 2025 19:30:19 +0000 (19:30 +0000)] 
runtime(doc): Add environment variable expansion note to options

Add "Environment variables are expanded |:set_env|" documentation to
options that have the P_EXPAND flag but were missing this note.

Updated options:
- 'cdpath'
- 'dictionary'
- 'mkspellmem'
- 'packpath'
- 'runtimepath'
- 'spellfile'
- 'spellsuggest'
- 'thesaurus'
- 'ttytype'
- 'undodir'
- 'verbosefile'
- 'viewdir'
- 'viminfofile'

These options support environment variable expansion in their values
(e.g., $HOME, $USER) but the documentation didn't explicitly mention
this capability. This brings their documentation in line with other
options like backupdir, directory, and makeprg that already include
this note.

closes: #18791

Signed-off-by: Alex Plate <AlexPl292@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1926: xdiff: Coverity warning with MAX_CNT/UINT_MAX usage v9.1.1926
Yee Cheng Chin [Sun, 23 Nov 2025 19:24:10 +0000 (19:24 +0000)] 
patch 9.1.1926: xdiff: Coverity warning with MAX_CNT/UINT_MAX usage

Problem:  xdiff: Coverity warning with MAX_CNT/UINT_MAX usage
          (after v9.1.1921)
Solution: Replace XDL_MIN macro to a manual check.
          (Yee Cheng Chin)

In the recent xdiff upstream sync (#18765), MAX_CNT in xhistogram was
switched back to using UINT_MAX to match upstream. This exposed an issue
in xdiff that using using min() to compare against the max integer will
not work as the number will just overflow. Switch the check to be done
in a saturating add that respects integer overflow.

related: #18765
closes: #18792

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(new-tutor): update vim-02-beginner following 48940d9
zeertzjq [Sun, 23 Nov 2025 19:19:35 +0000 (19:19 +0000)] 
runtime(new-tutor): update vim-02-beginner following 48940d9

closes: #18793

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1925: make depend does not include osdef.h v9.1.1925
Hirohito Higashi [Sun, 23 Nov 2025 18:39:36 +0000 (18:39 +0000)] 
patch 9.1.1925: make depend does not include osdef.h

Problem:  make depend does not add osdef.h for the dependencies
          (Drew Vogel)
Solution: Move ifdef PROTO (Hirohito Higashi).

fixes: #18777
closes: #18796

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(tutor): Improve style for chapter 2
Victorhck [Fri, 21 Nov 2025 18:46:27 +0000 (18:46 +0000)] 
runtime(tutor): Improve style for chapter 2

closes: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(tutor): Add Spanish translation for chapter 2
Victorhck [Fri, 21 Nov 2025 18:45:21 +0000 (18:45 +0000)] 
runtime(tutor): Add Spanish translation for chapter 2

related: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(tutor): Improve Spanish translation of chapter 1
Victorhck [Fri, 21 Nov 2025 18:43:43 +0000 (18:43 +0000)] 
runtime(tutor): Improve Spanish translation of chapter 1

related: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(haskell): Add syntax test
Doug Kearns [Fri, 21 Nov 2025 18:22:37 +0000 (18:22 +0000)] 
runtime(haskell): Add syntax test

Add a test for issue #18776 (allow spaces in backticked operators).

closes: #18783

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(vim): Update base syntax, match full :history command
Doug Kearns [Fri, 21 Nov 2025 18:18:51 +0000 (18:18 +0000)] 
runtime(vim): Update base syntax, match full :history command

closes: #18784

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoCI: Fix triage labelling of maintainer runtime files
Doug Kearns [Fri, 21 Nov 2025 18:16:15 +0000 (18:16 +0000)] 
CI: Fix triage labelling of maintainer runtime files

A directory name alone does not generate matches for its contents.

closes: #18785

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1924: 'commentstring' requires +folding feature v9.1.1924
Doug Kearns [Thu, 20 Nov 2025 21:16:48 +0000 (21:16 +0000)] 
patch 9.1.1924: 'commentstring' requires +folding feature

Problem:  'commentstring' requires the +folding feature but is used in
  contexts other than folding.
Solution: Remove the +folding feature guards from 'commentstring' and
          make it available in all builds (Doug Kearns).

closes: #18731

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1923: wrong error when assigning to read-only register v9.1.1923
Doug Kearns [Thu, 20 Nov 2025 20:59:10 +0000 (20:59 +0000)] 
patch 9.1.1923: wrong error when assigning to read-only register

Problem:  When assigning to @. in a :let command an incorrect "E15"
          error is emitted.
Solution: Emit the correct "E354" error. (Doug Kearns).

An incorrect "E488" error was also emitted in Vim9 script assignments.

It appears that the code deleted in this commit was added to work around
a limitation in the returned value from find_name_end() that no longer
exists.

See commit 76b92b2830841fd4e05006cc3cad1d8f0bc8101b (tag: v7.0b).

closes: #18757

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(vim): Update base syntax, match :debug and :break* commands
Doug Kearns [Thu, 20 Nov 2025 20:57:15 +0000 (20:57 +0000)] 
runtime(vim): Update base syntax, match :debug and :break* commands

Match full :debug, :breakadd, :breakdel and :breaklist commands.

closes: #18748

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(compiler): set errorformat where missing
Konfekt [Thu, 20 Nov 2025 20:54:31 +0000 (20:54 +0000)] 
runtime(compiler): set errorformat where missing

As a matter of caution it sets it to the default gcc errorformat:

```
errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-Gg%\?make[%*\d]: *** [%f:%l:%m,%-Gg%\?make: *** [%f:%l:%m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory %*[`']%f',%X%*\a[%*\d]: Leaving directory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leaving directory %*[`']%f',%DMaking %*\a in %f,%f|%l| %m
```

so that the compiler keeps working after switching to others.

While likely only a subset is needed; such a subset has been proposed in
a commented errorformat;

checked to work for yamllint but ran out of steam for other compilers;

closes: #18754

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(php): Update indent script to 1.76 (from 1.75)
John Wellesz [Thu, 20 Nov 2025 20:50:54 +0000 (20:50 +0000)] 
runtime(php): Update indent script to 1.76 (from 1.75)

fixes: #18739 (editor hang on mixed syntax style)
closes: #18758

Signed-off-by: John Wellesz <john.wellesz@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(haskell): allow spaces in backticked operators in syntax script
Mirek Kratochvil [Thu, 20 Nov 2025 20:47:01 +0000 (20:47 +0000)] 
runtime(haskell): allow spaces in backticked operators in syntax script

This formatting (although rare) is actually accepted by GHC, but vim
does not highlight it. This patch adds the simplest possible regex to
support the behavior.

Inconveniently, this might trigger weird formatting on lines that
contain errors, e.g. if the first backtick is removed from:

    a `b` c `d` e

then `c` is going to be marked as an operator, which seems weird but is
valid.

closes: #18776

Signed-off-by: Mirek Kratochvil <exa.exa@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1922: Wrong virtcol('$') with virtual text at EOL v9.1.1922
zeertzjq [Thu, 20 Nov 2025 20:35:12 +0000 (20:35 +0000)] 
patch 9.1.1922: Wrong virtcol('$') with virtual text at EOL

Problem:  Wrong virtcol('$') with virtual text at EOL (rickhowe).
Solution: Also add 1 to end virtcol when there is virtual text.
          (zeertzjq)

fixes: #18761
closes: #18762

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1921: xdiff: included xdiff code is outdated v9.1.1921
Yee Cheng Chin [Thu, 20 Nov 2025 20:12:55 +0000 (20:12 +0000)] 
patch 9.1.1921: xdiff: included xdiff code is outdated

Problem:  xdiff: included xdiff code is outdated because it is based on
          git 2.40.0
Solution: Sync with xdiff from git 2.52 (Yee Cheng Chin).

Git [v2.52](https://github.com/git/git/releases/tag/v2.52.0) has just been
released. Merge from upstream to get the latest version of xdiff. Vim's xdiff
was last updated in #12181 (Patch v9.0.1418) from Git v2.33 to v2.40.

I have refined the strategy for merging from upstream a bit compared to last
time. I use the following commands to create an orphaned branch that extracts
the before/after xdiff source code from the Git codebase, and then perform a
subtree merge. The commits in the orphaned branch are reproducible
deterministically so a reviewer can reproduce the steps and it should result in
identical commit hashes (63264f229d and d741f0e230). The commands are as
follows (you could run in a separate Vim repo to keep things clean):

```bash
git remote add --no-tags git https://github.com/git/git.git
git fetch git

git switch --orphan xdiff-orig
git read-tree --reset -u 73876f4861:xdiff/  # Git v2.40.0
git rm -f xmerge.c                          # Vim doesn't use xmerge
(GIT_COMMITTER_NAME="dummy" GIT_COMMITTER_EMAIL="dummy" GIT_COMMITTER_DATE="1600000000 +0000" \
  git commit --no-gpg-sign --reuse-message=73876f4861)

git switch -c xdiff-new
git read-tree --reset -u 9a2fb147f2:xdiff/  # Git v2.52.0
git rm -f xmerge.c
(GIT_COMMITTER_NAME="dummy" GIT_COMMITTER_EMAIL="dummy" GIT_COMMITTER_DATE="1600000000 +0000" \
  git commit --no-gpg-sign --reuse-message=9a2fb147f2)

git switch master
git switch -c xdiff-upstream-v2.52.0
git merge -s ours --no-edit --allow-unrelated-histories xdiff-orig
git merge -Xsubtree=xdiff xdiff-new
```

The commit graph looks like so:

```
a005e268bd 2025-11-17 17:11:26 Yee Cheng Chin (HEAD -> xdiff-upstream-v2.52.0) Update xdiff README
*   d353c6f2c8 2025-11-17 16:26:15 Yee Cheng Chin Merge branch 'xdiff-new' into xdiff-upstream-v2.52.0
|\
| * d741f0e230 2025-11-17 07:35:33 Junio C Hamano (xdiff-new) Git 2.52
* | c4f8b15dd9 2025-11-17 16:22:30 Yee Cheng Chin Merge branch 'xdiff-orig' into xdiff-upstream-v2.52.0
|\|
| * 63264f229d 2023-03-12 14:34:41 Junio C Hamano (xdiff-orig) Git 2.40
6437997d83 2025-11-16 18:30:42 Girish Palya   (tag: v9.1.1918, origin/master, origin/HEAD, master) patch 9.1.1918: completion: crash with fuzzy completion
```

For reviewing I recommend using the following commands which simplifies the diff to only what we care about:
- `git show --remerge-diff d353c6f2c8`: This shows how my merge actually
  resolved the merge conflicts.
- `vimdiff <(git diff-tree -U0 63264f229d master:src/xdiff/) \
   <(git diff-tree -U0 d741f0e230 xdiff-upstream-v2.52.0:src/xdiff) \
   -c "silent windo %s/^index.*/index/" \
   -c "silent windo %s/^@@ [-+, 0-9]* @@/@@/"`:
This shows how the patch (downstream changes done in Vim on top of Git) has
changed. Note that some local changes for fixing compiler warnings are now gone
because they are fixed upstream.

- https://github.com/git/git/commit/d39e28e68c2b1bba25c5b1213fded95e525db15e
  added a dependency (`signed_add_overflows`) to Git code base. I replaced it
  with a custom one since it's not hard to implement.
- Upstream had fixed a lot of compiler warnings with signed/unsigned integers,
  so the compiler warning fixes that were done in Vim downstream were removed.
- Replace new `BUG()` calls with `xdl_bug()` where we use Vim's assertion
  mechanisms instead.

- Performance improvement due to optimizations in the line hashing function
  (https://github.com/git/git/commit/41d97837ab1e5a35fdcfd7f6af9b5d56af62e92a and
   https://github.com/git/git/commit/a4bbe8af0b48f9c80ccc2c4619309c4a81c1460a).
  - From personal unscientific testing (Apple M1 Max, macOS 15), when using the
    new xdiff, for simple/normal diff's this could result in **11%/29%** overall
    diff speed improvement. For larger more pathologically complicated diff this
    results in a more modest **4%/7%** improvement.
  - The two improvement numbers above are for compiling Vim with `-O3 -flto` vs
    `-O2`. The more optimized version of Vim results in lower performance
    improvement as it was already doing inlining via link-time-optimization
    before.
  - Just for reference, the command I used to test this was the following (use
    either test case and comment out the other one):
    ```bash
    # Simple/normal diff test case
    (COMMIT=0d9160e11ce; git show ${COMMIT}:src/diff.c > test1.txt; git show ${COMMIT}~:src/diff.c > test2.txt)
    # Larger diff test case
    (COMMIT=9670f61d468; git show ${COMMIT}:src/auto/configure > test1.txt; git show ${COMMIT}~:src/auto/configure > test2.txt)

    # Build Vim with old/new xdiff, then copy ./src/vim to ./src/vim_orig / ./src/vim_new respectively.
    hyperfine --warmup 4 --runs 20 -L vimcmd vim_orig,vim_new \
        "./src/{vimcmd} -u NONE -U NONE -es -V1 -c \"let g:f1=readfile('test1.txt')\" -c \"let g:f2=readfile('test2.txt')\" -c \"for i in range(1,200) | call diff(g:f1, g:f2) | endfor\" -c 'q'"
    ```

closes: #18765

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1920: tests: not enough testing for wildtrigger() pum redrawing v9.1.1920
zeertzjq [Thu, 20 Nov 2025 19:52:18 +0000 (19:52 +0000)] 
patch 9.1.1920: tests: not enough testing for wildtrigger() pum redrawing

Problem:  tests: not enough testing for wildtrigger() pum redrawing.
Solution: Also test redrawing when leaving cmdline mode (zeertzjq).

closes: #18773

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoCI: Switch to macOS 26 runner
Philip H. [Thu, 20 Nov 2025 19:50:00 +0000 (19:50 +0000)] 
CI: Switch to macOS 26 runner

closes: #18775

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(c): Update signal constants in syntax script
Harry [Tue, 18 Nov 2025 20:50:39 +0000 (20:50 +0000)] 
runtime(c): Update signal constants in syntax script

closes: #18763

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Harry <166658338+harrystevens4@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1919: tabpanel: cannot handle mouse clicks in command line v9.1.1919
Hirohito Higashi [Tue, 18 Nov 2025 20:10:14 +0000 (20:10 +0000)] 
patch 9.1.1919: tabpanel: cannot handle mouse clicks in command line

Problem:  tabpanel: cannot handle mouse clicks in command line
          (char101, after v9.1.1898)
Solution: Update the condition that checks if the mouse pointer is on
          the command line (Hirohito Higashi)

closes: #18771

Co-authored-by: Charles <char101@ui.ac.id>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(netrw): Use proper UNC notation for temp files
Miguel Barro [Tue, 18 Nov 2025 20:06:06 +0000 (20:06 +0000)] 
runtime(netrw): Use proper UNC notation for temp files

closes: #18764

Signed-off-by: Guybrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(compiler): expand errorformats in maven compiler
Konfekt [Tue, 18 Nov 2025 19:49:01 +0000 (19:49 +0000)] 
runtime(compiler): expand errorformats in maven compiler

matches malformed POM error messages and tries to catch other tools
as well.

closes: #18768

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(doc): Remove :runtime completion (#11447) todo item
Doug Kearns [Tue, 18 Nov 2025 19:44:16 +0000 (19:44 +0000)] 
runtime(doc): Remove :runtime completion (#11447) todo item

This was fixed in commit a6759381a590b2d395e05b109ca9ccfc356be5a8.

closes: #18769

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1918: completion: crash with fuzzy completion v9.1.1918
Girish Palya [Sun, 16 Nov 2025 18:30:42 +0000 (18:30 +0000)] 
patch 9.1.1918: completion: crash with fuzzy completion

Problem:  completion: crash with fuzzy completion
          (Christian Brabandt)
Solution: When completion candidates are gathered from a different
          window, and when completing `<c-p>`, linked list should be
          sorted only after all items are collected (Girish Palya).

fixes: #18752
closes: #18756

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agotranslation(it): Update Italian translation
Antonio Giovanni Colombo [Sun, 16 Nov 2025 17:31:43 +0000 (17:31 +0000)] 
translation(it): Update Italian translation

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1917: Vim9: incorrect type inference with mkdir() v9.1.1917
Yegappan Lakshmanan [Sat, 15 Nov 2025 17:41:28 +0000 (17:41 +0000)] 
patch 9.1.1917: Vim9: incorrect type inference with mkdir()

Problem:  Vim9: incorrect type inference with mkdir()
          (dezza)
Solution: Before compiling a RHS expression in an assignment, save the
          new local variable contents (Yegappan Lakshmanan)

fixes: #18751
closes: #18751

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1916: WinEnter autocommand confuses Vim when closing tabpage v9.1.1916
Christian Brabandt [Sat, 15 Nov 2025 17:30:58 +0000 (17:30 +0000)] 
patch 9.1.1916: WinEnter autocommand confuses Vim when closing tabpage

Problem:  WinEnter autocommand may confuse Vim when closing tabpage
          (hokorobi)
Solution: Verify that curwin did not change in close_others()

fixes: #18722
closes: #18733

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(compiler): Remove version check in rustc compiler
Konfekt [Sat, 15 Nov 2025 17:18:41 +0000 (17:18 +0000)] 
runtime(compiler): Remove version check in rustc compiler

closes: #18347

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(compiler): add biome linter
Konfekt [Sat, 15 Nov 2025 10:38:35 +0000 (10:38 +0000)] 
runtime(compiler): add biome linter

closes: #18685

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(vim): Update base syntax and generator, match :cd commands
Doug Kearns [Sat, 15 Nov 2025 10:17:17 +0000 (10:17 +0000)] 
runtime(vim): Update base syntax and generator, match :cd commands

Match :cd commands explicitly.

fixes: #17964
closes: #18736

Reported by Maxim Kim.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1915: :breaklist accepts unprocessed arguments. v9.1.1915
Doug Kearns [Sat, 15 Nov 2025 10:13:25 +0000 (10:13 +0000)] 
patch 9.1.1915: :breaklist accepts unprocessed arguments.

Problem:  :breaklist accepts unprocessed arguments.
Solution: Remove EX_EXTRA flag from the Ex command definition.
          (Doug Kearns)

The command should emit an "E488: Trailing characters" error rather than
silently accept arguments.

closes: #18746

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(new-tutor): escape tutor filename
Andrey Starodubtsev [Thu, 13 Nov 2025 21:49:20 +0000 (21:49 +0000)] 
runtime(new-tutor): escape tutor filename

If Vim is installed into the Windows "Program Files" directory the tutor
path name contains spaces and must therefore be quoted before passing to
:drop.

closes: #18742

Signed-off-by: Andrey Starodubtsev <andrey.starodubtsev@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1914: runtime(netrw): wipes unnamed buffers v9.1.1914
Christian Brabandt [Thu, 13 Nov 2025 21:11:51 +0000 (21:11 +0000)] 
patch 9.1.1914: runtime(netrw): wipes unnamed buffers

Problem:  runtime(netrw): LocalBrowseCheck() wipes unnamed buffers when
          g:netrw_fastbrowse=0 (Carlos Falgueras GarcĂ­a)
Solution: Check that bufname() is not empty

fixes: #18740
closes: #18741

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1913: Error message with :unlet! and non-existing dictionary item v9.1.1913
Christian Brabandt [Thu, 13 Nov 2025 21:06:43 +0000 (21:06 +0000)] 
patch 9.1.1913: Error message with :unlet! and non-existing dictionary item

Problem:  Error message with :unlet! and non-existing dictionary item
          (Coacher)
Solution: Set GLV_QUIET when using unlet with bang attribute

fixes: #18516
closes: #18734

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(doc): Wrap overlength lines in uganda.txt
Doug Kearns [Thu, 13 Nov 2025 21:01:42 +0000 (21:01 +0000)] 
runtime(doc): Wrap overlength lines in uganda.txt

Wrap overlength lines and normalise URL indentation.

closes: #18737

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(help): Update syntax, match tables at :help :digraph-table
Doug Kearns [Thu, 13 Nov 2025 20:59:44 +0000 (20:59 +0000)] 
runtime(help): Update syntax, match tables at :help :digraph-table

Match the digraph tables to avoid false positive matches for helpSpecial
etc.  No syntax groups should match in these tables.

closes: #18738

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1912: tests: test_plugin_comment fails v9.1.1912
Christian Brabandt [Wed, 12 Nov 2025 21:33:38 +0000 (21:33 +0000)] 
patch 9.1.1912: tests: test_plugin_comment fails

Problem:  tests: test_plugin_comment fails, because it depends on nroff
          filetype for .mom file (after v9.1.1909)
Solution: Explicitly set filetype to nroff

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1911: build failure on Solaris with gcc 5 v9.1.1911
Christian Brabandt [Wed, 12 Nov 2025 20:04:18 +0000 (20:04 +0000)] 
patch 9.1.1911: build failure on Solaris with gcc 5

Problem:  build failure on Solaris Sparc with gcc 5
          (idgn23, after v9.1.1736)
Solution: Correctly initialize the key_name variable.

fixes: #18693

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1910: tests: test failures in Test_term_gettitle() in CI v9.1.1910
Aliaksei Budavei [Wed, 12 Nov 2025 19:49:00 +0000 (19:49 +0000)] 
patch 9.1.1910: tests: test failures in Test_term_gettitle() in CI

Problem:  tests: test failures in Test_term_gettitle() in CI
Solution: CI: Allow for title buffering in Test_term_gettitle()
          (Aliaksei Budavei)

closes: #18693

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1909: filetype: .mom files recognized as nroff files v9.1.1909
Callum Andrew [Wed, 12 Nov 2025 19:43:28 +0000 (19:43 +0000)] 
patch 9.1.1909: filetype: .mom files recognized as nroff files

Problem:  filetype: .mom files recognized as nroff files
Solution: Detect *.mom files as groff filetype instead
          (Callum Andrew)

Reference:
- mom macros are written specifically for groff:
  https://www.schaffter.ca/mom/

closes: #18718

Signed-off-by: Callum Andrew <dev@candrew.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(erlang): recognize -if/-elif as erlangPreCondit in syntax script
Vadim Yanitskiy [Wed, 12 Nov 2025 19:36:46 +0000 (19:36 +0000)] 
runtime(erlang): recognize -if/-elif as erlangPreCondit in syntax script

The -if(Condition)/-elif(Condition) are compiler macros that evaluate
the following lines only if Condition evaluates to true.  This patch
enables syntax highlighting for these macros.

https://www.erlang.org/doc/system/macros.html#conditional-compilation

closes: #18729

Signed-off-by: Vadim Yanitskiy <fixeria@osmocom.org>
Signed-off-by: Csaba Hoch <csaba.hoch@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Improve :help :ls description formatting
Doug Kearns [Wed, 12 Nov 2025 19:33:01 +0000 (19:33 +0000)] 
runtime(doc): Improve :help :ls description formatting

Quote the special buffer names for consistency (see :help bufname()) and
so that they're not incorrectly highlighted as optional command
arguments.

closes: #18730

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update base syntax, match :prompt command args
Doug Kearns [Wed, 12 Nov 2025 19:17:11 +0000 (19:17 +0000)] 
runtime(vim): Update base syntax, match :prompt command args

closes: #18732

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1908: tests: test_crash.vim times out in CI ASAN builds v9.1.1908
Christian Brabandt [Tue, 11 Nov 2025 18:06:31 +0000 (18:06 +0000)] 
patch 9.1.1908: tests: test_crash.vim times out in CI ASAN builds

Problem:  tests: test_crash.vim times out in CI ASAN builds
Solution: Increase timeout for ASAN or Valgrind runs

closes: #18725

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(css): improve cssBoxProp matches
Neil Lambert [Tue, 11 Nov 2025 18:01:31 +0000 (18:01 +0000)] 
runtime(css): improve cssBoxProp matches

closes: #18717

Signed-off-by: Neil Lambert <nlambert@pm.me>
Signed-off-by: Jay Sitter <jsit@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1907: xterm: no support for mouse buttons 8 and 9 v9.1.1907
notuxic [Tue, 11 Nov 2025 17:52:45 +0000 (17:52 +0000)] 
patch 9.1.1907: xterm: no support for mouse buttons 8 and 9

Problem:  xterm: no support for mouse buttons 8 and 9
Solution: Add support for terminals with xterm-like mouse functionality
          (notuxic)

closes: #18719

Signed-off-by: notuxic <notuxic@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1906: filetype: not all Ruby files are recognized v9.1.1906
botantony [Tue, 11 Nov 2025 17:26:02 +0000 (17:26 +0000)] 
patch 9.1.1906: filetype: not all Ruby files are recognized

Problem:  filetype: not all Ruby files are recognized
Solution: Detect *.rbi and Brewfile as ruby filetype
          (botantony).

- `rbi` is a file extension used by Sorbet, typechecker for Ruby:
   https://sorbet.org/docs/rbi

- `Brewfile` is a bundler file for Homebrew package manager:
   https://docs.brew.sh/Brew-Bundle-and-Brewfile

closes: #18697

Signed-off-by: botantony <antonsm21@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1905: tabpanel: truncates terminal output v9.1.1905
Hirohito Higashi [Tue, 11 Nov 2025 17:20:13 +0000 (17:20 +0000)] 
patch 9.1.1905: tabpanel: truncates terminal output

Problem:  tabpanel: truncates terminal output
          (hokorobi)
Solution: Use topframe->fr_width, not Columns (which includes the
          tabpanel width) (Hirohito Higashi)

related: #18678
closes: #18707

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(sqlcomplete): only set 'omnifunc' if dbext plugin was loaded
Christian Brabandt [Tue, 11 Nov 2025 17:13:44 +0000 (17:13 +0000)] 
runtime(sqlcomplete): only set 'omnifunc' if dbext plugin was loaded

fixes: #18716

Co-authored-by: gcanat <72149218+gcanat@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Wrap some overlength lines in vim9{,class}.txt.
Doug Kearns [Tue, 11 Nov 2025 16:47:24 +0000 (16:47 +0000)] 
runtime(doc): Wrap some overlength lines in vim9{,class}.txt.

closes: #18724

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update base syntax, refine object constructor matching
Doug Kearns [Tue, 11 Nov 2025 16:37:09 +0000 (16:37 +0000)] 
runtime(vim): Update base syntax, refine object constructor matching

Match "object" and "<" ... ">" separately with dedicated syntax groups
to allow for highlighting distinct from that generally used for types.

closes: #18721

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Update Section 4 of vim9.txt
Peter Kenny [Mon, 10 Nov 2025 20:29:08 +0000 (20:29 +0000)] 
runtime(doc): Update Section 4 of vim9.txt

closes: #18610

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(sml): Fix number regex in syntax script
tocariimaa [Mon, 10 Nov 2025 20:13:35 +0000 (20:13 +0000)] 
runtime(sml): Fix number regex in syntax script

closes: #18690

Signed-off-by: tocariimaa <tocariimaa@pissmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1904: Code still supports GTK2 versions older than 2.4 v9.1.1904
Drew Vogel [Mon, 10 Nov 2025 20:04:37 +0000 (20:04 +0000)] 
patch 9.1.1904: Code still supports GTK2 versions older than 2.4

Problem:  Code still supports GTK2 versions older than 2.4.
Solution: Drop support for GTK2 < 2.4 (Drew Vogel)

closes: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1903: GTK naming still reflects GTK1 support v9.1.1903
Drew Vogel [Mon, 10 Nov 2025 20:01:04 +0000 (20:01 +0000)] 
patch 9.1.1903: GTK naming still reflects GTK1 support

Problem:  GTK naming still reflects GTK1 support
Solution: Rename to avoid confusion (Drew Vogel)

related: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1902: GTK fails to compile with !FEAT_PROP_POPUP v9.1.1902
Drew Vogel [Mon, 10 Nov 2025 19:58:31 +0000 (19:58 +0000)] 
patch 9.1.1902: GTK fails to compile with !FEAT_PROP_POPUP

Problem:  GTK fails to compile with !FEAT_PROP_POPUP
Solution: Correct syntax under #ifdef
          (Drew Vogel)

related: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update base syntax, fix :augroup error matching
Doug Kearns [Mon, 10 Nov 2025 19:50:57 +0000 (19:50 +0000)] 
runtime(vim): Update base syntax, fix :augroup error matching

Only terminate the :augroup END argument at whitespace, comments and
trailing bars.

closes: #18711

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Improve windows.txt formatting
Doug Kearns [Mon, 10 Nov 2025 19:45:32 +0000 (19:45 +0000)] 
runtime(doc): Improve windows.txt formatting

- Wrap some overlength lines
- Highlight the example at :help WinScrolled-event

closes: #18713

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1901: tests: test_vim9_generics fails without job feature v9.1.1901
Christian Brabandt [Sun, 9 Nov 2025 19:39:22 +0000 (19:39 +0000)] 
patch 9.1.1901: tests: test_vim9_generics fails without job feature

Problem:  tests: test_vim9_generics fails when built without the job or
          channel feature (lazypingu)
Solution: Skip test if job/channel feature is not available

fixes: #18702

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Clean up file header whitespace
Doug Kearns [Sun, 9 Nov 2025 19:23:50 +0000 (19:23 +0000)] 
runtime(doc): Clean up file header whitespace

- :retab! line 1 and line 4 (main page heading).
- Use four columns whitespace before "by [Author]" in the user manual
  heading to match the reference manual formatting.
- double space headings.

closes: #18648

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update base syntax, match :*do command arg
Doug Kearns [Sun, 9 Nov 2025 18:59:52 +0000 (18:59 +0000)] 
runtime(vim): Update base syntax, match :*do command arg

Match the Ex command arg to all :*do commands.

closes: #18700

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(spec): Add support for more tags and distributions
Jesse Portnoy [Sun, 9 Nov 2025 18:57:34 +0000 (18:57 +0000)] 
runtime(spec): Add support for more tags and distributions

- specMacroIdentifier: support macros starting with '?'; the most common
  example is `%{?dist}`
- specPreAmble: added some missing tags from:
  https://rpm.org/docs/4.19.x/manual/spec.html
- Added support for: `fedora`, `rhel`, `rocky`, `rhl`, `centos`, `el\d`
  and `fc\d`, see https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag

closes: #18703

Signed-off-by: Jesse Portnoy <jesse.portnoy@perforce.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(vim): Update base syntax, match Vim9 object type constructor
Doug Kearns [Sat, 8 Nov 2025 17:23:47 +0000 (17:23 +0000)] 
runtime(vim): Update base syntax, match Vim9 object type constructor

fixes: #18677.
closes: #18691

Reported by Aliaksei Budavei.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1900: tabpanel: wrong condition after v9.1.1898 v9.1.1900
Hirohito Higashi [Sat, 8 Nov 2025 17:20:55 +0000 (17:20 +0000)] 
patch 9.1.1900: tabpanel: wrong condition after v9.1.1898

Problem:  tabpanel: wrong condition after v9.1.1898
Solution: Update condition (Hirohito Higashi)

related: #18678
closes: #18692

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Rewrite some overlength lines
Doug Kearns [Sat, 8 Nov 2025 17:19:34 +0000 (17:19 +0000)] 
runtime(doc): Rewrite some overlength lines

closes: #18695

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Wrap some overlength lines in the user manual
Doug Kearns [Sat, 8 Nov 2025 17:18:16 +0000 (17:18 +0000)] 
runtime(doc): Wrap some overlength lines in the user manual

closes: #18696

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(doc): Improve :help synconcealed() description
Doug Kearns [Sat, 8 Nov 2025 17:16:41 +0000 (17:16 +0000)] 
runtime(doc): Improve :help synconcealed() description

closes: #18698

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1899: tabpanel: getcmdscreenpos() wrong when tabpanel is shown v9.1.1899
Hirohito Higashi [Sat, 8 Nov 2025 17:12:57 +0000 (17:12 +0000)] 
patch 9.1.1899: tabpanel: getcmdscreenpos() wrong when tabpanel is shown

Problem:  tabpanel: getcmdscreenpos() wrong when tabpanel is shown
Solution: Adjust f_getcmdscreenpos() and add cmdline_col_off
          (Hirohito Higashi)

related: #18678
closes: #18699

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1898: tabpanel: inconsistent use of cmdline with tabpanel v9.1.1898
Hirohito Higashi [Thu, 6 Nov 2025 20:23:36 +0000 (20:23 +0000)] 
patch 9.1.1898: tabpanel: inconsistent use of cmdline with tabpanel

Problem:  tabpanel: inconsistent use of cmdline and message area with
          tabpanel
Solution: Reduce the cmdline and message area by the horizontal size of
          the tabpanel (Hirohito Higashi)

closes: #18678

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agopatch 9.1.1897: Mac: Build failure on Mac OS X 10.6 v9.1.1897
Luke Lollard [Thu, 6 Nov 2025 20:04:38 +0000 (20:04 +0000)] 
patch 9.1.1897: Mac: Build failure on Mac OS X 10.6

Problem:  Mac: Build failure on Mac OS X 10.6 due to the use of generics
          for the sound feature.
Solution: Use the simple, non-generic Objective-C version.
          (Luke Lollard)

fixes: #17678
closes: #18681

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Luke Lollard <haihige@protonmail.ch>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 weeks agoruntime(compiler): do not override &l:makeprg on :compiler!
Konfekt [Thu, 6 Nov 2025 19:47:36 +0000 (19:47 +0000)] 
runtime(compiler): do not override &l:makeprg on :compiler!

closes: #18686

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 weeks agoruntime(sml): add filetype plugin, move options from indent to ftplugin
tocariimaa [Wed, 5 Nov 2025 20:49:26 +0000 (20:49 +0000)] 
runtime(sml): add filetype plugin, move options from indent to ftplugin

closes: #18680

Signed-off-by: tocariimaa <tocariimaa@pissmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 weeks 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>
4 weeks 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>