]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
15 hours agotranslation(ru): Update messages translation master
RestorerZ [Fri, 11 Jul 2025 17:40:39 +0000 (19:40 +0200)] 
translation(ru): Update messages translation

closes: #17719

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 hours agotests: string options in gen_opt_test.vim not fully sorted v9.1.1538
zeertzjq [Fri, 11 Jul 2025 17:17:07 +0000 (19:17 +0200)] 
tests: string options in gen_opt_test.vim not fully sorted

Problem:  tests: string options in gen_opt_test.vim aren't fully sorted.
Solution: Sort the string options alphabetically.  Also make description
          of 'maxsearchcount' start with lower-case for consistency with
          other options, update documentation for searchcount().

closes: #17720

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
37 hours agocheck.vim: detect trailing whitespace
Christian Brabandt [Thu, 10 Jul 2025 19:01:27 +0000 (21:01 +0200)] 
check.vim: detect trailing whitespace

Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agoruntime(help_ru): Update help_ru syntax script
RestorerZ [Thu, 10 Jul 2025 18:52:18 +0000 (20:52 +0200)] 
runtime(help_ru): Update help_ru syntax script

closes: #17718

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agoruntime(vim): Update base syntax, improve function call highlighting
Doug Kearns [Thu, 10 Jul 2025 18:50:06 +0000 (20:50 +0200)] 
runtime(vim): Update base syntax, improve function call highlighting

- Match more function calls.
- Contain function call syntax groups.
- Improve differentiation between Ex commands and builtin functions with
  the same name.  Remove special cases.  Command modifiers are not
  currently well differentiated from functions.

closes: #17712

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agopatch 9.1.1537: helptoc: still some issues when markdown code blocks v9.1.1537
Christian Brabandt [Thu, 10 Jul 2025 18:44:51 +0000 (20:44 +0200)] 
patch 9.1.1537: helptoc: still some issues when markdown code blocks

Problem:  helptoc: still some issues when parsing markdown code blocks
          (VimWei)
Solution: assign nextline to curline before starting the next loop
          iteration; when processing fenced code blocks, flip the
          skip_fence variable, update the test to be more comprehensive

related: https://github.com/vim/vim/issues/17699#issuecomment-3055603968
closes: #17716

Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agopatch 9.1.1536: tests: test_plugin_comment uses wrong :Check command v9.1.1536
Christian Brabandt [Thu, 10 Jul 2025 18:40:09 +0000 (20:40 +0200)] 
patch 9.1.1536: tests: test_plugin_comment uses wrong :Check command

Problem:  tests: test_plugin_comment.vim uses :CheckScreenDump check but
          doesn't actually use a screen dump.
Solution: Use :CheckRunVimInTerminal instead, remove a few empty lines.

test_plugin_comment.vim uses :CheckScreenDump to test for the screen
dump feature in each single test case.

However, since we are not actually using any screen dumps, it would be
more correct to use :CheckRunVimInTerminal, since this is the actual
command that we want to run.

And instead of verifying this for each single test, let's just do it
once when sourcing the file. While doing this, also remove some white
spaces.

closes: #17711

Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agopatch 9.1.1535: the maximum search count uses hard-coded value 99 v9.1.1535
Christian Brabandt [Thu, 10 Jul 2025 18:34:41 +0000 (20:34 +0200)] 
patch 9.1.1535: the maximum search count uses hard-coded value 99

Problem:  The maximum search count uses a hard-coded value of 99
          (Andres Monge, Joschua Kesper)
Solution: Make it configurable using the 'maxsearchcount' option.

related: #8855
fixes: #17527
closes: #17695

Signed-off-by: Christian Brabandt <cb@256bit.org>
38 hours agopatch 9.1.1534: unnecessary code in tabpanel.c v9.1.1534
Hirohito Higashi [Thu, 10 Jul 2025 18:14:01 +0000 (20:14 +0200)] 
patch 9.1.1534: unnecessary code in tabpanel.c

Problem:  unnecessary code in tabpanel.c
Solution: remove it (Hirohito Higashi)

closes: #17713

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agopatch 9.1.1533: helptoc: does not handle code sections in markdown well v9.1.1533
Christian Brabandt [Wed, 9 Jul 2025 18:26:07 +0000 (20:26 +0200)] 
patch 9.1.1533: helptoc: does not handle code sections in markdown well

Problem:  helptoc: does not handle code sections in markdown well
          (VimWei)
Solution: Skip over fenced code sections (lacygoill), add a test.

fixes: #17699
closes: #17710

Co-authored-by: lagygoill <lacygoill@lacygoill.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agoruntime(doc): clarify how ex ranges are adjusted when acting on folds
Christian Brabandt [Wed, 9 Jul 2025 17:59:22 +0000 (19:59 +0200)] 
runtime(doc): clarify how ex ranges are adjusted when acting on folds

closes: #17696

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agotranslation(ru): update vim-ru according to patch 9.1.1485
RestorerZ [Wed, 9 Jul 2025 17:45:43 +0000 (19:45 +0200)] 
translation(ru): update vim-ru according to patch 9.1.1485

closes: #17709

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agotranslation(ru): update vimtutor-ru man according to commit 5bbdd0b
RestorerZ [Wed, 9 Jul 2025 17:43:51 +0000 (19:43 +0200)] 
translation(ru): update vimtutor-ru man according to commit 5bbdd0b

closes: #17708

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agotranslation(ru): Update main readme.ru.txt according to commit 2bfd1ee
RestorerZ [Wed, 9 Jul 2025 17:41:21 +0000 (19:41 +0200)] 
translation(ru): Update main readme.ru.txt according to commit 2bfd1ee

closes: #17707

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agoruntime(filetype): fix incorrect pattern and break early
zeertzjq [Wed, 9 Jul 2025 16:23:14 +0000 (18:23 +0200)] 
runtime(filetype): fix incorrect pattern and break early

