Girish Palya [Sun, 16 Nov 2025 18:30:42 +0000 (18:30 +0000)]
patch 9.1.1918: completion: crash with fuzzy completion
Problem: completion: crash with fuzzy completion
(Christian Brabandt)
Solution: When completion candidates are gathered from a different
window, and when completing `<c-p>`, linked list should be
sorted only after all items are collected (Girish Palya).
fixes: #18752
closes: #18756
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1917: Vim9: incorrect type inference with mkdir()
Problem: Vim9: incorrect type inference with mkdir()
(dezza)
Solution: Before compiling a RHS expression in an assignment, save the
new local variable contents (Yegappan Lakshmanan)
fixes: #18751
closes: #18751
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
If Vim is installed into the Windows "Program Files" directory the tutor
path name contains spaces and must therefore be quoted before passing to
:drop.
closes: #18742
Signed-off-by: Andrey Starodubtsev <andrey.starodubtsev@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: runtime(netrw): LocalBrowseCheck() wipes unnamed buffers when
g:netrw_fastbrowse=0 (Carlos Falgueras García)
Solution: Check that bufname() is not empty
Problem: tests: test_plugin_comment fails, because it depends on nroff
filetype for .mom file (after v9.1.1909)
Solution: Explicitly set filetype to nroff
Vadim Yanitskiy [Wed, 12 Nov 2025 19:36:46 +0000 (19:36 +0000)]
runtime(erlang): recognize -if/-elif as erlangPreCondit in syntax script
The -if(Condition)/-elif(Condition) are compiler macros that evaluate
the following lines only if Condition evaluates to true. This patch
enables syntax highlighting for these macros.
Neil Lambert [Tue, 11 Nov 2025 18:01:31 +0000 (18:01 +0000)]
runtime(css): improve cssBoxProp matches
closes: #18717
Signed-off-by: Neil Lambert <nlambert@pm.me> Signed-off-by: Jay Sitter <jsit@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: tabpanel: truncates terminal output
(hokorobi)
Solution: Use topframe->fr_width, not Columns (which includes the
tabpanel width) (Hirohito Higashi)
related: #18678
closes: #18707
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1901: tests: test_vim9_generics fails without job feature
Problem: tests: test_vim9_generics fails when built without the job or
channel feature (lazypingu)
Solution: Skip test if job/channel feature is not available
Doug Kearns [Sun, 9 Nov 2025 19:23:50 +0000 (19:23 +0000)]
runtime(doc): Clean up file header whitespace
- :retab! line 1 and line 4 (main page heading).
- Use four columns whitespace before "by [Author]" in the user manual
heading to match the reference manual formatting.
- double space headings.
closes: #18648
Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Jesse Portnoy [Sun, 9 Nov 2025 18:57:34 +0000 (18:57 +0000)]
runtime(spec): Add support for more tags and distributions
- specMacroIdentifier: support macros starting with '?'; the most common
example is `%{?dist}`
- specPreAmble: added some missing tags from:
https://rpm.org/docs/4.19.x/manual/spec.html
- Added support for: `fedora`, `rhel`, `rocky`, `rhl`, `centos`, `el\d`
and `fc\d`, see https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag
closes: #18703
Signed-off-by: Jesse Portnoy <jesse.portnoy@perforce.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1898: tabpanel: inconsistent use of cmdline with tabpanel
Problem: tabpanel: inconsistent use of cmdline and message area with
tabpanel
Solution: Reduce the cmdline and message area by the horizontal size of
the tabpanel (Hirohito Higashi)
closes: #18678
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Luke Lollard [Thu, 6 Nov 2025 20:04:38 +0000 (20:04 +0000)]
patch 9.1.1897: Mac: Build failure on Mac OS X 10.6
Problem: Mac: Build failure on Mac OS X 10.6 due to the use of generics
for the sound feature.
Solution: Use the simple, non-generic Objective-C version.
(Luke Lollard)
fixes: #17678
closes: #18681
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Luke Lollard <haihige@protonmail.ch> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1894: global_runtime_dir appends /after directory when using XDG
Problem: global_runtime_dir appends /after directory when using XDG
configuration directory (Marius Gedminas).
Solution: Do not append /after to RUNTIME_GLOBAL_AFTER.
Problem: ICCF charity will dissolve
Solution: Update references to Kuwasha
Since the ICCF[1] will be dissolved and handing over to the Kuwasha charity
to continue supporting the Kibaale Children Center in Uganda, update the
uganda.txt help file.
patch 9.1.1892: Not possible to know once Vim is done with sourcing vimrc
Problem: A plugin does not know when startup scripts were already
triggered. This is useful to determine if a function is
called inside vimrc or after (like when sourcing 'plugin/'
files).
Solution: Add the v:vim_did_init variable (Evgeni Chasnovski)
closes: #18668
Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Changing permissions fail when using `gp` if the file under
the cursor is not in the current working directory.
Solution: Use the already available `a:curdir` argument and prepend it
to the `<cfile>`, so that the path of the file is correct.
varsidry [Fri, 31 Oct 2025 16:16:11 +0000 (16:16 +0000)]
patch 9.1.1891: g<End> does not move to last non-blank in visual mode
Problem: In visual mode, g<End> does not move to the last non-blank
character when the end of a line is on the same line as the
cursor (after v9.0.1753)
Solution: Move the cursor back by one position if it lands after the
line (varsidry)
fixes: #18657
closes: #18658
Signed-off-by: varsidry <240319857+varsidry@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Wed, 29 Oct 2025 20:15:01 +0000 (20:15 +0000)]
patch 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line
Problem: Wrong display with cpo+=$, matchparen and wrapped line.
Solution: Use old cursor line height when scrolling with cpo+=$. Also
fix wrong redraw in non-current window. (zeertzjq)
fixes: #18647
closes: #18662
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
John Marriott [Tue, 28 Oct 2025 20:56:47 +0000 (20:56 +0000)]
patch 9.1.1887: string handling in strings.c can be improved
Problem: string handling in strings.c can be improved
Solution: Refactor strings.c and remove calls to STRLEN()
(John Marriott)
This change does:
- In vim_strsave_shellescape() a small cosmetic change.
- In string_count() move the call to STRLEN() outside the while loop.
- In blob_from_string() refactor to remove call to STRLEN().
- In string_from_blob() call vim_strnsave() instead of vim_strsave().
- In vim_snprintf_safelen() call vim_vsnprintf_typval() directly instead
of vim_vsnprintf() which then calls vim_vsnprintf_typval().
- In copy_first_char_to_tv() change to return -1 on failure or the length
of resulting v_string. Change string_filter_map() and string_reduce() to
use the return value of copy_first_char_to_tv().
closes: #18617
Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Tue, 28 Oct 2025 20:27:19 +0000 (20:27 +0000)]
patch 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes
Problem: Wrong restored cursor position when re-entering a buffer
previously viewed in a window after making changes to the same
buffer in another window.
Solution: Adjust per-window "last cursor" positions on buffer changes.
(zeertzjq)
closes: #18655
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This was added in #16807, with no explanation for why it was necessary beyond
"it's an example of an idea". It completely breaks `gq` for me—rustfmt doesn't
reflow comments so is not an appropriate tool here! Beyond that, formatting a
selection with rustfmt treats that selection as if it were an entire file,
throwing away any indentation.
patch 9.1.1879: Crash when using a lambda funcref with :defer
Problem: Crash when using a lambda funcref with :defer
Solution: De-reference the partial correctly after invoking the deferred
functions (Yegappan Lakshmanan).
closes: #18640
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Anttoni Erkkilä [Sun, 26 Oct 2025 19:46:38 +0000 (19:46 +0000)]
patch 9.1.1877: cindent: wrong indentation after an array declaration
Problem: cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
(Anttoni Erkkilä)
cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```
closes: #18631
Signed-off-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Girish Palya [Sun, 26 Oct 2025 18:30:40 +0000 (18:30 +0000)]
patch 9.1.1876: pre-inserted text not exposed in cmdcomplete_info()
Problem: pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
function (Girish Palya)
closes: #18571
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Feat: expose preinserted text in complete_info()
Václav Kobera [Sun, 26 Oct 2025 18:21:04 +0000 (18:21 +0000)]
patch 9.1.1875: username parsing bug in netrw plugin
Problem: username parsing bug in netrw plugin when using remote adding
feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
test for the netrw plugin
closes: #18611
Signed-off-by: Václav Kobera <vasekobera@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Sun, 26 Oct 2025 13:29:09 +0000 (13:29 +0000)]
patch 9.1.1872: Cmdline history not updated when mapping <Up> and <CR>
Problem: Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
no pending input (zeertzjq).
Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode. I'm not entirely sure if this
change will cause problems, but it seems unlikely.