]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
5 months agoCI: Install netbeans on windows to make sure to run test_netbeans.vim
Philip H. [Sun, 23 Feb 2025 07:50:54 +0000 (08:50 +0100)] 
CI: Install netbeans on windows to make sure to run test_netbeans.vim

otherwise the test src/testdir/test_netbeans.vim wouldn't be executed by
the CI.

closes: #16710

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(dockerfile): set comments in filetype plugin
David Mandelberg [Sat, 22 Feb 2025 14:09:03 +0000 (15:09 +0100)] 
runtime(dockerfile): set comments in filetype plugin

closes: #16698

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Honza Pokorny <honza@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(compiler): include svelte-check compiler
Konfekt [Sat, 22 Feb 2025 14:07:09 +0000 (15:07 +0100)] 
runtime(compiler): include svelte-check compiler

closes: #16704

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): get rid of the titlestring hack for terminal-api
Christian Brabandt [Sat, 22 Feb 2025 12:35:15 +0000 (13:35 +0100)] 
runtime(doc): get rid of the titlestring hack for terminal-api

fixes: #16656

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1136: Match highlighting marks a buffer region as changed v9.1.1136
Luuk van Baal [Sat, 22 Feb 2025 08:19:04 +0000 (09:19 +0100)] 
patch 9.1.1136: Match highlighting marks a buffer region as changed

Problem:  Match highlighting marks a buffer region to be redrawn as if
          its buffer text was changed, unnecessarily invoking syntax code.
Solution: Set the `w_redraw_top/bot` variables instead of the b_mod_* ones
          (Luuk van Baal)

closes: #16697

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1135: 'suffixesadd' doesn't work with multiple items v9.1.1135
zeertzjq [Sat, 22 Feb 2025 08:13:17 +0000 (09:13 +0100)] 
patch 9.1.1135: 'suffixesadd' doesn't work with multiple items

Problem:  'suffixesadd' doesn't work with multiple items
          (after 9.1.1122).
Solution: Don't concat multiple suffixes together.
          (zeertzjq)

fixes: #16694
closes: #16699

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(filetype): move filetype detection into filetypedetect augroup
Christian Brabandt [Sat, 22 Feb 2025 07:48:06 +0000 (08:48 +0100)] 
runtime(filetype): move filetype detection into filetypedetect augroup

closes: #16701

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoCI: add Makefile target to verify default highlighting groups are present
Christ van Willegen [Fri, 21 Feb 2025 19:23:26 +0000 (20:23 +0100)] 
CI: add Makefile target to verify default highlighting groups are present

When adding new highlight groups, one needs to make sure to also add a
"default link NewHlGroup ExistingHlGroup" in highlight.c code, so that
when resetting a color scheme the old color won't be left behind.

So add a Makefile in the 'ci' directory that verifies that all
documented '*hl-<groupname>' from the documentation are either reflected
in the source code, or belong to a list of 'known to be ignored'
highlight groups and let that check run as part of the CI test suite.

related: #16676
closes: #16678

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1134: filetype: Guile init file not recognized v9.1.1134
David Mandelberg [Fri, 21 Feb 2025 19:13:54 +0000 (20:13 +0100)] 
patch 9.1.1134: filetype: Guile init file not recognized

Problem:  filetype: Guile init file not recognized
Solution: detect '.guile' file as scheme filetype
          (David Mandelberg)

References:

https://www.gnu.org/software/guile/manual/html_node/Init-File.html
> When run interactively, Guile will load a local initialization file
> from ~/.guile. This file should contain Scheme expressions for
> evaluation.

closes: #16683

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1133: filetype: xkb files not recognized everywhere v9.1.1133
David Mandelberg [Fri, 21 Feb 2025 19:09:35 +0000 (20:09 +0100)] 
patch 9.1.1133: filetype: xkb files not recognized everywhere

Problem:  filetype: xkb files not recognized everywhere
Solution: detect xkb files in more places
          (David Mandelberg)

References:
https://xkbcommon.org/doc/current/user-configuration.html#user-config-locations

closes: #16684

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1132: Mark positions wrong after triggering multiline completion v9.1.1132
zeertzjq [Fri, 21 Feb 2025 19:06:26 +0000 (20:06 +0100)] 
patch 9.1.1132: Mark positions wrong after triggering multiline completion

Problem:  Mark positions wrong after triggering multiline completion.
Solution: Call deleted_lines_mark() after deleting lines.
          (zeertzjq)

closes: #16687

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1131: potential out-of-memory issue in search.c v9.1.1131
John Marriott [Fri, 21 Feb 2025 18:59:56 +0000 (19:59 +0100)] 
patch 9.1.1131: potential out-of-memory issue in search.c

Problem:  potential out-of-memory issue in search.c
Solution: improve situation and refactor search.c slightly
          (John Marriott)

- In function update_search_stat():
  add a check for a theoretical null pointer reference, set and remember
  the length of lastpat, remove the three calls to STRLEN() and use the
  various string's associated lengths instead, add a check for an
  out-of-memory condition.

- In function search_for_fuzz_match():
  remove a call to strnsave() and thus avoid having to add a check for
  an out-of-memory condition, also replace the call to STRLEN() by
  ml_get_buf_len().

closes: #16689

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): remove resolved complete item from todo list
glepnir [Fri, 21 Feb 2025 18:52:13 +0000 (19:52 +0100)] 
runtime(doc): remove resolved complete item from todo list

closes: #16690

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1130: 'listchars' "precedes" is not drawn on Tabs. v9.1.1130
zeertzjq [Fri, 21 Feb 2025 18:49:44 +0000 (19:49 +0100)] 
patch 9.1.1130: 'listchars' "precedes" is not drawn on Tabs.

Problem:  'listchars' "precedes" is not drawn on Tabs.
Solution: Only draw 'listchars' "precedes" when not skipping over cells.
          (zeertzjq)

fixes: #5927
closes: #16691

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(sieve): set fileformat=dos in filetype plugin
David Mandelberg [Thu, 20 Feb 2025 22:22:17 +0000 (23:22 +0100)] 
runtime(sieve): set fileformat=dos in filetype plugin