- Using `\n` is incorrect, as result of getline() does not contain line
  breaks and only uses `\n` for NUL bytes.
- Return when b:asmsyntax is set, like many other filetypes.

closes: #17706

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 days agoRevert "runtime(haskell): Add single quote to `iskeyword` in ftplugin (#8191)"
Christian Brabandt [Wed, 9 Jul 2025 16:15:30 +0000 (18:15 +0200)] 
Revert "runtime(haskell): Add single quote to `iskeyword` in ftplugin (#8191)"

This reverts commit 5e6e4042b1c9685bce86493e3ee6fe916a7f221c.

related: #8191

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1532: termdebug: not enough ways to configure breakpoints v9.1.1532
Dimitry Ishenko [Tue, 8 Jul 2025 21:13:14 +0000 (23:13 +0200)] 
patch 9.1.1532: termdebug: not enough ways to configure breakpoints

Problem:  termdebug: not enough ways to configure breakpoints
Solution: add the termdebug_config['signs'] config setting, rework the
          termdebug test cases (Dimitry Ishenko)

Allow to configure custom breakpoint signs so one can do something like
this:

```vim
let g:termdebug_config['signs'] = ['>1', '>2', '>3', '>4', '>5', '>6', '>7', '>8', '>9']
let g:termdebug_config['sign'] = '>>'
```

where the first 9 breakpoints will have their own signs and the rest
will be the same (>>).

While at it, rework the test for the termdebug plugin:

- Added test for g:termdebug_config['signs'].
- Added test for g:termdebug_config['sign'].
- Moved test for g:termdebug_config['sign_decimal'] into
  Test_termdebug_basic()

closes: #17694

Signed-off-by: Dimitry Ishenko <dimitry.ishenko@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1531: confusing error with nested legacy function v9.1.1531
Hirohito Higashi [Tue, 8 Jul 2025 21:07:21 +0000 (23:07 +0200)] 
patch 9.1.1531: confusing error with nested legacy function

Problem:  confusing error with nested legacy function
          (lacygoill)
Solution: clarify error message E1117 with :def or :func (Hirohito Higashi)

fixes: #17697
closes: #17702

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1530: Missing version change in v9.1.1529 v9.1.1530
Christian Brabandt [Tue, 8 Jul 2025 21:04:36 +0000 (23:04 +0200)] 
patch 9.1.1530: Missing version change in v9.1.1529

Problem:  Missing version change from v9.1.1529
Solution: Update version.c with latest patch

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1529: Win32: the toolbar in the GUI is old and dated v9.1.1529
RestorerZ [Tue, 8 Jul 2025 21:00:13 +0000 (23:00 +0200)] 
patch 9.1.1529: Win32: the toolbar in the GUI is old and dated

Problem:  Win32: the toolbar in the GUI is old and dated
Solution: Include improved icons from Fatcow (CC by 3.0)
          (RestorerZ)

closes: vim/vim-win32-installer#372
closes: #17698

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1528: completion: crash with getcompletion() v9.1.1528
Christian Brabandt [Tue, 8 Jul 2025 20:04:10 +0000 (22:04 +0200)] 
patch 9.1.1528: completion: crash with getcompletion()

Problem:  completion: crash with getcompletion()
          (zeertzjq)
Solution: Don't set may_expand_pattern in f_getcompletion(),
          unset may_expand_pattern() once it is not longer needed
          (Girish Palya).

fixes: #17680
closes: #17686

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1527: Vim9: Crash with string compound assignment v9.1.1527
Hirohito Higashi [Tue, 8 Jul 2025 19:47:01 +0000 (21:47 +0200)] 
patch 9.1.1527: Vim9: Crash with string compound assignment

Problem:  Vim9: Crash when using string compound assignment with wrong
          data type (lacygoill)
Solution: verify expected member type (Hirohito Higashi)

fixes: #17675
closes: #17693

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agoruntime(filetype): improve asm heuristics and move into FTasmsyntax()
Wu Yongwei [Tue, 8 Jul 2025 19:42:37 +0000 (21:42 +0200)] 
runtime(filetype): improve asm heuristics and move into FTasmsyntax()

fixes: #17474
closes: #17683

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 days agopatch 9.1.1526: completion: search completion match may differ in case v9.1.1526
Girish Palya [Tue, 8 Jul 2025 19:29:02 +0000 (21:29 +0200)] 
patch 9.1.1526: completion: search completion match may differ in case

Problem:  completion: search completion match may differ in case
          (techntools)
Solution: add "exacttext" to 'wildoptions' value (Girish Palya)

This flag does the following:

exacttext
      When this flag is present, search pattern completion
      (e.g., in |/|, |?|, |:s|, |:g|, |:v|, and |:vim|)
      shows exact buffer text as menu items, without
      preserving regex artifacts like position
      anchors (e.g., |/\<|). This provides more intuitive
      menu items that match the actual buffer text. However,
      searches may be less accurate since the pattern is not
      preserved exactly.
      By default, Vim preserves the typed pattern (with
      anchors) and appends the matched word. This preserves
      search correctness, especially when using regular
      expressions or with 'smartcase' enabled. However, the
      case of the appended matched word may not exactly
      match the case of the word in the buffer.

fixes: #17654
closes: #17667

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agoruntime(netrw): restore blank line cleanup after file listing
uma-chan [Mon, 7 Jul 2025 20:04:11 +0000 (22:04 +0200)] 
runtime(netrw): restore blank line cleanup after file listing

Problem:  v182 refactoring removed blank line cleanup (g/^$/d) from
          s:LocalListing(), causing empty lines between directories
          and files.
Solution: Add the missing cleanup after append() in s:PerformListing()
          (uma-chan).

closes: #17672

