]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
5 months agoruntime(doc): update how to get Vim
Christian Brabandt [Mon, 3 Mar 2025 07:16:27 +0000 (08:16 +0100)] 
runtime(doc): update how to get Vim

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1166: command-line auto-completion hard with wildmenu v9.1.1166
Girish Palya [Sun, 2 Mar 2025 21:55:57 +0000 (22:55 +0100)] 
patch 9.1.1166: command-line auto-completion hard with wildmenu

Problem:  command-line auto-completion hard with wildmenu
Solution: implement "noselect" wildoption value (Girish Palya)

When `noselect` is present in `wildmode` and 'wildmenu' is enabled, the
completion menu appears without pre-selecting the first item.

This change makes it easier to implement command-line auto-completion,
where the menu dynamically appears as characters are typed, and `<Tab>`
can be used to manually select an item. This can be achieved by
leveraging the `CmdlineChanged` event to insert `wildchar(m)`,
triggering completion menu.

Without this change, auto-completion using the 'wildmenu' mechanism is
not feasible, as it automatically inserts the first match, preventing
dynamic selection.

The following Vimscript snippet demonstrates how to configure
auto-completion using `noselect`:

```vim
vim9script
set wim=noselect:lastused,full wop=pum wcm=<C-@> wmnu
autocmd CmdlineChanged : timer_start(0, function(CmdComplete, [getcmdline()]))

def CmdComplete(cur_cmdline: string, timer: number)
  var [cmdline, curpos] = [getcmdline(), getcmdpos()]
  if cur_cmdline ==# cmdline  # Avoid completing each character in keymaps and pasted text
    && !pumvisible() && curpos == cmdline->len() + 1

    if cmdline[curpos - 2] =~ '[\w*/:]'  # Reduce noise by completing only selected characters
      feedkeys("\<C-@>", "ti")
      set eventignore+=CmdlineChanged  # Suppress redundant completion attempts
      timer_start(0, (_) => {
        getcmdline()->substitute('\%x00$', '', '')->setcmdline()  # Remove <C-@> if no completion items exist
        set eventignore-=CmdlineChanged
      })
    endif
  endif
enddef
```

fixes: #16551
closes: #16759

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(tar): use readblob() instead of shelling out to file(1)
Christian Brabandt [Sun, 2 Mar 2025 21:23:28 +0000 (22:23 +0100)] 
runtime(tar): use readblob() instead of shelling out to file(1)

fixes: ##16761
closes: #16769

Co-authored-by: Jim Zhou <jimzhouzzy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1165: diff: regression with multi-file diff blocks v9.1.1165
Yee Cheng Chin [Sun, 2 Mar 2025 21:05:37 +0000 (22:05 +0100)] 
patch 9.1.1165: diff: regression with multi-file diff blocks

Problem:  Vim's diff block merging algorithm when doing a multi-file diff
          is buggy when two different diff hunks overlap a single
          existing diff block (after v9.1.0743)

Solution: fix a couple bugs in this logic:

1. Fix regression from v9.1.0743 where it's not correctly expanding the
   2nd overlap correctly, where it always expands without taking into
   account that this was always taken care of when the first overlap
   happened. Instead, we should only grow the 2nd overlap if it overhangs
   outside the existing diff block, and if we encounter a new overlapping
   diff block (due to overlap chaining).
2. When we expand a diff block to match the hunk size on the orig side
   (when handling the first overlap), we expand the same amount of lines
   in the new side. This is not sound if there exists a second overlap
   hunk that we haven't processed yet, and that hunk has different
   number of lines in orig/new. Fix this by doing the corresponding
   counter adjustment when handling 2nd/3rd/etc overlap by calculating
   the difference in lines between orig and new side.
   (Yee Cheng Chin)

closes: #16768

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1164: [security]: code execution with tar.vim and special crafted tar files v9.1.1164
Christian Brabandt [Sun, 2 Mar 2025 18:33:51 +0000 (19:33 +0100)] 
patch 9.1.1164: [security]: code execution with tar.vim and special crafted tar files