References:
https://datatracker.ietf.org/doc/html/rfc5228#section-2.2

closes: #16685

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1129: missing out-of-memory test in buf_write() v9.1.1129
John Marriott [Thu, 20 Feb 2025 22:17:09 +0000 (23:17 +0100)] 
patch 9.1.1129: missing out-of-memory test in buf_write()

Problem:  missing out-of-memory test in buf_write()
Solution: Check that the returned allocated buffer is not NULL
          (John Marriott)

closes: #16678

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(mail): add commentstring '> %s' to ftplugin
Lucas Eekhof [Thu, 20 Feb 2025 21:32:07 +0000 (22:32 +0100)] 
runtime(mail): add commentstring '> %s' to ftplugin

The new native commenting functionality is currently not used when
editing mail. One could reasonably expect it to change the "quote" state
of any given line in the mail (i.e. the preceding ">"), which would be
very handy and feel natural when editing mail. Especially since the
current file already uses "setlocal comments+=n:>".

Solution: Add commentstring to `> %s` to be used in files of type mail.

closes: #16669

Signed-off-by: Lucas Eekhof <105216949+eekhof@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1128: patch 9.1.1119 caused a regression with imports v9.1.1128
Yegappan Lakshmanan [Thu, 20 Feb 2025 21:20:54 +0000 (22:20 +0100)] 
patch 9.1.1128: patch 9.1.1119 caused a regression with imports

Problem:  patch 9.1.1119 caused a regression with imports
          (girishji)
Solution: revert the script ID change for the class script variable for
          now (Yegappan Lakshmanan)

fixes: #16664
closes: #16670

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(dnsmasq): include simple filetype plugin
dringsim [Thu, 20 Feb 2025 21:19:23 +0000 (22:19 +0100)] 
runtime(dnsmasq): include simple filetype plugin

closes: #16671

Signed-off-by: dringsim <dringsim@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1127: preinsert text is not cleaned up correctly v9.1.1127
glepnir [Thu, 20 Feb 2025 21:13:24 +0000 (22:13 +0100)] 
patch 9.1.1127: preinsert text is not cleaned up correctly

Problem:  when 'completeopt' is set to preinsert the preinserted text is
          not cleared when adding new leader (Yee Cheng Chin)
Solution: add a condition to delete preinsert text in edit function
          (glepnir)

closes: #16672

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1126: patch 9.1.1121 used a wrong way to handle enter v9.1.1126
glepnir [Thu, 20 Feb 2025 21:09:48 +0000 (22:09 +0100)] 
patch 9.1.1126: patch 9.1.1121 used a wrong way to handle enter

Problem:  patch 9.1.1121 used a wrong way to handle enter
Solution: compl_enter_selects also needs to consider the selected item
          in ins_compl_new_leader() (glepnir)

closes: #16673

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1125: cannot loop through pum menu with multiline items v9.1.1125
glepnir [Thu, 20 Feb 2025 21:06:16 +0000 (22:06 +0100)] 
patch 9.1.1125: cannot loop through pum menu with multiline items

Problem:  cannot loop through pum menu with multiline items with
          fuzzy and noselect in 'completeopt' (Tomasz N)
Solution: remove unnecessary compl_no_select condition (glepnir)

fixes: #16641
closes: #16674

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1124: No test for 'listchars' "precedes" with double-width char v9.1.1124
zeertzjq [Thu, 20 Feb 2025 21:04:09 +0000 (22:04 +0100)] 
patch 9.1.1124: No test for 'listchars' "precedes" with double-width char

Problem:  No test for 'listchars' "precedes" with double-width char.
Solution: Add a test and fix a typo in code (zeertzjq).

closes: #16675

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1123: popup hi groups not falling back to defaults v9.1.1123
Yee Cheng Chin [Thu, 20 Feb 2025 20:58:21 +0000 (21:58 +0100)] 
patch 9.1.1123: popup hi groups not falling back to defaults

Problem:  Highlight groups PopupSelected/PopupNotification/
          MessageWindow are supposed to fall back to default highlight
          groups if they are not defined. However, once a colorscheme
          has defined them, switching to another colorscheme that
          doesn't do so will leave behind a cleared colorscheme, which
          causes the fallback to fail.

Solution: Set up default links to the relevant fallback highlight
          groups, which makes sure a `:hi clear` command will reset the
          state properly (Yee Cheng Chin).

closes: #16676

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(dosini): Add support for # comments to ftplugin
David Mandelberg [Thu, 20 Feb 2025 19:43:10 +0000 (20:43 +0100)] 
runtime(dosini): Add support for # comments to ftplugin

runtime/syntax/dosini.vim supports both ; and # as comments, and I think
a bunch of the files detected as dosini do too, so add support for # to
the ftplugin.

closes: #16681

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1122: too many strlen() calls in findfile.c v9.1.1122
John Marriott [Tue, 18 Feb 2025 19:45:48 +0000 (20:45 +0100)] 
patch 9.1.1122: too many strlen() calls in findfile.c

Problem:  too many strlen() calls in findfile.c
Solution: refactor findfile.c and remove calls to strlen()
          (John Marriott)

closes: #16595

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1121: Enter does not insert newline with "noselect" v9.1.1121
glepnir [Tue, 18 Feb 2025 19:27:30 +0000 (20:27 +0100)] 
patch 9.1.1121: Enter does not insert newline with "noselect"

Problem:  Enter does not insert newline with "noselect" when the pum is
          visible (lifepillar)
Solution: When Enter is pressed and no complete-item is selected,
          ins_compl_prep returns false, and the edit function continues
          processing Enter to insert a new line. (glepnir)

fixes: #1653
closes: #16653

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(netrw): fix s:NetrwHome() regression
Luca Saccarola [Tue, 18 Feb 2025 19:11:51 +0000 (20:11 +0100)] 
runtime(netrw): fix s:NetrwHome() regression

If $MYVIMDIR is unset netrw creates a directory called '$MYVIMDIR' in
the current directory