Co-authored-by: Luca Saccarola <96259932+saccarosium@users.noreply.github.com>
Signed-off-by: uma-chan <127664533+i9wa4@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1525: tests: testdir/ is a bit messy v9.1.1525
Christian Brabandt [Mon, 7 Jul 2025 18:53:55 +0000 (20:53 +0200)] 
patch 9.1.1525: tests: testdir/ is a bit messy

Problem:  tests: testdir is a bit messy
Solution: move test scripts into testdir/util/ directory

src/testdir/ has become a dumping ground mixing test cases with utility
functions. Let's fix this by moving all utility functions into the
testdir/util/ directory

Also a few related changes had to be done:
- Update Filelist
- update README.txt and mention the new directory layout
- fix shadowbuild by linking the util directory into the shadow dir

closes: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1524: tests: too many imports in the test suite v9.1.1524
Christian Brabandt [Mon, 7 Jul 2025 18:39:29 +0000 (20:39 +0200)] 
patch 9.1.1524: tests: too many imports in the test suite

Problem:  tests: too many imports in the test suite
Solution: Clean up the imported scripts

Most tests make use of check.vim, so let's just source it once in
runtest.vim instead of having each test manually source it.

runtest.vim already sources shared.vim, which again sources
view_util.vim, so we don't need to source those two common
dependencies in all the other tests

And then check.vim sources term_util.vim already, so we can in addition
drop sourcing it explicitly in each single test script.

Note: test_expand_func.vim had to be updated to account for the changed
number of sourced files.

And finally check.vim uses line-continuation so let's also explicitly
enable line continuation via the 'cpo' option value.

related: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1523: tests: test_clipmethod fails in non X11 environment v9.1.1523
Christian Brabandt [Mon, 7 Jul 2025 18:07:06 +0000 (20:07 +0200)] 
patch 9.1.1523: tests: test_clipmethod fails in non X11 environment

Problem:  tests: test_clipmethod fails in non X11 environment
Solution: test that $DISPLAY is available

related: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1522: tests: still some ANSI escape sequences in test output v9.1.1522
Christian Brabandt [Mon, 7 Jul 2025 18:03:03 +0000 (20:03 +0200)] 
patch 9.1.1522: tests: still some ANSI escape sequences in test output

Problem:  tests: still some ANSI escape sequences in test messages output
Solution: update the cleanup regexp to also handle those ANSI escape
          sequences: `<esc>|2h` and `<esc>|31H` like in this log output:

```
2025-07-05T20:02:47.6350409Z <esc>|2hExecuted 171 tests in   4.739708 seconds<esc>|31H
```

related: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' v9.1.1521
Girish Palya [Mon, 7 Jul 2025 17:47:53 +0000 (19:47 +0200)] 
patch 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect'

Problem:  When 'wildmode' is set to include "noselect", the popup menu (pum)
          incorrectly retained its scroll position when reopened. This
          meant that after scrolling down through the menu with `<C-n>`,
          reopening the menu (e.g., by retyping the command and
          triggering completion again) would show the menu starting from
          the previously scrolled position, rather than from the top.
          This could confuse users, as the first visible item would not
          be the first actual match in the list.

Solution: Ensure that the popup menu resets its scroll position to the
          top when reopened (Girish Palya).

closes: #17673

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1520: completion: search completion doesn't handle 'smartcase' well v9.1.1520
Girish Palya [Mon, 7 Jul 2025 17:42:10 +0000 (19:42 +0200)] 
patch 9.1.1520: completion: search completion doesn't handle 'smartcase' well

Problem:  When using `/` or `?` in command-line mode with 'ignorecase' and
          'smartcase' enabled, the completion menu could show items that
          don't actually match any text in the buffer due to case mismatches

Solution: Instead of validating menu items only against the user-typed
          pattern, the new logic also checks whether the completed item
          matches actual buffer content. If needed, it retries the match
          using a lowercased version of the candidate, respecting
          smartcase semantics.

closes: #17665

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agopatch 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail v9.1.1519
Christian Brabandt [Mon, 7 Jul 2025 17:38:27 +0000 (19:38 +0200)] 
patch 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail

Problem:  Test_termdebug_decimal_breakpoints() fails with List index out
          of range, because when adding the second breakpoint, the
          cursor is still on the very first line (a header include line)
          and therefore gdb refuses to set the breakpoint with:
          `msg="No compiled code for line 1 in file XTD_decimal.c"`
Solution: Run the program, so that it will break at the very first
          defined breakpoint and then once we are in the program,
          set further breakpoints

closes: #17689

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 days agoruntime(doc): Add documentation style
Damien Lejay [Mon, 7 Jul 2025 17:19:48 +0000 (19:19 +0200)] 
runtime(doc): Add documentation style

closes: #17627

Co-authored-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com>
Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1518: getcompletiontype() may crash v9.1.1518
zeertzjq [Sun, 6 Jul 2025 18:26:56 +0000 (20:26 +0200)] 
patch 9.1.1518: getcompletiontype() may crash

Problem:  getcompletiontype() crashes when no completion is available
          (after v9.1.1509).
Solution: Don't call set_expand_context() (zeertzjq)

fixes: #17681
closes: #17684

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(optwin): add missing values for tabpanel option
RestorerZ [Sun, 6 Jul 2025 18:17:36 +0000 (20:17 +0200)] 
runtime(optwin): add missing values for tabpanel option

closes: #17685

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agotranslation(tr): Update Turkish translations
Emir SARI [Sun, 6 Jul 2025 18:12:20 +0000 (20:12 +0200)] 
translation(tr): Update Turkish translations

closes: #17688

Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(doc): fix a few typos introduced in 0ae9e19540dda5d
Christian Brabandt [Sun, 6 Jul 2025 16:26:49 +0000 (18:26 +0200)] 
runtime(doc): fix a few typos introduced in 0ae9e19540dda5d

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(autopkgtest): add ftplugin file for autopkgtest
James McCoy [Sun, 6 Jul 2025 16:01:18 +0000 (18:01 +0200)] 
runtime(autopkgtest): add ftplugin file for autopkgtest