Problem:  editing a special crafted tar file allows code execution
          (RyotaK, after 129a8446d23cd9cb4445fcfea259cba5e0487d29)
Solution: escape the filename before feeding it to the `:read` command

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-wfmf-8626-q3r3

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agotranslation(it): Update Italian translation
Antonio Giovanni Colombo [Sat, 1 Mar 2025 16:27:37 +0000 (17:27 +0100)] 
translation(it): Update Italian translation

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(tar): fix syntax error in tar.vim
Christian Brabandt [Sat, 1 Mar 2025 16:13:40 +0000 (17:13 +0100)] 
runtime(tar): fix syntax error in tar.vim

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1163: $MYVIMDIR is set too late v9.1.1163
Christian Brabandt [Sat, 1 Mar 2025 15:30:33 +0000 (16:30 +0100)] 
patch 9.1.1163: $MYVIMDIR is set too late

Problem:  $MYVIMDIR is set too late and not available while sourcing
          runtime files (Maxim Kim, after v9.1.1159)
Solution: Also set it when $MYVIMRC file is found

fixes: #16764
closes: #16767

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(syntax-tests): Apply stronger synchronisation between buffers
Aliaksei Budavei [Sat, 1 Mar 2025 15:28:20 +0000 (16:28 +0100)] 
runtime(syntax-tests): Apply stronger synchronisation between buffers

The current lightweight synchronisation with ":redraw" needs further
reinforcement in the light of v9.1.1110.  And, with v9.1.0820, make
another synchronisation point _before_ the first (or only) screenful is
dumped.

Also add a script to regenerate all screendumps.

closes: #16632

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1162: completion popup not cleared in cmdline v9.1.1162
glepnir [Sat, 1 Mar 2025 15:17:00 +0000 (16:17 +0100)] 
patch 9.1.1162: completion popup not cleared in cmdline

Problem:  When an info popup spans into the cmdline area and ESC is
          pressed, some content remains visible on screen (yu3s)
Solution: Add popup_overlays_cmdline() check in screen_fill() to prevent
          prematurely clearing the clear_cmdline flag (glepnir).

fixes: #15627
closes: #16765

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1161: preinsert requires bot "menu" and "menuone" to be set v9.1.1161
glepnir [Sat, 1 Mar 2025 15:12:23 +0000 (16:12 +0100)] 
patch 9.1.1161: preinsert requires bot "menu" and "menuone" to be set

Problem:  preinsert requires bot "menu" and "menuone" to be set,
          but "menu" is redundant (after v9.1.1160)
Solution: preinsert only requires menuone (glepnir)

closes: #16763

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(misc): add support for bzip3 to tar, vimball and gzip plugins
Jim Zhou [Fri, 28 Feb 2025 17:06:14 +0000 (18:06 +0100)] 
runtime(misc): add support for bzip3 to tar, vimball and gzip plugins

fixes: #16751
closes: #16755

Signed-off-by: Jim Zhou <jimzhouzzy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1160: Ctrl-Y does not work well with "preinsert" when completing items v9.1.1160
glepnir [Fri, 28 Feb 2025 16:43:42 +0000 (17:43 +0100)] 
patch 9.1.1160: Ctrl-Y does not work well with "preinsert" when completing items

Problem:  The 'preinsert' feature requires Ctrl-Y to confirm insertion,
          but Ctrl-Y only works when the popup menu (pum) is displayed.
          Without enforcing this dependency, it could lead to confusing
          behavior or non-functional features.

Solution: Modify ins_compl_has_preinsert() to check for both 'menu' and
          'menuone' flags when 'preinsert' is set. Update documentation
          to clarify this requirement. This avoids adding complex
          conditional behaviors. (glepnir)