fixes: #16609

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1120: tests: Test_registers fails v9.1.1120
Christian Brabandt [Mon, 17 Feb 2025 21:26:00 +0000 (22:26 +0100)] 
patch 9.1.1120: tests: Test_registers fails

Problem:  tests: Test_registers fails
          (T.J. Townsend, after v9.1.1115)
Solution: require clipboard feature

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): add reference to extendnew() at extend()
Christian Brabandt [Mon, 17 Feb 2025 20:33:30 +0000 (21:33 +0100)] 
runtime(doc): add reference to extendnew() at extend()

related: #16607

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1119: Vim9: Not able to use an autoloaded class from another autoloaded... v9.1.1119
Yegappan Lakshmanan [Mon, 17 Feb 2025 19:21:23 +0000 (20:21 +0100)] 
patch 9.1.1119: Vim9: Not able to use an autoloaded class from another autoloaded script

Problem:  Vim9: Not able to use an autoloaded class from another
          autoloaded script (Elliot)
Solution: make it work (Yegappan Lakshmanan)

fixes: #15031
closes: #16652

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1118: tests: test_termcodes fails v9.1.1118
Christian Brabandt [Mon, 17 Feb 2025 19:09:11 +0000 (20:09 +0100)] 
patch 9.1.1118: tests: test_termcodes fails

Problem:  tests: test_termcodes fails
          (after: v9.1.1114)
Solution: adjust the test for the expected termguicolors value

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(vim): Update base-syntax, improve performance
Doug Kearns [Sun, 16 Feb 2025 15:40:12 +0000 (16:40 +0100)] 
runtime(vim): Update base-syntax, improve performance

Contain the vimNotation syntax group, matching this at top level is
unnecessary and very slow.

The removed vimString and vimNumber definitions are broken and/or never
match. They have long been replaced by newer definitions.

closes: #16645

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1117: there are a few minor style issues v9.1.1117
Hirohito Higashi [Sun, 16 Feb 2025 15:34:30 +0000 (16:34 +0100)] 
patch 9.1.1117: there are a few minor style issues

Problem:  there are a few minor style issues
Solution: fix the issues (Hirohito Higashi)

closes: #16646

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1116: Vim9: super not supported in lambda expressions v9.1.1116
Yegappan Lakshmanan [Sun, 16 Feb 2025 15:25:24 +0000 (16:25 +0100)] 
patch 9.1.1116: Vim9: super not supported in lambda expressions

Problem:  Vim9: super not supported in lambda expressions
          (Aliaksei Budavei)
Solution: Support using the super keyword in a closure in an instance
          method (Yegappan Lakshmanan)

fixes: #16586
closes: #16647

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): Update the 'specifies' keyword documentation, slightly reformat
Yegappan Lakshmanan [Sun, 16 Feb 2025 15:15:50 +0000 (16:15 +0100)] 
runtime(doc): Update the 'specifies' keyword documentation, slightly reformat

closes: #16648

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1115: [security]: use-after-free in str_to_reg() v9.1.1115
Christian Brabandt [Sun, 16 Feb 2025 15:06:38 +0000 (16:06 +0100)] 
patch 9.1.1115: [security]: use-after-free in str_to_reg()

Problem:  [security]: use-after-free in str_to_reg()
          (fizz-is-on-the-way)
Solution: when redirecting the :display command, check that one
          does not output to the register being displayed

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-63p5-mwg2-787v

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1114: enabling termguicolors automatically confuses users v9.1.1114
Christian Brabandt [Sun, 16 Feb 2025 08:30:00 +0000 (09:30 +0100)] 
patch 9.1.1114: enabling termguicolors automatically confuses users

Problem:  enabling termguicolors automatically confuses users. Since
          querying the terminal for the RGB flag happens asynchronously,
          enabling termguicolors is noticeable by users as the highlighting changes
          and is therefore unexpected.
          (after v9.1.1054)
Solution: comment out that part for now. We may need another way to
          enable this in the future.

fixes: #16539
fixes: #16568
fixes: #16649

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(keymap): Add ukrainian-enhanced keymap
Vladyslav Rehan [Sat, 15 Feb 2025 08:59:57 +0000 (09:59 +0100)] 
runtime(keymap): Add ukrainian-enhanced keymap

The "Ukrainian enhanced keymap" allows you to type Ukrainian in Vim
using jcuken Windows layout.

Original file is made by Ivan Korneliuk and can be found at
https://github.com/vansha/ukrainian-enhanced.vim. It is being added here
with the permission of the author.

There is another ukrainian layout already in Vim, namely the
keymap\ukrainian-jcuken.vim script by Anatoli Sakhnik. But this one
differs in way it maps numeric keys. It uses values usual for Windows
users.

closes: #16628

Signed-off-by: Vladyslav Rehan <rehanvladyslav@gmail.com>
Signed-off-by: Ivan Korneliuk <vansha@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1113: tests: Test_terminal_builtin_without_gui waits 2 seconds v9.1.1113
Yee Cheng Chin [Fri, 14 Feb 2025 17:01:25 +0000 (18:01 +0100)] 
patch 9.1.1113: tests: Test_terminal_builtin_without_gui waits 2 seconds

Problem:  tests: Test_terminal_builtin_without_gui waits 2 seconds
Solution: add --not-a-term to remove the annoying 2s delay in error
          message when Vim detects that stdio are not from a terminal
          (Yee Cheng Chin)

closes: #16635

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1112: Inconsistencies in get_next_or_prev_match() v9.1.1112
zeertzjq [Fri, 14 Feb 2025 16:59:31 +0000 (17:59 +0100)] 
patch 9.1.1112: Inconsistencies in get_next_or_prev_match()

Problem:  Inconsistencies in get_next_or_prev_match() (after 9.1.1109).
Solution: Change "file" to "entry" or "match" in comments.  Use the same
          order of branches for PAGEUP and PAGEDOWN (zeertzjq).

closes: #16633

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): document ComplMatchIns highlight for insert-completion
glepnir [Fri, 14 Feb 2025 16:57:52 +0000 (17:57 +0100)] 
runtime(doc): document ComplMatchIns highlight for insert-completion