closes: #17679

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(autopkgtest): add syntax file for autopkgtest
James McCoy [Sun, 6 Jul 2025 16:00:28 +0000 (18:00 +0200)] 
runtime(autopkgtest): add syntax file for autopkgtest

related: #17679

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agoruntime(debcontrol): move kernel/architecture definitions to shared/debarchitectures.vim
James McCoy [Sun, 6 Jul 2025 15:59:40 +0000 (17:59 +0200)] 
runtime(debcontrol): move kernel/architecture definitions to shared/debarchitectures.vim

related: #17679

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1517: filetype: autopkgtest files are not recognized v9.1.1517
James McCoy [Sun, 6 Jul 2025 15:55:01 +0000 (17:55 +0200)] 
patch 9.1.1517: filetype: autopkgtest files are not recognized

Problem:  filetype: autopkgtest files are not recognized
Solution: detect */debian/tests/control files as autopkgtest filetype
          (James McCoy)

Autopkgtest is a Debian tool for testing installed versions of packages
when other, related packages are updated.

Reference:
- https://www.debian.org/doc/debian-policy/autopkgtest.txt

related: #17679

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1516: tests: no test that 'incsearch' is updated after search completion v9.1.1516
zeertzjq [Sun, 6 Jul 2025 09:06:44 +0000 (11:06 +0200)] 
patch 9.1.1516: tests: no test that 'incsearch' is updated after search completion

Problem:  tests: no test that 'incsearch' is updated after accepting
          search completion.
Solution: Add a test case (zeertzjq).

closes: #17682

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 days agopatch 9.1.1515: Coverity complains about potential unterminated strings v9.1.1515
glepnir [Sun, 6 Jul 2025 09:02:51 +0000 (11:02 +0200)] 
patch 9.1.1515: Coverity complains about potential unterminated strings

Problem:    memcpy() in ExpandRTDir_int() may create unterminated strings
Solution:   Use vim_snprintf() to construct complete paths safely
            (glepnir).

related: neovim/neovim#34795
closes: #17669

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1514: Coverity complains about the use of tmpfile() v9.1.1514
Christian Brabandt [Sun, 6 Jul 2025 08:39:59 +0000 (10:39 +0200)] 
patch 9.1.1514: Coverity complains about the use of tmpfile()

Problem:  coverity complains about the use of tmpfile()
Solution: use vim_tempname() instead to create anonym file

related: #17097
closes: #17674

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1513: resizing Vim window causes unexpected internal window width v9.1.1513
Hirohito Higashi [Sun, 6 Jul 2025 08:34:48 +0000 (10:34 +0200)] 
patch 9.1.1513: resizing Vim window causes unexpected internal window width

Problem:  resizing Vim window causes unexpected internal window width
          (chdiza, after v9.1.1465)
Solution: move the column calculation around (Hirohito Higashi)

fixes: #17657
fixes: #17595
closes: #17668

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(doc): add a section for options influencing search
Christian Brabandt [Sun, 6 Jul 2025 08:24:41 +0000 (10:24 +0200)] 
runtime(doc): add a section for options influencing search

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agotests: fix typo in comment (after v9.1.1511)
zeertzjq [Sat, 5 Jul 2025 15:02:04 +0000 (17:02 +0200)] 
tests: fix typo in comment (after v9.1.1511)

related: #17660

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(vim): Update base-syntax, match :filetype in functions
Doug Kearns [Sat, 5 Jul 2025 14:48:02 +0000 (16:48 +0200)] 
runtime(vim): Update base-syntax, match :filetype in functions

closes: #17671

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1512: completion: can only complete from keyword characters v9.1.1512
Girish Palya [Sat, 5 Jul 2025 14:11:44 +0000 (16:11 +0200)] 
patch 9.1.1512: completion: can only complete from keyword characters

Problem:  completion: can only complete from keyword characters
Solution: remove this restriction, allow completion functions when
          called from i_CTRL-N/i_CTRL-P to be triggered from non-keyword
          characters (Girish Palya)

Previously, functions specified in the `'complete'` option were
restricted to starting completion only from keyword characters (as
introduced in PR 17065). This change removes that restriction.

With this change, user-defined functions (e.g., `omnifunc`, `userfunc`)
used in `'complete'` can now initiate completion even when triggered
from non-keyword characters. This makes it easier to reuse existing
functions alongside other sources without having to consider whether the
cursor is on a keyword or non-keyword character, or worry about where
the replacement should begin (i.e., the `findstart=1` return value).

The logic for both the “collection” and “filtering” phases now fully
respects each source’s specified start column. This also extends to
fuzzy matching, making completions more predictable.

Internally, this builds on previously merged infrastructure that tracks
per-source metadata. This PR focuses on applying that metadata to
compute the leader string and insertion text appropriately for each
match.

Also, a memory corruption has been fixed in prepare_cpt_compl_funcs().

closes: #17651

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1511: tests: two edit tests change v:testing from 1 to 0 v9.1.1511
zeertzjq [Sat, 5 Jul 2025 13:39:56 +0000 (15:39 +0200)] 
patch 9.1.1511: tests: two edit tests change v:testing from 1 to 0

Problem:  tests: two edit tests change v:testing from 1 to 0.
Solution: Don't change v:testing in these two tests, since it's already
          set to 1 in runtest.vim (zeertzjq).

closes: #17660

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1510: Search completion may use invalid memory v9.1.1510
zeertzjq [Sat, 5 Jul 2025 13:37:17 +0000 (15:37 +0200)] 
patch 9.1.1510: Search completion may use invalid memory

Problem:  Search completion may use invalid memory (after 9.1.1490).
Solution: Don't get two line pointers at the same time (zeertzjq).

