]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
9 months agoruntime(compiler): improve svelte-check
Konfekt [Thu, 27 Feb 2025 18:09:52 +0000 (19:09 +0100)] 
runtime(compiler): improve svelte-check

closes: #16749

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1153: build error on Haiku v9.1.1153
Begasus [Wed, 26 Feb 2025 21:26:16 +0000 (22:26 +0100)] 
patch 9.1.1153: build error on Haiku

Problem:  build error on Haiku
Solution: define XDG_RUNTIME_PATH variables
          (Begasus)

closes: #16737

Signed-off-by: Begasus <begasus@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1152: Patch v9.1.1151 causes problems v9.1.1152
John Marriott [Wed, 26 Feb 2025 18:14:06 +0000 (19:14 +0100)] 
patch 9.1.1152: Patch v9.1.1151 causes problems

Problem:  Patch v9.1.1151 causes problems
Solution: partially revert it (John Marriott)

closes: #16736

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agoruntime(new-tutor): update examples from Neovim to Vim
RestorerZ [Wed, 26 Feb 2025 18:00:48 +0000 (19:00 +0100)] 
runtime(new-tutor): update examples from Neovim to Vim

closes: #16741

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agonsis: add Portuguese Brazilian translation to nsis installer
Rafael Fontenelle [Tue, 25 Feb 2025 20:05:22 +0000 (21:05 +0100)] 
nsis: add Portuguese Brazilian translation to nsis installer

closes: #16692

Co-authored-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1151: too many strlen() calls in getchar.c v9.1.1151
John Marriott [Tue, 25 Feb 2025 19:56:38 +0000 (20:56 +0100)] 
patch 9.1.1151: too many strlen() calls in getchar.c

Problem:  too many strlen() calls in getchar.c
Solution: store last inserted and recorded lengths,
          add functions to retrieve those and use those
          functions (John Marriott)

closes: #16720

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agoruntime(vim): make VimKeywordPrg even smarter for regexes
Konfekt [Tue, 25 Feb 2025 19:53:55 +0000 (20:53 +0100)] 
runtime(vim): make VimKeywordPrg even smarter for regexes

closes: #16729

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1150: :hi completion may complete to wrong value v9.1.1150
Yee Cheng Chin [Tue, 25 Feb 2025 19:41:52 +0000 (20:41 +0100)] 
patch 9.1.1150: :hi completion may complete to wrong value

Problem:  :highlight auto-complettion has a minor bug where an existing
          highlight group with a cterm color being unset would result in
          it being auto-completed to -1 in cmdline which is invalid.

Solution: Correctly check for whether an int value is set to non-zero
          before retrieving the existing value for auto-complete. Also
          do this for attr/string values as they previously worked only
          by accident (Yee Cheng Chin).

closes: #16726

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1149: Unix Makefile does not support Brazilian lang for the installer v9.1.1149
RestorerZ [Tue, 25 Feb 2025 19:35:41 +0000 (20:35 +0100)] 
patch 9.1.1149: Unix Makefile does not support Brazilian lang for the installer

Problem:  Unix Makefile does not support Brazilian lang for the
          installer
Solution: add support for language code pt_br (RestorerZ)

This is in preparation of the Portuguese Brazilian translation
that will be merged a bit later.

related: #16692
closes: #16732

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1148: Vim9: finding imported scripts can be further improved v9.1.1148
Hirohito Higashi [Tue, 25 Feb 2025 19:29:50 +0000 (20:29 +0100)] 
patch 9.1.1148: Vim9: finding imported scripts can be further improved

Problem:  Vim9: finding imported scripts can be further improved
          (after v9.1.1146)
Solution: Eliminate extra find_imported() call (Hirohito Higashi)

related: #16602
related: #16660
closes: #16731

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>
9 months agoruntime(lua): Update lua ftplugin and documentation
brianhuster [Tue, 25 Feb 2025 19:22:18 +0000 (20:22 +0100)] 
runtime(lua): Update lua ftplugin and documentation

Problem:
- The doc says the default `g:lua_subversion` is 2, but in fact it is 3
  (see `runtime/syntax/lua.vim`)
- `includeexpr` doesn't work with module in `init.lua`