closes: #16636

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(netrw): upstream snapshot of v177
Luca Saccarola [Fri, 14 Feb 2025 16:54:22 +0000 (17:54 +0100)] 
runtime(netrw): upstream snapshot of v177

relevant commits:
- defaults!: use 'suffixes' for 'g:netrw_sort_sequence'
- refactor: remove associated buffer when deliting a file
- refactor: s:NetrwLocalRm
- refactor: s:NetrwDelete
- refactor: s:NetrwLocalRmFile
- feat: use vim.notify on neovim
- fix: prefer v:lua instead of luaeval for vim.deprecate
- chore: remove old batteries

closes: #16638

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1111: Vim9: variable not found in transitive import v9.1.1111
Hirohito Higashi [Thu, 13 Feb 2025 20:04:07 +0000 (21:04 +0100)] 
patch 9.1.1111: Vim9: variable not found in transitive import

Problem:  Vim9: variable not found in transitive import
          (lifepillar)
Solution: fix import and class extends (Hirohito Higashi)

fixes: #16379
related: #16440
closes: #16602

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>
5 months agopatch 9.1.1110: Vim tests are slow and flaky v9.1.1110
Yee Cheng Chin [Thu, 13 Feb 2025 19:55:45 +0000 (20:55 +0100)] 
patch 9.1.1110: Vim tests are slow and flaky

Problem:  Vim tests are slow and flaky at the same time due to reliance
          on timeouts which are unreliable.
Solution: improve Vim test performance and reduce flakiness
          (Yee Cheng Chin)

A lot of Vim tests currently rely on waiting a specific amount of time
before asserting a condition. This is bad because 1) it is slow, as the
timeout is hardcoded, 2) it's unreliable as a resource-starved runner
may overshoot the timeout. Also, there are a lot of builtin sleep
commands in commonly used utilities like VerifyScreenDump and WaitFor()
which leads to a lot of unnecessary idle time.

Fix these issues by doing the following:
1. Make utilities like VerifyScreenDump and WaitFor use the lowest wait
   time possible (1 ms). This essentially turns it into a spin wait. On
   fast machines, these will finish very quickly. For existing tests
   that had an implicit reliance on the old timeouts (e.g.
   VerifyScreenDump had a 50ms wait before), fix the tests to wait that
   specific amount explicitly.
2. Fix tests that sleep or wait for long amounts of time to instead
   explicitly use a callback mechanism to be notified when a child
   terminal job has finished. This allows the test to only take as much
   time as possible instead of having to hard code an unreliable
   timeout.

With these fixes, tests should 1) completely quickly on fast machines,
and 2) on slow machines they will still run to completion albeit slowly.
Note that previoulsy both were not true. The hardcoded timeouts meant
that on fast machines the tests were mostly idling wasting time, whereas
on slow machines, the timeouts often were not generous enough to allow
them to run to completion.

closes: #16615

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1109: cmdexpand.c hard to read v9.1.1109
glepnir [Thu, 13 Feb 2025 19:48:56 +0000 (20:48 +0100)] 
patch 9.1.1109: cmdexpand.c hard to read

Problem:  cmdexpand.c hard to read
Solution: refactor the file slightly (glepnir)

closes: #16621

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(exports): include simple filetype plugin
Matt Perry [Thu, 13 Feb 2025 19:45:13 +0000 (20:45 +0100)] 
runtime(exports): include simple filetype plugin

closes: #16625

Signed-off-by: Matt Perry <matt@mattperry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(samba): include simple filetype plugin
Matt Perry [Thu, 13 Feb 2025 19:39:40 +0000 (20:39 +0100)] 
runtime(samba): include simple filetype plugin

closes: #16626

Signed-off-by: Matt Perry <matt@mattperry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1108: 'smoothscroll' gets stuck with 'listchars' "eol" v9.1.1108
zeertzjq [Thu, 13 Feb 2025 19:34:34 +0000 (20:34 +0100)] 
patch 9.1.1108: 'smoothscroll' gets stuck with 'listchars' "eol"

Problem:  'smoothscroll' gets stuck with 'listchars' "eol".
Solution: Count size of 'listchars' "eol" in line size when scrolling.
          (zeertzjq)

related: neovim/neovim#32405
closes: #16627

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1107: cannot loop through completion menu with fuzzy v9.1.1107
glepnir [Thu, 13 Feb 2025 19:27:44 +0000 (20:27 +0100)] 
patch 9.1.1107: cannot loop through completion menu with fuzzy

Problem:  cannot loop through completion menu with fuzzy and nosort in
          'completeopt'
          (Tomasz N)
Solution: Reset cur to zero and update compl_shown_match when
          'completeopt' contains "nosort" but not "noselect"
          (glepnir)

fixes: #16624
closes: #16629

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(vim): Update base-syntax, always match continuation comments to EOL
Doug Kearns [Thu, 13 Feb 2025 19:24:42 +0000 (20:24 +0100)] 
runtime(vim): Update base-syntax, always match continuation comments to EOL

closes: #16630

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(nroff): set define option & add matchit config in ftplugin
Wu, Zhenyu [Wed, 12 Feb 2025 19:58:57 +0000 (20:58 +0100)] 
runtime(nroff): set define option & add matchit config in ftplugin

closes: #16619

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Aman Verma <amanraoverma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(vim): Update base-syntax, match Vim9 boolean and null literals in parens
Doug Kearns [Wed, 12 Feb 2025 19:44:17 +0000 (20:44 +0100)] 
runtime(vim): Update base-syntax, match Vim9 boolean and null literals in parens

- Match Vim9 boolean and null literals in parenthesised expressions and
  function argument lists.
- Match read-only registers in expressions.

closes: #16622

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1106: tests: Test_log_nonexistent() causes asan failure v9.1.1106
Christian Brabandt [Tue, 11 Feb 2025 21:58:20 +0000 (22:58 +0100)] 
patch 9.1.1106: tests: Test_log_nonexistent() causes asan failure

Problem:  tests: Test_log_nonexistent() causes asan failure
          (Hirohito Higashi)