closes: #17661

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agopatch 9.1.1509: patch 9.1.1505 was not good v9.1.1509
Hirohito Higashi [Sat, 5 Jul 2025 13:31:23 +0000 (15:31 +0200)] 
patch 9.1.1509: patch 9.1.1505 was not good

Problem:  Patch 9.1.1505 was not good
Solution: Revert "patch 9.1.1505: not possible to return completion type
          for :ex command" and instead add the getcompletiontype()
          function (Hirohito Higashi).

related: #17606
closes: #17662

Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(vim): Update base-syntax, match escape sequences in :command blocks
Doug Kearns [Sat, 5 Jul 2025 13:21:03 +0000 (15:21 +0200)] 
runtime(vim): Update base-syntax, match escape sequences in :command blocks

- Match escape sequences in :command replacement blocks.
- Match :substitute after escape sequences (a temporary fix until Ex
  commands are contained).

fixes: #17326
closes: #17663

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 days agoruntime(go): fix `b:undo_ftplugin`
ichizok [Sat, 5 Jul 2025 13:18:41 +0000 (15:18 +0200)] 
runtime(go): fix `b:undo_ftplugin`

last `unmap` can cause the error "E31: No such mapping" when
`doaudocmd FileType go` if appending other commands to `b:undo_ftplugin` i.e.
the space and the next bar as `let b:undo_ftplugin .= ' | setl ...'`.

closes: #17664

Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1508: string manipulation can be improved in cmdexpand.c v9.1.1508
John Marriott [Thu, 3 Jul 2025 19:28:50 +0000 (21:28 +0200)] 
patch 9.1.1508: string manipulation can be improved in cmdexpand.c

Problem:  String manipulation can be improved in cmdexpand.c
Solution: Refactor cmdexpand.c to remove calls to
          STRLEN()/STRMOVE()/STRCAT() (John Marriott)

This commit does the following:

In function nextwild():
  - slightly refactor the for loop to remove an array access
  - call STRLEN() and store it's result for reuse
  - move some variables closer to where they are used, renaming some on
    the way

In function ExpandOne():
  - move some calculations outside of the for loops
  - factor out calls to STRCAT() (which has an inherent STRLEN() call) in
    the for loop
  - move some variables closer to where they are used

In function expand_files_and_dirs():
  - factor out calls to STRMOVE() (which has an inherent STRLEN() call)

In function get_filetypecmd_arg():
  - move declarations of the string arrays into the blocks where they are
    used

In function get_breakadd_arg():
  - move declaration of the string array into the block where it is
    used

In function globpath():
  - factor out calls to STRLEN() and STRCAT()
  - move some variables closer to where they are used

And finally some minor cosmetic style changes

closes: #17639

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(vim): Update base-syntax and generator, match all default highlight groups
Doug Kearns [Thu, 3 Jul 2025 18:57:03 +0000 (20:57 +0200)] 
runtime(vim): Update base-syntax and generator, match all default highlight groups

- Match Conceal, ComplMatchIns, MsgArea, Terminal, and User[1-9]
  highlight groups.
- Generate the vimGroup syntax group from runtime/syncolor.vim.
- Match :SynColor and :SynLink as special user commands.

fixes #17467
closes: #17556

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(vim): Update base-syntax and generator, generate command modifiers
Doug Kearns [Thu, 3 Jul 2025 18:47:50 +0000 (20:47 +0200)] 
runtime(vim): Update base-syntax and generator, generate command modifiers

Generate Ex command modifiers from the modifier table in src/ex_docmd.c

closes: #17564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1507: symlinks are resolved on :cd commands v9.1.1507
glepnir [Thu, 3 Jul 2025 18:41:23 +0000 (20:41 +0200)] 
patch 9.1.1507: symlinks are resolved on :cd commands

Problem:  File paths change from symlink to target path after :cd command
          when editing files through symbolic links
Solution: Add "~" flag to 'cpoptions' to control symlink resolution.
          When not included (default), symlinks are resolved maintaining
          backward compatibility. When included, symlinks are preserved
          providing the improved behavior. (glepnir)

related: neovim/neovim#15695
closes: #17628

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(postscr): Correct some standard font names in syntax
Mike Williams [Thu, 3 Jul 2025 18:31:52 +0000 (20:31 +0200)] 
runtime(postscr): Correct some standard font names in syntax

closes: #17647

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agoruntime(optwin): show 'guiligatures' option also on MS-Windows builds
RestorerZ [Thu, 3 Jul 2025 18:27:37 +0000 (20:27 +0200)] 
runtime(optwin): show 'guiligatures' option also on MS-Windows builds

closes: #17650

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() v9.1.1506
zeertzjq [Thu, 3 Jul 2025 18:02:02 +0000 (20:02 +0200)] 
patch 9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight()

Problem:  tests: missing cleanup test_override('char_avail', 0) in
          Test_search_cmdline_incsearch_highlight().
Solution: Add the missing cleanup (zeertzjq).

closes: #17655

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 days agopatch 9.1.1505: not possible to return completion type for :ex command v9.1.1505
Shougo Matsushita [Thu, 3 Jul 2025 17:57:00 +0000 (19:57 +0200)] 
patch 9.1.1505: not possible to return completion type for :ex command

Problem:  not possible to return command-line completion type for :ex
          command
Solution: make getcmdcompltype() accept an optional and return the
          command-line completion for that arg (Shougo Matsushita).

closes: #17606

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1504: filetype: numbat files are not recognized v9.1.1504
0xadk [Wed, 2 Jul 2025 17:46:05 +0000 (19:46 +0200)] 
patch 9.1.1504: filetype: numbat files are not recognized

Problem:  filetype: numbat files are not recognized
Solution: detect *.nbt files as numbat filetype (0xadk)

References:
- https://github.com/sharkdp/numbat
- https://github.com/sharkdp/numbat/tree/master/numbat/modules