Solution:
- Update documentation
- Assign value to option `&include`
- Add function `LuaInclude` and assign it to `l:&includeexpr`

closes: #16655

Co-authored-by: dkearns <dougkearns@gmail.com>
Signed-off-by: brianhuster <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1147: preview-window does not scroll correctly v9.1.1147
Girish Palya [Mon, 24 Feb 2025 20:39:42 +0000 (21:39 +0100)] 
patch 9.1.1147: preview-window does not scroll correctly

Problem:  preview-window does not scroll correctly
Solution: init firstline = 0 for a preview window
          (Girish Palya)

The 'info' window, which appears during insert-mode completion to display
additional information, was not scrolling properly when using commands like:
win_execute(popup_findinfo(), "normal! \<PageDown>")
This issue made it impossible to navigate through info window contents using
keyboard-based scrolling.
The fix correctly updates the w_firstline value of the popup window, ensuring
proper scrolling behavior. Mouse scrolling was already working as expected and
remains unaffected.

closes: #16703

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agonsis: added support for pt-BR to installer and update README.txt
RestorerZ [Mon, 24 Feb 2025 18:42:36 +0000 (19:42 +0100)] 
nsis: added support for pt-BR to installer and update README.txt

Prepare for PR #16692 which will eventually bring pt-br translation to
the installer and add some clarification on how to test the installer
with different languages

closes: #16725

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agotranslation(tr): Update Turkish translations
Emir SARI [Mon, 24 Feb 2025 18:31:06 +0000 (19:31 +0100)] 
translation(tr): Update Turkish translations

closes: #16719

Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1146: Vim9: wrong context being used when evaluating class member v9.1.1146
Yegappan Lakshmanan [Mon, 24 Feb 2025 18:23:43 +0000 (19:23 +0100)] 
patch 9.1.1146: Vim9: wrong context being used when evaluating class member

Problem:  Vim9: wrong context being used when evaluating class member
          (lifepillar, Ernie Rael)
Solution: Use the correct script context when evaluating a class member
          init expression(Yegappan Lakshmanan)

fixes: #14011
fixes: #14402
closes: #15112
closes: #16660

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1145: multi-line completion has wrong indentation for last line v9.1.1145
glepnir [Mon, 24 Feb 2025 18:10:37 +0000 (19:10 +0100)] 
patch 9.1.1145: multi-line completion has wrong indentation for last line

Problem:  When expanding omni completion items with newlines (e.g.
          `then\n\t\nend`), the end statement gets wrong indentation.
Solution: Add OPENLINE_FORCE_INDENT flag to make open_line() use
          second_line_indent directly (glepnir)

closes: #16614

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Justin M. Keyes <justinkz@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agoruntime(netrw): runtime(netrw): upstream snapshot of v178
Luca Saccarola [Sun, 23 Feb 2025 19:37:39 +0000 (20:37 +0100)] 
runtime(netrw): runtime(netrw): upstream snapshot of v178

relevant commits:
- refactor: netrw#own#Deprecate -> netrw#msg#Deprecate
- refactor: netrw#own#PathJoin -> netrw#fs#PathJoin
- fix: typos
- refactor: netrw#own#Open -> netrw#os#Open
- deprecate!: netrw#WinPath
- refactor: netrw#WinPath -> netrw#fs module
- refactor: s:ShellEscape -> netrw#os module
- refactor: s:NetrwExe -> netrw#os module
- refactor: s:NetrwGlob -> netrw#fs module
- refactor: s:NetrwGetcwd -> netrw#fs module
- refactor: s:NetrwFullPath -> netrw#fs module
- refactor: s:ComposePath -> netrw#fs module

closes: #16718

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1144: no way to create raw strings from a blob v9.1.1144
Bakudankun [Sun, 23 Feb 2025 19:29:21 +0000 (20:29 +0100)] 
patch 9.1.1144: no way to create raw strings from a blob

Problem:  no way to create raw strings from a blob
Solution: support the "encoding": "none" option
          to create raw strings (which may be invalid!)
          (Bakudankun)

closes: #16666