Solution: don't run vim using system(), but run Vim in a terminal

related: #16602
related: #16610

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1105: Vim9: no support for protected new() method v9.1.1105
Yegappan Lakshmanan [Tue, 11 Feb 2025 21:07:05 +0000 (22:07 +0100)] 
patch 9.1.1105: Vim9: no support for protected new() method

Problem:  Vim9: no support for protected new() method
Solution: support the protected "_new()" object method
          (Yegappan Lakshmanan)

closes: #16604

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1104: CI: using Ubuntu 22.04 Github runners v9.1.1104
Drew Vogel [Tue, 11 Feb 2025 20:36:33 +0000 (21:36 +0100)] 
patch 9.1.1104: CI: using Ubuntu 22.04 Github runners

Problem:  CI: uses Ubuntu 22.04 runners
Solution: Switch to Ubuntu 24.04 runners, make a few adjustments for
          different $TMPDIR (Drew Vogel)

closes: #16442

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoci: syntax tests spam output
Yee Cheng Chin [Tue, 11 Feb 2025 19:16:11 +0000 (20:16 +0100)] 
ci: syntax tests spam output

Currently syntax tests outputs all the Vim commands to the console,
which is annoying for a local developer but also makes the CI output
impossible to parse and just printing all the terminal output comes with
a performance penalty.

So let's just simply redirect all output to /dev/null similar to what
the script tests do.

This can be turned off locally for someone diagnosing issues but it
should not be the default behavior to output all terminal control
sequences to output in CI.

closes: #16612

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1103: if_perl: still some compile errors with Perl 5.38 v9.1.1103
Drew Vogel [Tue, 11 Feb 2025 19:06:07 +0000 (20:06 +0100)] 
patch 9.1.1103: if_perl: still some compile errors with Perl 5.38

Problem:  if_perl: still some compile errors with Perl 5.38
Solution: copy declaration of PL_memory_wrap from Perl header
          (Drew Vogel)

closes: #16613

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename v9.1.1102
Christian Brabandt [Tue, 11 Feb 2025 19:03:10 +0000 (20:03 +0100)] 
patch 9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename

Problem:  tests: Test_WinScrolled_Resized_eiw() uses wrong filename
          (Luuk van Baal, after v9.1.1084)
Solution: Rename the filename to something more unique

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1101: insexpand.c hard to read v9.1.1101
glepnir [Mon, 10 Feb 2025 21:18:00 +0000 (22:18 +0100)] 
patch 9.1.1101: insexpand.c hard to read

Problem:  insexpand.c hard to read
Solution: refactor slightly to make it better readable
          (glepnir)

Problem:
- Complex while loops with nested conditions
- Redundant if branches
- Hard to understand and maintain

Solution:
- Restructure using while(true) with clear break conditions
- Using ternary to replace some if conditions
- Add descriptive comments for each step

closes: #16600

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1100: tests: Test_log_nonexistent only works on Linux v9.1.1100
Christian Brabandt [Mon, 10 Feb 2025 21:13:43 +0000 (22:13 +0100)] 
patch 9.1.1100: tests: Test_log_nonexistent only works on Linux

Problem:  tests: Test_log_nonexistent only works on Linux
          (after v9.1.1097)
Solution: Add CheckUnix condition

closes: #16476

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(vim): Update base-syntax, improve variable matching
Doug Kearns [Mon, 10 Feb 2025 21:00:27 +0000 (22:00 +0100)] 
runtime(vim): Update base-syntax, improve variable matching

- Match variables after operators, including line continuations.
- Match option variables without leading whitespace.
- Explicitly match expression subscripts.
- Match Vim9 variables in LHS of assignments and method calls.
- Match option variables (&option) with a dedicated syntax group like
  environment variables.
- Match list literals, fixes: #5830
- Match :{un}lockvar arguments.
- Match registers and environment variables in :let unpack lists.
- Match lambda expressions
- Match Vim9 scope blocks
- Match variables in :for subject
- Highlight user variables with Normal
- Improve this/super keyword matching, fixes: #15970

closes: #16476

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1099: Vim9: import with extends may crash v9.1.1099
Yegappan Lakshmanan [Mon, 10 Feb 2025 20:35:07 +0000 (21:35 +0100)] 
patch 9.1.1099: Vim9: import with extends may crash

Problem:  Vim9: import with extends may crash, v9.1.1087 wasn't the
          correct way to fix it)
Solution: When using an import class, Check for a valid class member
          variable at compile time (Yegappan Lakshmanan)

related: #16601
closes: #16603

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1098: leaking memory with completing multi lines v9.1.1098
glepnir [Mon, 10 Feb 2025 20:16:32 +0000 (21:16 +0100)] 
patch 9.1.1098: leaking memory with completing multi lines

Problem:  leaking memory with completing multi lines
          (after v9.1.1086)
Solution: free allocated memory (glepnir)

closes: #16605

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1097: --log with non-existent path causes a crash v9.1.1097
Hirohito Higashi [Mon, 10 Feb 2025 19:55:17 +0000 (20:55 +0100)] 
patch 9.1.1097: --log with non-existent path causes a crash

Problem:  --log with non-existent path causes a crash
          (Ekkosun)
Solution: split initialization phase and init the execution stack
          earlier (Hirohito Higashi)

fixes: #16606
closes: #16610

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1096: if_perl: Perl 5.38 adds new symbols causing link failure v9.1.1096
Drew Vogel [Mon, 10 Feb 2025 19:17:56 +0000 (20:17 +0100)] 
patch 9.1.1096: if_perl: Perl 5.38 adds new symbols causing link failure

Problem:  if_perl: Perl 5.38 adds new symbols causing link failure
Solution: add stub symbols (Drew Vogel)

closes: #16611

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1095: tests: matchparen plugin test wrongly named v9.1.1095
Christian Brabandt [Mon, 10 Feb 2025 19:12:46 +0000 (20:12 +0100)] 
patch 9.1.1095: tests: matchparen plugin test wrongly named

Problem:  tests: matchparen plugin test wrongly named
          (zeertzjq)