closes: #17643

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1503: filetype: haxe files are not recognized v9.1.1503
0xadk [Wed, 2 Jul 2025 17:41:11 +0000 (19:41 +0200)] 
patch 9.1.1503: filetype: haxe files are not recognized

Problem:  filetype: haxe files are not recognized
Solution: detect *.hx files as haxe filetype (0xadk)

References:
- https://haxe.org/
- https://code.haxe.org/category/beginner/hello-world.html

closes: #17644

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1502: filetype: quickbms files are not recognized v9.1.1502
0xadk [Wed, 2 Jul 2025 17:33:36 +0000 (19:33 +0200)] 
patch 9.1.1502: filetype: quickbms files are not recognized

Problem:  filetype: quickbms files are not recognized
Solution: detect *.bms files as quickbms filetype
          (0xadk)

Reference:
- https://aluigi.altervista.org/quickbms.htm

closes: #17645

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agopatch 9.1.1501: filetype: flix files are not recognized v9.1.1501
0xadk [Wed, 2 Jul 2025 16:55:55 +0000 (18:55 +0200)] 
patch 9.1.1501: filetype: flix files are not recognized

Problem:  filetype: flix files are not recognized
Solution: detect *.flix files as flix filetype
          (0xadk)

References:
- https://flix.dev/
- https://doc.flix.dev/introduction.html

closes: #17646

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 days agoruntime(go): add section movement mappings to ftplugin
Rob B [Wed, 2 Jul 2025 16:46:44 +0000 (18:46 +0200)] 
runtime(go): add section movement mappings to ftplugin

closes: #17641

Signed-off-by: Rob B <github@0x7e.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agoruntime(doc): Tweak documentation style
Hirohito Higashi [Tue, 1 Jul 2025 20:07:50 +0000 (22:07 +0200)] 
runtime(doc): Tweak documentation style

closes: #17638

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1500: if_python: typo in python error variable v9.1.1500
Damien Lejay [Tue, 1 Jul 2025 19:57:59 +0000 (21:57 +0200)] 
patch 9.1.1500: if_python: typo in python error variable

Problem:  if_python: typo in python error variable
Solution: fix typo (Damien Lejay)

closes: #17640

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
10 days agopatch 9.1.1499: MS-Windows: no indication of ARM64 architecture v9.1.1499
RestorerZ [Tue, 1 Jul 2025 19:30:21 +0000 (21:30 +0200)] 
patch 9.1.1499: MS-Windows: no indication of ARM64 architecture

Problem:  MS-Windows: no indication of ARM64 architecture
Solution: Add ARM64 to version output and include in nsis installer
          (RestorerZ)

related: vim/vim-win32-installer#381
closes: #17642

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(tutor): regenerate utf-8 version of French vimtutor manpage
Damien Lejay [Mon, 30 Jun 2025 18:28:46 +0000 (20:28 +0200)] 
runtime(tutor): regenerate utf-8 version of French vimtutor manpage

related: #17546

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(netrw): upstream snapshot of v183
Luca Saccarola [Mon, 30 Jun 2025 18:26:03 +0000 (20:26 +0200)] 
runtime(netrw): upstream snapshot of v183

relevant commits:
- distribution: remove NetrwSettings.vim

closes: #17635

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agoruntime(vim): Update base-syntax, improve :syn-sync line defaults
Doug Kearns [Mon, 30 Jun 2025 18:22:38 +0000 (20:22 +0200)] 
runtime(vim): Update base-syntax, improve :syn-sync line defaults

Set minlines and maxlines to 100 and 200 respectively.  Set these after
the script interface syntax files have been loaded to ensure the values
set in those are overridden.

fixes #17580
closes: #17614

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
11 days agopatch 9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' v9.1.1498
Girish Palya [Mon, 30 Jun 2025 18:14:43 +0000 (20:14 +0200)] 
patch 9.1.1498: completion: 'complete' funcs behave different to 'omnifunc'

Problem:  completion: Functions specified in the 'complete' option did
          not have the leader string removed when called with findstart = 0,
          unlike 'omnifunc' behavior
Solution: update behaviour and make behaviour consistent (Girish Palya)

closes: #17636

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1497: Link error with shm_open() v9.1.1497
Christian Brabandt [Sun, 29 Jun 2025 20:39:14 +0000 (22:39 +0200)] 
patch 9.1.1497: Link error with shm_open()

Problem:  Link error with shm_open()
          (gcanat, after v9.1.1485)
Solution: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE

fixes: #17634

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1496: terminal: still not highlighting empty cells correctly v9.1.1496
Christian Brabandt [Sun, 29 Jun 2025 20:22:05 +0000 (22:22 +0200)] 
patch 9.1.1496: terminal: still not highlighting empty cells correctly

Problem:  terminal: still not highlighting empty cells correctly
          (Yousef Mohammed, after v9.1.1489)
Solution: Use vcol instead of col

closes: #17632

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoREADME: mention POSIX vi as a goal of this project
Christian Brabandt [Sun, 29 Jun 2025 16:27:41 +0000 (18:27 +0200)] 
README: mention POSIX vi as a goal of this project

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1495: Wayland: uses $XDG_SEAT to determine seat v9.1.1495
Foxe Chen [Sun, 29 Jun 2025 16:00:46 +0000 (18:00 +0200)] 
patch 9.1.1495: Wayland: uses $XDG_SEAT to determine seat

Problem:  Wayland: uses $XDG_SEAT to determine seat to use
          (dr0bz, after v9.1.1485)
Solution: Do not try to determine the seat from $XDG_SEAT, remove the
          code that checks for this environment variable (Foxe Chen).

related: https://github.com/vim/vim/issues/5157#issuecomment-3015248239
closes: #17625

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoci: Use tmate for debugging Github Actions CI
Christian Brabandt [Sun, 29 Jun 2025 15:57:32 +0000 (17:57 +0200)] 
ci: Use tmate for debugging Github Actions CI