Signed-off-by: Bakudankun <bakudankun@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1143: illegal memory access when putting a register v9.1.1143
Christian Brabandt [Sun, 23 Feb 2025 19:01:54 +0000 (20:01 +0100)] 
patch 9.1.1143: illegal memory access when putting a register

Problem:  illegal memory access when putting a register
Solution: make sure cursor column doesn't become negative

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1142: tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined v9.1.1142
Christian Brabandt [Sun, 23 Feb 2025 18:55:09 +0000 (19:55 +0100)] 
patch 9.1.1142: tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined

Problem:  tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined
Solution: define $HOME and $XDG_CONFIG_HOME to some non-existing
          directory

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agoruntime(vim): improve &keywordprg in ftplugin
Konfekt [Sun, 23 Feb 2025 15:03:30 +0000 (16:03 +0100)] 
runtime(vim): improve &keywordprg in ftplugin

- let keywordprg in vim filetype handle context-sensitive help calls by
  detecting the syntax group of the word under the cursor
- reformat whitespace
- add modeline

related: #16677
closes: #16680

Co-authored-by: Andrew Radev <andrey.radev@gmail.com>
Co-authored-by: "D. Ben Knoble" <ben.knoble+github@gmail.com>
Co-authored-by: Gary Johnson <garyjohn@spocom.com>
Co-authored-by: Tim Pope <code@tpope.net>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agoruntime(vim): Update base-syntax, match :CompilerSet and :SynMenu commands
Doug Kearns [Sun, 23 Feb 2025 14:48:52 +0000 (15:48 +0100)] 
runtime(vim): Update base-syntax, match :CompilerSet and :SynMenu commands

closes: #16713

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1141: Misplaced comment in readfile() v9.1.1141
zeertzjq [Sun, 23 Feb 2025 08:56:10 +0000 (09:56 +0100)] 
patch 9.1.1141: Misplaced comment in readfile()

Problem:  Misplaced comment in readfile().
          (after v9.1.1139)
Solution: Move the comment above S_ISDIR().
          (zeertzjq)

closes: #16714

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1140: filetype: m17ndb files are not detected v9.1.1140
David Mandelberg [Sun, 23 Feb 2025 08:41:42 +0000 (09:41 +0100)] 
patch 9.1.1140: filetype: m17ndb files are not detected

Problem:  filetype: m17ndb files are not detected
Solution: detect m17ndb files as m17ndb filetype,
          include filetype, syntax and indent files for the
          new filetype (David Mandelberg).

References:

https://www.nongnu.org/m17n/manual-en/m17nDBFormat.html describes the
format. https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git/tree/ has
examples of the files.

closes: #16696

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1139: [fifo] is not displayed when editing a fifo v9.1.1139
Christian Brabandt [Sun, 23 Feb 2025 08:36:56 +0000 (09:36 +0100)] 
patch 9.1.1139: [fifo] is not displayed when editing a fifo

Problem:  [fifo] is not displayed when editing a fifo
          (after v7.4.2189)
Solution: stat the filename and detect the type correctly

fixes: #16702
closes: #16705

Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1138: cmdline completion for :hi is too simplistic v9.1.1138
Yee Cheng Chin [Sun, 23 Feb 2025 08:32:47 +0000 (09:32 +0100)] 
patch 9.1.1138: cmdline completion for :hi is too simplistic

Problem:  Existing cmdline completion for :highlight was barebone and
          only completed the highlight group names.

Solution: Implement full completion for the highlight group arguments
          such as guifg and cterm. If the user tries to complete
          immediately after the '=' (e.g. `hi Normal guifg=<Tab>`), the
          completion will fill in the existing value, similar to how
          cmdline completion for options work (Yee Cheng Chin).

closes: #16712

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 months agopatch 9.1.1137: ins_str() is inefficient by calling STRLEN() v9.1.1137
John Marriott [Sun, 23 Feb 2025 08:09:59 +0000 (09:09 +0100)] 
patch 9.1.1137: ins_str() is inefficient by calling STRLEN()

Problem:  ins_str() is inefficient by calling STRLLEN()
Solution: refactor ins_str() to take a length argument
          and let all callers provide the correct length
          when calling ins_str() (John Marriott)

closes: #16711

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>