Solution: rename test_matchparen to test_plugin_matchparen
          to be consistent with the other plugin tests

related: #16599

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1094: Vim9: problem finding implemented method in type hierarchy v9.1.1094
Yegappan Lakshmanan [Sun, 9 Feb 2025 18:39:52 +0000 (19:39 +0100)] 
patch 9.1.1094: Vim9: problem finding implemented method in type hierarchy

Problem:  Vim9: problem finding implemented method for abstract method
          in type hierarchy (Aliaksei Budavei)
Solution: When checking for abstract methods in an extended class, check
          whether an abstract method is implemented in one of the parent
          classes (Yegappan Lakshmanan)

fixes: #16495
closes: #16497

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(qf): Update syntax file, match second delimiter
Doug Kearns [Sun, 9 Feb 2025 17:40:05 +0000 (18:40 +0100)] 
runtime(qf): Update syntax file, match second delimiter

Match both | separators and link to the Delimiter highlight group.

fixes #16584
closes: #16590

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1093: tests: output of test ...win32_ctrl_z depends on python version v9.1.1093
Christian Brabandt [Sun, 9 Feb 2025 16:22:30 +0000 (17:22 +0100)] 
patch 9.1.1093: tests: output of test ...win32_ctrl_z depends on python version

Problem:  tests: output of test Test_terminal_eof_arg_win32_ctrl_z depends on python
          version.
Solution: Check for the expected output in both, the second last line
          and last line

It seems python 3.13 changed the output a bit and there is no longer a
trailing blank line.  So to keep compatible with python < 3.13, let's
check for the expected output in either the last line and the second
last line.

closes: #16599

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1092: tests: fix expected return code for python 3.13 on Windows v9.1.1092
Christian Brabandt [Sun, 9 Feb 2025 16:18:07 +0000 (17:18 +0100)] 
patch 9.1.1092: tests: fix expected return code for python 3.13 on Windows

Problem:  tests: fix expected return code for python 3.13 on Windows
Solution: Check for return code 1 or 123 on Windows

There is a regression with python 3.13 on Windows, that it no longer
prints the requested error code, but instead exits with return code 1,
which  breaks the test-suite.

So let's check for either exit code 1 or 123 in tests
Test_terminal_duplicate_eof_arg() and Test_terminal_eof_arg()

This will probably be fixed on the Python side, see the pull request
python/cpython#129901 but in the meantime, let's allow both error codes.

related: #16599
related: python/cpython#129900

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1091: tests: timeout might be a bit too small v9.1.1091
Christian Brabandt [Sun, 9 Feb 2025 16:16:36 +0000 (17:16 +0100)] 
patch 9.1.1091: tests: timeout might be a bit too small

Problem:  tests: timeout might be a bit too small
Solution: increase the test timeout from 30 to 45 seconds

related: #16599

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1090: tests: test_terminwscroll_topline2 unreliable v9.1.1090
Christian Brabandt [Sun, 9 Feb 2025 16:10:30 +0000 (17:10 +0100)] 
patch 9.1.1090: tests: test_terminwscroll_topline2 unreliable

Problem:  tests: test_terminwscroll_topline2 unreliable
          (Yee Cheng Chin)
Solution: instead of using term_wait() with a specific time, use
          terminal-api and to wait until the terminal is finished

call a terminal callback function when finished printing, instead of
using term_wait(), with a defined time, which caused timeouts on CI
with the macos runners

Unfortunately I couldn't figure out how to call the terminal-api on Windows,
so skip the test on Windows. cmd.com echo didn's seem to work and
neither did trying to use python, but perhaps it was just me fighting
with the terminal quoting rules :shrug:

related: #16599
related: #16552

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1089: tests: No check when tests are run under Github actions v9.1.1089
Christian Brabandt [Sun, 9 Feb 2025 16:05:21 +0000 (17:05 +0100)] 
patch 9.1.1089: tests: No check when tests are run under Github actions

Problem:  tests: No check when tests are run under Github actions
Solution: Add the CheckGithubActions check command and skip test if
          needed

related: #16599
related: actions/runner-images#11512

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1088: tests: plugin tests are named inconsistently v9.1.1088
Christian Brabandt [Sun, 9 Feb 2025 16:03:31 +0000 (17:03 +0100)] 
patch 9.1.1088: tests: plugin tests are named inconsistently

Problem:  tests: plugin tests are named inconsistently
Solution: group them under a common 'plugin' prefix

related: #16599

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1087: Vim9: import with extends may crash v9.1.1087
Hirohito Higashi [Sun, 9 Feb 2025 15:41:23 +0000 (16:41 +0100)] 
patch 9.1.1087: Vim9: import with extends may crash

Problem:  Vim9: import with extends may crash
Solution: check otv for being NULL before trying to access it
          (Hirohito Higashi)

closes: #16601

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1086: completion doesn't work with multi lines v9.1.1086
glepnir [Sat, 8 Feb 2025 18:04:51 +0000 (19:04 +0100)] 
patch 9.1.1086: completion doesn't work with multi lines

Problem:  completion doesn't work with multi lines
          (Łukasz Jan Niemier)
Solution: handle linebreaks in completion code as expected
          (glepnir)

fixes: #2505
closes: #15373

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1085: filetype: cmmt files are not recognized v9.1.1085
Christoph Sax [Sat, 8 Feb 2025 18:01:05 +0000 (19:01 +0100)] 
patch 9.1.1085: filetype: cmmt files are not recognized

Problem:  filetype: cmmt files are not recognized
Solution: detect '*.cmmt' as trace32 filetype
          (Christian Sax)

"*.cmmt" files use the same syntax as regular TRACE32 scripts,
but are intended as a kind of script template.

closes: #16598

Signed-off-by: Christoph Sax <c_sax@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1084: Unable to persistently ignore events in a window and its buffers v9.1.1084
Luuk van Baal [Sat, 8 Feb 2025 17:52:39 +0000 (18:52 +0100)] 
patch 9.1.1084: Unable to persistently ignore events in a window and its buffers