closes: #17631

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoci: disable installing netbeans on Windows runners
Christian Brabandt [Sun, 29 Jun 2025 15:56:44 +0000 (17:56 +0200)] 
ci: disable installing netbeans on Windows runners

It causes CI to fail because the netbeans package has been moved

related: tunisiano187/Chocolatey-packages#3916
related: #17631

Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1494: runtime(tutor): no French translation for Chapter 2 v9.1.1494
Damien Lejay [Sun, 29 Jun 2025 15:50:20 +0000 (17:50 +0200)] 
patch 9.1.1494: runtime(tutor): no French translation for Chapter 2

Problem:  runtime(tutor): no French translation for Chapter 2
Solution: add and refine French translation of tutor2, update French
          vimtutor manpage (Damien Lejay)

- Add runtime/tutor/tutor2.fr.utf-8
- Improve translation based on review
- Update references in tutor1.fr and vimtutor-fr.1
- Adjust MAINTAINERS accordingly

closes: #17546

Co-authored-by: Gabriel Dupras <57042631+gdupras@users.noreply.github.com>
Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agoruntime(tutor): apply fixes to runtime/tutor/tutor2
Damien Lejay [Sun, 29 Jun 2025 15:49:09 +0000 (17:49 +0200)] 
runtime(tutor): apply fixes to runtime/tutor/tutor2

- Fix minor typos and formatting
- Restore accidentally removed file
- Normalize <C-r> to <CTRL-R>
- Apply reviewer suggestions

related: #17546

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agotranslation(it): updated Italian manpage
Antonio Giovanni Colombo [Sun, 29 Jun 2025 15:37:43 +0000 (17:37 +0200)] 
translation(it): updated Italian manpage

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agopatch 9.1.1493: manually comparing positions on buffer v9.1.1493
glepnir [Sun, 29 Jun 2025 14:51:40 +0000 (16:51 +0200)] 
patch 9.1.1493: manually comparing positions on buffer

Problem:  manually comparing positions on buffer
          (after v9.1.1490)
Solution: use the LTOREQ_POS() macro, fix a few other minor style issues
          (glepnir)

closes: #17629

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
12 days agonsis: copy tutor directory recursively
RestorerZ [Sun, 29 Jun 2025 14:23:33 +0000 (16:23 +0200)] 
nsis: copy tutor directory recursively

fixes: vim/vim-win32-installer#382
closes: #17630

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1492: tests: failure when Wayland compositor fails to start v9.1.1492
Christian Brabandt [Sat, 28 Jun 2025 19:03:25 +0000 (21:03 +0200)] 
patch 9.1.1492: tests: failure when Wayland compositor fails to start

Problem:  tests: failure when Wayland compositor fails to start
Solution: instead of throwing an error causing a failure, throw
          "Skipped", so that the Vim test suite continues and does not
          fail

Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1491: missing out-of-memory checks in cmdexpand.c v9.1.1491
John Marriott [Sat, 28 Jun 2025 18:41:54 +0000 (20:41 +0200)] 
patch 9.1.1491: missing out-of-memory checks in cmdexpand.c

Problem:  missing out-of-memory checks in cmdexpand.c
Solution: add out-of-memory checks for expand_files_and_dirs(),
          ExpandUserDefined() and ExpandUserList()
          (John Marriott)

closes: #17570

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(vim): re-generate vim syntax script after v9.1.1487
Christian Brabandt [Sat, 28 Jun 2025 18:23:32 +0000 (20:23 +0200)] 
runtime(vim): re-generate vim syntax script after v9.1.1487

Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1490: 'wildchar' does not work in search contexts v9.1.1490
Girish Palya [Sat, 28 Jun 2025 17:47:34 +0000 (19:47 +0200)] 
patch 9.1.1490: 'wildchar' does not work in search contexts

Problem:  'wildchar' does not work in search contexts
Solution: implement search completion when 'wildchar' is typed
          (Girish Palya).

This change enhances Vim's command-line completion by extending
'wildmode' behavior to search pattern contexts, including:

- '/' and '?' search commands
- ':s', ':g', ':v', and ':vim' commands

Completions preserve the exact regex pattern typed by the user,
appending the completed word directly to the original input. This
ensures that all regex elements — such as '<', '^', grouping brackets
'()', wildcards '\*', '.', and other special characters — remain intact
and in their original positions.

---

**Use Case**

While searching (using `/` or `?`) for lines containing a pattern like
`"foobar"`, you can now type a partial pattern (e.g., `/f`) followed by
a trigger key (`wildchar`) to open a **popup completion menu** showing
all matching words.

This offers two key benefits:

1. **Precision**: Select the exact word you're looking for without
typing it fully.
2. **Memory aid**: When you can’t recall a full function or variable
name, typing a few letters helps you visually identify and complete the
correct symbol.

---

**What’s New**

Completion is now supported in the following contexts:

- `/` and `?` search commands
- `:s`, `:g`, `:v`, and `:vimgrep` ex-commands

---

**Design Notes**

- While `'wildchar'` (usually `<Tab>`) triggers completion, you'll have
to use `<CTRL-V><Tab>` or "\t" to search for a literal tab.
- **Responsiveness**: Search remains responsive because it checks for
user input frequently.

---

**Try It Out**

Basic setup using the default `<Tab>` as the completion trigger:

```vim
set wim=noselect,full wop=pum wmnu
```

Now type:

```
/foo<Tab>
```

This opens a completion popup for matches containing "foo".
For matches beginning with "foo" type `/\<foo<Tab>`.

---

**Optional: Autocompletion**

For automatic popup menu completion as you type in search or `:`
commands, include this in your `.vimrc`:

```vim
vim9script
set wim=noselect:lastused,full wop=pum wcm=<C-@> wmnu

autocmd CmdlineChanged [:/?] CmdComplete()

def CmdComplete()
  var [cmdline, curpos, cmdmode] = [getcmdline(), getcmdpos(),
expand('<afile>') == ':']
  var trigger_char = '\%(\w\|[*/:.-]\)$'
  var not_trigger_char = '^\%(\d\|,\|+\|-\)\+$'  # Exclude numeric range
  if getchar(1, {number: true}) == 0  # Typehead is empty, no more
pasted input
      && !wildmenumode() && curpos == cmdline->len() + 1
      && (!cmdmode || (cmdline =~ trigger_char && cmdline !~
not_trigger_char))
    SkipCmdlineChanged()
    feedkeys("\<C-@>", "t")
    timer_start(0, (_) => getcmdline()->substitute('\%x00', '',
'ge')->setcmdline())  # Remove <C-@>
  endif
enddef

def SkipCmdlineChanged(key = ''): string
  set ei+=CmdlineChanged
  timer_start(0, (_) => execute('set ei-=CmdlineChanged'))
  return key == '' ? '' : ((wildmenumode() ? "\<C-E>" : '') .. key)
enddef

**Optional: Preserve history recall behavior**
cnoremap <expr> <Up> SkipCmdlineChanged("\<Up>")
cnoremap <expr> <Down> SkipCmdlineChanged("\<Down>")

**Optional: Customize popup height**
autocmd CmdlineEnter : set bo+=error | exec $'set ph={max([10,
winheight(0) - 4])}'
autocmd CmdlineEnter [/?] set bo+=error | set ph=8
autocmd CmdlineLeave [:/?] set bo-=error ph&
```

closes: #17570

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(doc): fix :vmap example to avoid unwanted spaces with JJ
Damien Lejay [Sat, 28 Jun 2025 17:19:04 +0000 (19:19 +0200)] 
runtime(doc): fix :vmap example to avoid unwanted spaces with JJ

fixes: #17621
closes: #17623

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1489: terminal: no visual highlight of empty cols with empty 'listchars' v9.1.1489
Christian Brabandt [Sat, 28 Jun 2025 16:40:15 +0000 (18:40 +0200)] 
patch 9.1.1489: terminal: no visual highlight of empty cols with empty 'listchars'

Problem:  terminal: no visual highlight of empty cols when 'listchars'
          is empty (Yousef Mohammed)
Solution: reset wlv.win_attr when column is zero and we are drawing a
          terminal buffer

fixes: #17559
closes: #17618

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1488: configure: using obsolete macro AC_PROG_GCC_TRADITIONAL v9.1.1488
Christian Brabandt [Sat, 28 Jun 2025 16:37:49 +0000 (18:37 +0200)] 
patch 9.1.1488: configure: using obsolete macro AC_PROG_GCC_TRADITIONAL

Problem:  configure: using obsolete macro AC_PROG_GCC_TRADITIONAL
Solution: drop it from configure.ac, regenerate auto/configure

Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoruntime(doc): Fix modeline in wayland.txt
Hirohito Higashi [Sat, 28 Jun 2025 16:34:48 +0000 (18:34 +0200)] 
runtime(doc): Fix modeline in wayland.txt

related: #17619

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1487: :cl doesn't invoke :clist v9.1.1487
Hirohito Higashi [Sat, 28 Jun 2025 16:28:25 +0000 (18:28 +0200)] 
patch 9.1.1487: :cl doesn't invoke :clist

Problem:  :cl doesn't invoke :clist
          (after v9.1.1485)
Solution: fix order of definition in ex_cmds.h
          (Hirohito Higashi)

closes: #17619

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agopatch 9.1.1486: documentation issues with Wayland v9.1.1486
Hirohito Higashi [Sat, 28 Jun 2025 16:18:21 +0000 (18:18 +0200)] 
patch 9.1.1486: documentation issues with Wayland

Problem:  documentation issues with Wayland
          (after v9.1.1485)
Solution: Tweak documentation style. Capitalize the first letter of
          Wayland (Hirohito Higashi)

related: #17619

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
13 days agoMaintainers: Update MAINTAINERS file 17624/head
Damien Lejay [Sat, 28 Jun 2025 16:13:02 +0000 (18:13 +0200)] 
Maintainers: Update MAINTAINERS file

closes: #17622

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1485: missing Wayland clipboard support v9.1.1485
Foxe Chen [Fri, 27 Jun 2025 19:10:35 +0000 (21:10 +0200)] 
patch 9.1.1485: missing Wayland clipboard support

Problem:  missing Wayland clipboard support
Solution: make it work (Foxe Chen)

fixes: #5157
closes: #17097

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(pandoc): sync syntax script with upstream
Jake Zimmerman [Fri, 27 Jun 2025 16:38:34 +0000 (18:38 +0200)] 
runtime(pandoc): sync syntax script with upstream

closes: #17598

Signed-off-by: Jake Zimmerman <zimmerman.jake@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agoruntime(netrw): upstream snapshot of v182
Luca Saccarola [Fri, 27 Jun 2025 16:28:17 +0000 (18:28 +0200)] 
runtime(netrw): upstream snapshot of v182

relevant commits:
- refactor: cleanup netrw#BrowseX
- fix: correctly handle symlinks in treeview
- chore: add minimalrc for reproducing issues
- refactor: simplify s:NetrwInit with the 'newer' assignment syntax
- refactor: remove balloon functionality
- Tune local file listing especially for Windows network drives
- interim fix for browse open with multiple windows

closes: #17616

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 weeks agopatch 9.1.1484: tests: Turkish locale tests fails on Mac v9.1.1484
Christian Brabandt [Thu, 26 Jun 2025 21:04:37 +0000 (23:04 +0200)] 
patch 9.1.1484: tests: Turkish locale tests fails on Mac

Problem:  tests: Turkish locale tests fails on Mac
          (after v9.1.1480)
Solution: skip the test Test_pos_percentage_in_turkish_locale() on Mac

Signed-off-by: Christian Brabandt <cb@256bit.org>