fixes: #16728
closes: #16753

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1159: $MYVIMDIR may not always be set v9.1.1159
Christian Brabandt [Fri, 28 Feb 2025 16:34:46 +0000 (17:34 +0100)] 
patch 9.1.1159: $MYVIMDIR may not always be set

Problem:  $MYVIMDIR may not always be set (after 9.1.0718)
          (sandwm)
Solution: always set $MYVIMDIR to first item in runtimepath
          (except when using --clean), update it when changing &rtp

fixes: #16609
closes: #16709

Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1158: :verbose set has wrong file name with :compiler! v9.1.1158
zeertzjq [Fri, 28 Feb 2025 16:32:07 +0000 (17:32 +0100)] 
patch 9.1.1158: :verbose set has wrong file name with :compiler!

Problem:  :verbose set has wrong file name with :compiler!
Solution: Add -keepscript (zeertzjq)

closes: #16752

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(netrw): correctly handle shellslash variable
Luca Saccarola [Fri, 28 Feb 2025 16:30:25 +0000 (17:30 +0100)] 
runtime(netrw): correctly handle shellslash variable

closes: #16758

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1157: command completion wrong for input() v9.1.1157
Jim Zhou [Thu, 27 Feb 2025 18:29:50 +0000 (19:29 +0100)] 
patch 9.1.1157: command completion wrong for input()

Problem:  command completion wrong for input()
          (Cdrman Fu)
Solution: Set commandline completion context explicitly
          (Jim Zhou)

fixes #16723
closes: #16733

Signed-off-by: Jim Zhou <csd_189@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(doc): fix confusing docs for 'completeitemalign'
zeertzjq [Thu, 27 Feb 2025 18:24:32 +0000 (19:24 +0100)] 
runtime(doc): fix confusing docs for 'completeitemalign'

closes: #16743

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1156: tests: No test for what patch 9.1.1152 fixes v9.1.1156
zeertzjq [Thu, 27 Feb 2025 18:22:26 +0000 (19:22 +0100)] 
patch 9.1.1156: tests: No test for what patch 9.1.1152 fixes

Problem:  No test for what patch 9.1.1152 fixes.
Solution: Add a test (zeertzjq).

closes: #16742

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1155: Mode message not cleared after :silent message v9.1.1155
zeertzjq [Thu, 27 Feb 2025 18:19:36 +0000 (19:19 +0100)] 
patch 9.1.1155: Mode message not cleared after :silent message

Problem:  Mode message not cleared after :silent message
          (after 9.0.1634).
Solution: Don't reset mode_displayed when the message is empty.
          (zeertzjq)

fixes: neovim/neovim#32641
closes: #16744

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(lua): Improve 'include' and make '*expr' functions script-local
Doug Kearns [Thu, 27 Feb 2025 18:17:33 +0000 (19:17 +0100)] 
runtime(lua): Improve 'include' and make '*expr' functions script-local

- Prevent 'include' from matching variable assignments as calls to
  require() and others.
- Use script-local functions for 'includeexpr' and 'foldexpr'.
- Formatting fixes.

closes: #16746

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agoruntime(vim): Update base-syntax, match Vim9 function calls after "|"
Doug Kearns [Thu, 27 Feb 2025 18:15:20 +0000 (19:15 +0100)] 
runtime(vim): Update base-syntax, match Vim9 function calls after "|"

Match Vim9 function calls after ex-bar.  These are also currently
matched but invalid syntax for legacy script.

fixes: #16721
closes: #16747

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 months agopatch 9.1.1154: Vim9: not able to use autoload class accross scripts v9.1.1154
Yegappan Lakshmanan [Thu, 27 Feb 2025 18:12:00 +0000 (19:12 +0100)] 
patch 9.1.1154: Vim9: not able to use autoload class accross scripts

Problem:  Vim9: not able to use autoload class accross scripts
Solution: make it work, re-enable the test (Yegappan Lakshmanan)

fixes: #15031
closes: #16748

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
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>