Problem:  Unable to persistently ignore events in a window and its buffers.
Solution: Add 'eventignorewin' option to ignore events in a window and buffer
          (Luuk van Baal)

Add the window-local 'eventignorewin' option that is analogous to
'eventignore', but applies to a certain window and its buffers. Identify
events that should be allowed in 'eventignorewin', adapt "auto_event"
and "event_tab" to encode this information. Window context is not passed
onto apply_autocmds_group(), and when to ignore an event is a bit
ambiguous when "buf" is not "curbuf", rather than a large refactor, only
ignore an event when all windows into "buf" are ignoring the event.

closes: #16530

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(tex): improve syntax highlighting
Eisuke Kawashima [Sat, 8 Feb 2025 17:32:14 +0000 (18:32 +0100)] 
runtime(tex): improve syntax highlighting

this change includes the following changes:
- a macro option must be #1–#9
- add \providecommand
- add starred versions of \newcommand, \newenvironment, and their
  variants
- add number of arguments to \(re)newenvironment

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1083: setreg() doesn't correctly handle mbyte chars in blockwise mode v9.1.1083
Yee Cheng Chin [Sat, 8 Feb 2025 17:19:15 +0000 (18:19 +0100)] 
patch 9.1.1083: setreg() doesn't correctly handle mbyte chars in blockwise mode

Problem:  setreg() doesn't correctly handle mbyte chars in blockwise
          mode
Solution: use mb_ptr2len_len function pointer (Yee Cheng Chin)

setreg() will automatically calculate the width when a blockwise mode is
specified, but it does not properly calculate the line widths of mbyte
characters when value is passed as newline-terminated string. It does
work when value is passed as a list of lines though.

Fix this by properly using the mbyte function pointer to increment the
loop counter.

closes: #16596

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1082: unexpected DCS responses may cause out of bounds reads v9.1.1082
Julio B [Fri, 7 Feb 2025 19:44:49 +0000 (20:44 +0100)] 
patch 9.1.1082: unexpected DCS responses may cause out of bounds reads

Problem:  unexpected DCS responses may cause out of bounds reads
          (after v9.1.1054)
Solution: check that the parsed value is '=' as expected
          (Julio B)

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1081: has('bsd') is true for GNU/Hurd v9.1.1081
Zhaoming Luo [Thu, 6 Feb 2025 20:39:35 +0000 (21:39 +0100)] 
patch 9.1.1081: has('bsd') is true for GNU/Hurd

Problem:  has('bsd') is true for GNU/Hurd
Solution: exclude GNU/Hurd from BSD feature flag
          (Zhaoming Luo)

GNU/Hurd, like Mac OS X, is a BSD-based system. It should exclude
has('bsd') feature just like what Mac OS X does. The __GNU__ pre-defined
macro indicates it's compiled for GNU/Hurd.

closes: #16580

Signed-off-by: Zhaoming Luo <zhmingluo@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1080: filetype: Mill files are not recognized v9.1.1080
Chris Kipp [Thu, 6 Feb 2025 20:26:08 +0000 (21:26 +0100)] 
patch 9.1.1080: filetype: Mill files are not recognized

Problem:  filetype: Mill files are not recognized
Solution: detect '*.mill' files as scala filetype
          (author)

In the past [Mill](https://mill-build.org/mill/index.html) build files
were always `build.sc` and treated as Scala files. However as the 0.12.x
series of mill you can create a `build.mill` file. You can see a lot of
examples of this if you search
[GitHub](https://github.com/search?q=build.mill&type=code). This small
change just ensures that if you have a `*.mill` file it treats it as a
Scala file.

closes: #16585

Signed-off-by: Chris Kipp <ckipp@pm.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1079: GUI late startup leads to uninitialized scrollbars v9.1.1079
Yee Cheng Chin [Thu, 6 Feb 2025 20:18:17 +0000 (21:18 +0100)] 
patch 9.1.1079: GUI late startup leads to uninitialized scrollbars

Problem:  GUI late startup leads to uninitialized scrollbars
Solution: initialize scrollbars for all windows in all tabpages
          (Yee Cheng Chin)

GUI startup was erroneously only initializing scrollbars for all windows
in current tab, instead of all tabs. This breaks if the user has created
tab pages before using `:gui` command to enter GUI mode, or sourced a
session file in vimrc.

closes: #16588
related: macvim-dev/macvim#862

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(misc): Add support for lz4 to tar & gzip plugin
Corpulent Robin [Thu, 6 Feb 2025 20:10:49 +0000 (21:10 +0100)] 
runtime(misc): Add support for lz4 to tar & gzip plugin

while at it, clean up the tar plugin a bit and sort the patterns for the
tar and gzip plugin

References:
- https://github.com/lz4/lz4
- https://lz4.org/

closes: #16591

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Corpulent Robin <177767857+corpulentrobin@users.noreply.github.com>
6 months agopatch 9.1.1078: Terminal ansi colors off by one after tgc reset v9.1.1078
Julio B [Thu, 6 Feb 2025 19:31:27 +0000 (20:31 +0100)] 
patch 9.1.1078: Terminal ansi colors off by one after tgc reset

Problem:  Terminal ansi colors off by one after tgc reset
Solution: Set the correct index for libvterm palette,
          revert parts in libvterm/src/pen.c that deviated from upstream
          (Julio B)

fixes: #16568
closes: #16573
related: Vim patch v8.2.0804

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1077: included syntax items do not understand contains=TOP v9.1.1077
Theodore Dubois [Wed, 5 Feb 2025 22:59:25 +0000 (23:59 +0100)] 
patch 9.1.1077: included syntax items do not understand contains=TOP

Problem:  Syntax engine interpreted contains=TOP as matching nothing
          inside included files, since :syn-include forces HL_CONTAINED
          on for every included item. After 8.2.2761, interprets
          contains=TOP as contains=@INCLUDED, which is also not correct
          since it doesn't respect exclusions, and doesn't work if there
          is no @INCLUDED cluster.
Solution: revert patch 8.2.2761, instead track groups that have had
          HL_CONTAINED forced, and interpret contains=TOP and
          contains=CONTAINED using this. (Theodore Dubois)

fixes: #11277
closes: #16571

Signed-off-by: Theodore Dubois <tblodt@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1076: vim_strnchr() is strange and unnecessary v9.1.1076
zeertzjq [Tue, 4 Feb 2025 15:48:36 +0000 (16:48 +0100)] 
patch 9.1.1076: vim_strnchr() is strange and unnecessary

Problem:  vim_strnchr() is strange and unnecessary (after v9.1.1009)
Solution: Remove vim_strnchr() and use memchr() instead.  Also remove a
          comment referencing an #if that is no longer present.

vim_strnchr() is strange in several ways:
- It's named like vim_strchr(), but unlike vim_strchr() it doesn't
  support finding a multibyte char.
- Its logic is similar to vim_strbyte(), but unlike vim_strbyte() it
  uses char instead of char_u.
- It takes a pointer as its size argument, which isn't convenient for
  all its callers.
- It allows embedded NULs, unlike other "strn*" functions which stop
  when encountering a NUL byte.

In comparison, memchr() also allows embedded NULs, and it converts bytes
in the string to (unsigned char).

closes: #16579

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1075: Vim9: len variable not used in compile_load() v9.1.1075
Hirohito Higashi [Tue, 4 Feb 2025 15:37:19 +0000 (16:37 +0100)] 
patch 9.1.1075: Vim9: len variable not used in compile_load()

Problem:  Vim9: length variable not used in compile_load()
Solution: use len instead of re-calculating the length
          (Hirohito Higashi)

closes: #16582

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoruntime(vim): Update base-syntax, match :debuggreedy count prefix
Doug Kearns [Mon, 3 Feb 2025 17:59:09 +0000 (18:59 +0100)] 
runtime(vim): Update base-syntax, match :debuggreedy count prefix

Match :0debuggreedy as a special case until better range/count support
is implemented.

closes: #16572

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1074: Strange error when heredoc marker starts with "trim" v9.1.1074
zeertzjq [Mon, 3 Feb 2025 17:56:16 +0000 (18:56 +0100)] 
patch 9.1.1074: Strange error when heredoc marker starts with "trim"

Problem:  Strange error when heredoc marker starts with "trim".
Solution: Check for whitespace after "trim" or "eval" (zeertzjq)

For :python3 etc., a heredoc marker that starts with a lower-case letter
is valid, and when it starts with "trim" it works in a script but not in
a function, and this PR makes it works in a function.
For :let, a heredoc marker that starts with a lower-case letter is not
valid, but when it starts with "trim" or "eval" the error can be a bit
confusing in a function, and this PR make it less confusing.

closes: #16574

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1073: tests: test_compiler fails on Windows without Maven v9.1.1073
zeertzjq [Mon, 3 Feb 2025 17:53:28 +0000 (18:53 +0100)] 
patch 9.1.1073: tests: test_compiler fails on Windows without Maven

Problem:  tests: test_compiler fails on Windows without Maven.
Solution: Add Xspotbugs directory to $PATH when mvn is not available
          (zeertzjq).

closes: #16576

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1072: 'diffopt' "linematch" cannot be used with {n} less than 10 v9.1.1072
zeertzjq [Mon, 3 Feb 2025 17:49:49 +0000 (18:49 +0100)] 
patch 9.1.1072: 'diffopt' "linematch" cannot be used with {n} less than 10

Problem:  'diffopt' "linematch" cannot be used with {n} less than 10
          digits (after v9.1.1022)
Solution: Fix off-by-one error when checking for digit (zeertzjq)

closes: #16577

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1071: args missing after failing to redefine a function v9.1.1071
zeertzjq [Sun, 2 Feb 2025 18:03:17 +0000 (19:03 +0100)] 
patch 9.1.1071: args missing after failing to redefine a function

Problem:  Arguments of a function are missing after failing to redefine
          it (after 8.2.2505), and heap-use-after-free with script-local
          function (after 9.1.1063).
Solution: Don't clear arguments or free uf_name_exp when failing to
          redefine an existing function (zeertzjq)

closes: #16567

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1070: Cannot control cursor positioning of getchar() v9.1.1070
zeertzjq [Sun, 2 Feb 2025 18:01:01 +0000 (19:01 +0100)] 
patch 9.1.1070: Cannot control cursor positioning of getchar()

Problem:  Cannot control cursor positioning of getchar().
Solution: Add "cursor" flag to {opts}, with possible values "hide",
          "keep" and "msg".

related: #10603
closes: #16569

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1069: preinsert text completions not deleted with <C-W>/<C-U> v9.1.1069
glepnir [Sun, 2 Feb 2025 08:36:22 +0000 (09:36 +0100)] 
patch 9.1.1069: preinsert text completions not deleted with <C-W>/<C-U>

Problem:  preinsert text completions not deleted with <C-W>/<C-U>
          (ddad431, after v9.1.1059)
Solution: handle <C-W> or <C-U> specifically and clear the completion
          (glepnir)

fixes: #16557
closes: #16565

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1068: getchar() can't distinguish between C-I and Tab v9.1.1068
zeertzjq [Sun, 2 Feb 2025 08:14:35 +0000 (09:14 +0100)] 
patch 9.1.1068: getchar() can't distinguish between C-I and Tab

Problem:  getchar() can't distinguish between C-I and Tab.
Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
          with "number" and "simplify" keys.

related: #10603
closes: #16554

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agoCI: bump windows python to 3.13
Philip H. [Sun, 2 Feb 2025 08:07:36 +0000 (09:07 +0100)] 
CI: bump windows python to 3.13

closes: #16562

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 months agopatch 9.1.1067: tests: Test_termwinscroll_topline2 fails on MacOS v9.1.1067
Christian Brabandt [Sun, 2 Feb 2025 08:03:00 +0000 (09:03 +0100)] 
patch 9.1.1067: tests: Test_termwinscroll_topline2 fails on MacOS

Problem:  tests: Test_termwinscroll_topline2 fails on MacOS
          (after v9.1.1062)
Solution: reduce termwinscroll further, increase term_wait time

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