]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
2 months agoruntime(netrw): Do not create swapfiles in netrw buffers
Christian Brabandt [Mon, 19 Jan 2026 19:25:12 +0000 (19:25 +0000)] 
runtime(netrw): Do not create swapfiles in netrw buffers

Problem:  When using netrw to navigate directories, vim immediately
          creates, then deletes a swap file in the entered directory,
          causing the lastModifiedTime of that directory to change.
Solution: Use the :noswapfile command modifier in s:NetrwEditFile()

fixes: #18854

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(sml): add 'include' setting to ftplugin
Mateo Gjika [Mon, 19 Jan 2026 19:10:41 +0000 (19:10 +0000)] 
runtime(sml): add 'include' setting to ftplugin

closes: #19156

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(asm): add '#' as comment symbol (GNU as)
Mateo Gjika [Mon, 19 Jan 2026 19:08:39 +0000 (19:08 +0000)] 
runtime(asm): add '#' as comment symbol (GNU as)

closes: #19158

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(menu): fix space before Tab and trailing space
zeertzjq [Mon, 19 Jan 2026 19:04:47 +0000 (19:04 +0000)] 
runtime(menu): fix space before Tab and trailing space

closes: #19209

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A v9.1.2098
zeertzjq [Mon, 19 Jan 2026 19:02:08 +0000 (19:02 +0000)] 
patch 9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A

Problem:  Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A
          (after 9.1.1714) (fizz-is-on-the-way).
Solution: Check if there are matches before applying one (zeertzjq).

closes: #19210

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2097: TabClosedPre may be triggered twice for the same tab page v9.1.2097
zeertzjq [Mon, 19 Jan 2026 18:59:08 +0000 (18:59 +0000)] 
patch 9.1.2097: TabClosedPre may be triggered twice for the same tab page

Problem:  TabClosedPre may be triggered twice for the same tab page when
          closing another tab page in BufWinLeave (after 9.1.1211).
Solution: Store whether TabClosedPre was triggered in tabpage_T
          (zeertzjq).

Also fix the inconsistency that :tabclose! triggers TabClosedPre after
a failed :tabclose, but :close! doesn't even if there is only one window
in the tab page.

closes: #19211

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2096: Vim9: truthiness issue with objects v9.1.2096
Yegappan Lakshmanan [Mon, 19 Jan 2026 18:21:12 +0000 (18:21 +0000)] 
patch 9.1.2096: Vim9: truthiness issue with objects

Problem:  Vim9: truthiness issue with objects
          (kennypete)
Solution: Return true for an non-null object
          (Yegappan Lakshmanan)

related: #19173
closes:  #19213

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2095: :wqall! doesn't quit when using :quit in BufWritePost v9.1.2095
zeertzjq [Mon, 19 Jan 2026 18:15:51 +0000 (18:15 +0000)] 
patch 9.1.2095: :wqall! doesn't quit when using :quit in BufWritePost

Problem:  :wqall! doesn't quit when using :quit in BufWritePost
          (after 8.0.1190).
Solution: Restore old value of "exiting" when calling not_exiting()
          instead of always resetting it to FALSE (zeertzjq).

related: #2205
closes:  #19212

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(jp): Update Japanese Translation for Vim 9.2 Release
Muraoka Taro [Mon, 19 Jan 2026 18:05:37 +0000 (18:05 +0000)] 
translation(jp): Update Japanese Translation for Vim 9.2 Release

I've updated the Japanese translation for the Vim 9.2 release.  The
content contained in this PR was created collaboratively by multiple
peoples in the vim-jp/lang-ja project, and I, koron (Muraoka Taro), am
submitting it as the project representative.

The PR used for this work is https://github.com/vim-jp/lang-ja/pull/171.
(Please note that the communication in this PR is in Japanese)

closes: #19215

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(haskell): add include-search and define support in ftplugin
Mateo Gjika [Sun, 18 Jan 2026 21:30:26 +0000 (21:30 +0000)] 
runtime(haskell): add include-search and define support in ftplugin

closes: #19143

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Update advice for [gnt]roff users
G. Branden Robinson [Sun, 18 Jan 2026 21:14:52 +0000 (21:14 +0000)] 
runtime(doc): Update advice for [gnt]roff users

Content:
* Offer more specific guidance regarding input line breaks and sentence
  endings.
* Advise what to do when a line ends with sentence-ending punctuation
  but doesn't end a sentence.
* Advise against use of blanks lines and leading spaces for formatting
  when a macro package is in use.
* Advise how to achieve visual separation in the document without
  affecting formatting.
* Point out how the newline/end-of-sentence rules aid diffing.
* Distinguish the separate processes of inter-sentence space
  supplementation and filling.
* Use conventional (but accessible) terms from typography instead of
  more casual, approximate ones.
* Clarify what sort of extension the ms package's `XP` macro is.

Style:
* Fix comma splice with a semicolon.
* Use slightly more standard/idiomatic English.

Sources:
* https://rhodesmill.org/brandon/2012/one-sentence-per-line/
* https://www.ualberta.ca/en/computing-science/media-library/docs/unix-beginners.pdf
  (p. 20)
* https://www.gnu.org/software/groff/manual/groff.html.node/Input-Conventions.html
* https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/doc/ms.ms?h=1.23.0#n1131
* https://docs-archive.freebsd.org/44doc/usd/18.msdiffs/paper.pdf

closes: #19193

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2094: filetype: tiger files are not recognized v9.1.2094
Christian Clason [Sun, 18 Jan 2026 21:03:02 +0000 (21:03 +0000)] 
patch 9.1.2094: filetype: tiger files are not recognized

Problem:  filetype: tiger files are not recognized
Solution: Detect *.tig files as tiger filetype
          (Christian Clason).

Reference:
- https://www.cs.princeton.edu/~appel/modern/

closes: #19202

Signed-off-by: Christian Clason <c.clason@uni-graz.at>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2093: heap-use-after-free when wiping buffer in TabClosedPre v9.1.2093
zeertzjq [Sun, 18 Jan 2026 20:51:56 +0000 (20:51 +0000)] 
patch 9.1.2093: heap-use-after-free when wiping buffer in TabClosedPre

Problem:  heap-use-after-free when wiping buffer in TabClosedPre.
Solution: Check window_layout_locked() when closing window(s) in another
          tabpage (zeertzjq).

closes: #19196

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Tweak documentation style in {ft_context,terminal}.txt
Hirohito Higashi [Sun, 18 Jan 2026 20:50:11 +0000 (20:50 +0000)] 
runtime(doc): Tweak documentation style in {ft_context,terminal}.txt

closes: #19199

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime: Changed old "Sponsor" menu item name to a new one
Muraoka Taro [Sun, 18 Jan 2026 20:45:06 +0000 (20:45 +0000)] 
runtime: Changed old "Sponsor" menu item name to a new one

Problem:  There is an unavailable "Sponsor/Register" item in the Help
          menu.
Solution: The item name has been unified to "Sponsor".

The item names of tlmenu, which are only valid in terminal mode, were
not updated, so unnecessary items that were unavailable were displayed.

This item is also very confusing when creating menu translations.

In addition, the indentation of an item with the same name in the
regular menu has been corrected.

closes: #19201

Signed-off-by: MURAOKA Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2092: cannot detect kitty foreground/background color v9.1.2092
Mateo Gjika [Sun, 18 Jan 2026 14:12:04 +0000 (14:12 +0000)] 
patch 9.1.2092: cannot detect kitty foreground/background color

Problem:  Cannot detect kitty foreground/background color
Solution: Update builtin termcap entries (Mateo Gjika)

closes: #19208

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2091: Ruby integration does not work correctly v9.1.2091
Christian Brabandt [Sun, 18 Jan 2026 14:03:41 +0000 (14:03 +0000)] 
patch 9.1.2091: Ruby integration does not work correctly

Problem:  Ruby headers define HAVE_FSYNC, which leaks into Vim sources
          on Windows and changes conditional compilation of buf_T. This
          causes struct layout mismatches in if_ruby.c and results in a
          different offset for the b_p_bl property, making Vim::Buffer
          access fail (after v9.1.2024)
Solution: Undefine HAVE_FSYNC after including the Ruby headers.

related: #19019
closes:  #19206

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2090: Last buffer not freed with EXITFREE v9.1.2090
zeertzjq [Sat, 17 Jan 2026 10:13:57 +0000 (10:13 +0000)] 
patch 9.1.2090: Last buffer not freed with EXITFREE

Problem:  Last buffer not freed with EXITFREE (after 9.1.2087).
Solution: Free the last buffer when inside free_all_mem()
          (zeertzjq).

This isn't really a memory leak, as the last buffer's memory is still
reachable via pointers like firstbuf and lastbuf. But it's possible that
this may cause false ASAN warnings in the future, which is what EXITFREE
is supposed to prevent.

closes: #19194

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): fix return type in getqflist() and getloclist()
Mao-Yining [Sat, 17 Jan 2026 10:03:52 +0000 (10:03 +0000)] 
runtime(doc): fix return type in getqflist() and getloclist()

Problem: `call getqflist({})` will return `{}`, which is type dict<any>
Solution: fix it in the document.

closes: #19197

Signed-off-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(syntax-tests): tests: sh_10 fails on MacOS runners
Christian Brabandt [Fri, 16 Jan 2026 18:56:28 +0000 (18:56 +0000)] 
runtime(syntax-tests): tests: sh_10 fails on MacOS runners

Problem:  tests: sh_10 fails on MacOS runners (after 16c22790627f063)
          because dash does not exist on MacOS
Solution: Force the test to use bash shebang line

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2089: Wayland: Clipboard not working with external programs v9.1.2089
Foxe Chen [Fri, 16 Jan 2026 18:36:31 +0000 (18:36 +0000)] 
patch 9.1.2089: Wayland: Clipboard not working with external programs

Problem:  Wayland: Clipboard not working with external programs on
          Wayland (devsnek)
Solution: Simplify the Wayland offer logic and drop offering the special
          mime type (Foxe Chen)

fixes:  #19050
closes: #19184

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2088: Redundant NULL checks in find_pattern_in_path() v9.1.2088
zeertzjq [Fri, 16 Jan 2026 18:31:33 +0000 (18:31 +0000)] 
patch 9.1.2088: Redundant NULL checks in find_pattern_in_path()

Problem:  Redundant NULL checks in find_pattern_in_path().
Solution: Remove the NULL checks. Also fix typos in test_diffmode.vim
          (zeertzjq).

After assigning to inc_opt on line 3461, it's dereferenced immediately,
and not assigned another value afterwards, so checking for NULL after
line 3462 is redundant.

closes: #19185

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2087: Crash when using :tabonly in BufUnload v9.1.2087
zeertzjq [Fri, 16 Jan 2026 18:25:29 +0000 (18:25 +0000)] 
patch 9.1.2087: Crash when using :tabonly in BufUnload

Problem:  Crash when using :tabonly in BufUnload.
Solution: Set curbuf when setting curwin->w_buffer. Don't wipe out a
          buffer if there are no other buffers. Don't decrement
          b_nwindows if it was 0 before buf_freeall() (zeertzjq).

fixes:  #19088#issuecomment-3710172769
closes: #19186

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(tutor): Add Chinese translation for chapter 1
Mao-Yining [Fri, 16 Jan 2026 18:20:52 +0000 (18:20 +0000)] 
runtime(tutor): Add Chinese translation for chapter 1

closes: #19189

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(c,cpp): Add reference links to noreturn tests
Doug Kearns [Fri, 16 Jan 2026 13:27:24 +0000 (13:27 +0000)] 
runtime(c,cpp): Add reference links to noreturn tests

Add links to the example page at cppreference.com used for these tests
as per their licensing requirements.

closes: #19192

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(sh): highlight single-dash short options containing digits
Christian Brabandt [Thu, 15 Jan 2026 21:01:43 +0000 (21:01 +0000)] 
runtime(sh): highlight single-dash short options containing digits

fixes: #19082

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(sr): update Serbian messages translation
Ivan Pešić [Thu, 15 Jan 2026 20:42:01 +0000 (20:42 +0000)] 
translation(sr): update Serbian messages translation

closes: #19177

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(c): Do not highlight noreturn in C++ code
Wu Yongwei [Thu, 15 Jan 2026 20:37:14 +0000 (20:37 +0000)] 
runtime(c): Do not highlight noreturn in C++ code

closes: #19170

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(csh): Support negated if in matchit
Simão Afonso [Thu, 15 Jan 2026 20:27:02 +0000 (20:27 +0000)] 
runtime(csh): Support negated if in matchit

Currently, the matchit configuration chokes on valid syntax like:

```csh
if !(true) then
   true
endif
```

Make sure the negation syntax is supported.

closes: #19172

Signed-off-by: Simão Afonso <simao.afonso@powertools-tech.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(rapid): Update syntax file for ABB Rapid
Patrick Meiser-Knosowski [Thu, 15 Jan 2026 20:20:52 +0000 (20:20 +0000)] 
runtime(rapid): Update syntax file for ABB Rapid

Also remove trailing white spaces.

closes: #19175

Signed-off-by: Patrick Meiser-Knosowski <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2086: Memory leak when skipping invalid literal dict v9.1.2086
Sean Dewar [Thu, 15 Jan 2026 20:14:08 +0000 (20:14 +0000)] 
patch 9.1.2086: Memory leak when skipping invalid literal dict

Problem:  memory leak when not evaluating (just parsing) invalid literal
          dict.
Solution: Always clear the key's typval (Sean Dewar)

Though "check_typval_is_value(&tv) == FAIL && !evaluate" is maybe never
true, also always clear tvs if check_typval_is_value fails; at worst
this would be a no-op as their initial types are VAR_UNKNOWN.

closes: #19178

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(mbsync): Add syntax highlighting for TLSVersions keyword
Mathis Bernadet [Thu, 15 Jan 2026 20:10:05 +0000 (20:10 +0000)] 
runtime(mbsync): Add syntax highlighting for TLSVersions keyword

mbsync deprecated SSLVersions. Now use TLSVersions (we keep
computability with SSLVersions).

closes: #19179

Signed-off-by: Mathis Bernadet <matbernadet@emi.u-bordeaux.fr>
Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(yaml): fix indentation script
Bjoern Foersterling [Thu, 15 Jan 2026 20:05:58 +0000 (20:05 +0000)] 
runtime(yaml): fix indentation script

Problem:  The indentation of Ansible Playbooks gets messed up after
          gg=G (after 9179ddc0608813e)
Solution: Remove one shiftwidth() that seems to be misplaced.

closes: #19180

Signed-off-by: Bjoern Foersterling <bjoern.foersterling@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2085: Use-after-free in winframe_remove() v9.1.2085
Christian Brabandt [Tue, 13 Jan 2026 21:40:40 +0000 (21:40 +0000)] 
patch 9.1.2085: Use-after-free in winframe_remove()

Problem:  Use-after-free in winframe_remove() (henices)
Solution: Set window_layout_locked() inside winframe_remove()
          and check that writing diff files is disallowed when the
          window layout is locked.

It can happen with a custom diff expression when removing a window:

 1. Buffer was removed, so win_frame_remove() is called to remove the
    window.
 2. win_frame_remove() → frame_new_height() → scroll_to_fraction()
    → diff_check_fill() (checks for filler lines)
 3. diff_check_fill() ends up causing a diff_try_update, and because we
    are not using internal diff, it has to first write the file to a
    buffer using buf_write()
 4. buf_write() is called for a buffer that is not contained within a
    window, so it first calls aucmd_prepbuf() to create a new temporary
    window before writing the buffer and then later calls
    aucmd_restbuf(), which restores the previous window layout, calling
    winframe_remove() again, which will free the window/frame structure,
    eventually freeing stuff that will still be accessed at step 2.

closes: #19064

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(compiler): add compiler plugin for cabal
Mateo Gjika [Tue, 13 Jan 2026 21:37:46 +0000 (21:37 +0000)] 
runtime(compiler): add compiler plugin for cabal

closes: #19152

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2084: Compile error when build with job feature v9.1.2084
John Marriott [Tue, 13 Jan 2026 21:29:26 +0000 (21:29 +0000)] 
patch 9.1.2084: Compile error when build with job feature

Problem:  Compile error when build with job feature (after v9.1.2077)
Solution: Add ifdefs (John Marriott).

related: #19076

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoCI: Add C preproc indentation check to CI
Hirohito Higashi [Tue, 13 Jan 2026 21:22:27 +0000 (21:22 +0000)] 
CI: Add C preproc indentation check to CI

closes: #19165

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2083: style: wrong indentation of nested ifdefs v9.1.2083
Hirohito Higashi [Tue, 13 Jan 2026 21:14:33 +0000 (21:14 +0000)] 
patch 9.1.2083: style: wrong indentation of nested ifdefs

Problem:  style: wrong indentation of nested ifdefs
Solution: Fix indentation
          (Hirohito Higashi)

related: #19165

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2082: modeless auto-select not working v9.1.2082
Foxe Chen [Tue, 13 Jan 2026 20:15:07 +0000 (20:15 +0000)] 
patch 9.1.2082: modeless auto-select not working

Problem:  modeless auto-select not working
          (Coacher)
Solution: Add support for modeless autoselect
          (Foxe Chen)

fixes:  #19159
closes: #19168

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(krl): Update syntax file for Kuka Robot Language
KnoP-01 [Tue, 13 Jan 2026 20:11:51 +0000 (20:11 +0000)] 
runtime(krl): Update syntax file for Kuka Robot Language

closes: #19171

Signed-off-by: KnoP-01 <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(matchit): include minor improvement from chrisbra/matchit
Jon Parise [Tue, 13 Jan 2026 19:40:40 +0000 (19:40 +0000)] 
runtime(matchit): include minor improvement from chrisbra/matchit

In particular, documentation update from
related: chrisbra/matchit#55

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2081: MS-Windows: unnecessary "#ifdef FEAT_GUI" in os_win32.c v9.1.2081
Muraoka Taro [Sun, 11 Jan 2026 19:44:06 +0000 (19:44 +0000)] 
patch 9.1.2081: MS-Windows: unnecessary "#ifdef FEAT_GUI" in os_win32.c

Problem:  MS-Windows: "#ifdef FEAT_GUI" exists within "ifdef
          FEAT_GUI_MSWIN", which is confusing when reading the code.
          FEAT_GUI is always defined if FEAT_GUI_MSWIN is defined (see
          vim.h).  Therefore, this check and the else block are
          unnecessary.
Solution: Removed unnecessary "#ifdef FEAT_GUI" (Muraoka Taro).

closes: #19164

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2080: W23/W24 messsage appears on :reg v9.1.2080
Foxe Chen [Sun, 11 Jan 2026 19:32:26 +0000 (19:32 +0000)] 
patch 9.1.2080: W23/W24 messsage appears on :reg

Problem:  W23/W24 messsage appears on :reg
          (Coacher)
Solution: Silence message when using :reg command
          (Foxe Chen)

fixes:  #19161
closes: #19166

Co-authored-by: h_east <h.east.727@gmail.com>
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2079: use-after-free with 'qftf' wiping buffer v9.1.2079
Christian Brabandt [Sun, 11 Jan 2026 19:06:31 +0000 (19:06 +0000)] 
patch 9.1.2079: use-after-free with 'qftf' wiping buffer

Problem:  use-after-free with 'quickfixtextfunc' wiping buffer
          (henices)
Solution: Evaluate 'quickfixtextfunc' with textlock enabled.

closes: #19142

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2078: A few more typos in various files v9.1.2078
zeertzjq [Sun, 11 Jan 2026 18:59:51 +0000 (18:59 +0000)] 
patch 9.1.2078: A few more typos in various files

Problem:  A few more typos in various files
Solution: Fix those (zeertzjq, antonkesy)

related: neovim/neovim#37348
closes:  #19153

Co-authored-by: Anton Kesy <anton@kesy.de>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Fix typo at :help 'fsync'
Doug Kearns [Sun, 11 Jan 2026 18:53:40 +0000 (18:53 +0000)] 
runtime(doc): Fix typo at :help 'fsync'

closes: #19155

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(rst): set suffixesadd for rst
Anakin Childerhose [Sun, 11 Jan 2026 18:48:13 +0000 (18:48 +0000)] 
runtime(rst): set suffixesadd for rst

Add .rst to suffixesadd. This allows gf and similar commands to work for
rst documentation such as in the linux kernel Documentation.

closes: #19149

Signed-off-by: Anakin Childerhose <anakin@childerhose.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime: Update files for ConTeXt, METAFONT, and MetaPost.
Lifepillar [Sun, 11 Jan 2026 18:36:52 +0000 (18:36 +0000)] 
runtime: Update files for ConTeXt, METAFONT, and MetaPost.

This update is meant to be included in the upcoming 9.2 release.

**New**

- Support ConTeXt's convention to optionally specify an output directory
  in a comment line at the beginning of a source file.
- If a log file is not found, Vim does not create a new buffer.
- Removed `syntax/shared` files for the following reasons:
  - they are not necessary for the plugin to work (they only improve
    over existing syntax highlighting);
  - they are relative large;
  - they can be automatically (re)generated by users at any time using
    ConTeXt (explained in the doc);
  - since ConTeXt is updated frequently, they quickly become obsolete.

**Minor**

- Prefer `var` to `const` inside functions.
- Prefer `$`-interpolation to `printf()`.
- All revision dates set to the same date for consistency.
- Updated the error format.
- Various tweaks to the documentation, but nothing disruptive or new.

closes: #19148

Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(syntax-tests): Add :help command termination tests
Doug Kearns [Sun, 11 Jan 2026 18:25:38 +0000 (18:25 +0000)] 
runtime(syntax-tests): Add :help command termination tests

Problem:  The :help command lacks command termination tests.
Solution: Add tests for command termination at "|", "^M" and "^J".

- Check special handling of "|" in arguments.
- Update the Vim syntax file.

closes: #18932

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): clarify vim.eval behavior with Vim special variables
Phạm Bình An [Sun, 11 Jan 2026 18:19:52 +0000 (18:19 +0000)] 
runtime(doc): clarify vim.eval behavior with Vim special variables

Problem:  The behavior of vim.eval() with Vim special variables is not
          clearly documented. It is (partly) the reason why Nvim
          Python's vim.eval gives different output when evaluating
          v:true and v:false
Solution: Document it (Phạm Bình An)

closes: #19157

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(compiler): Do not set title in pandoc compiler
Ubaldo Tiberi [Sat, 10 Jan 2026 18:21:45 +0000 (18:21 +0000)] 
runtime(compiler): Do not set title in pandoc compiler

closes: #19048

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2077: Vim9: type issue when appending item to a list v9.1.2077
Yegappan Lakshmanan [Sat, 10 Jan 2026 18:14:13 +0000 (18:14 +0000)] 
patch 9.1.2077: Vim9: type issue when appending item to a list

Problem:  Vim9: type issue when appending item to a list
          (Peter Kenny)
Solution: When adding a new item at the end of a list in vim9script, use
          the proper item type (Yegappan Lakshmanan)

fixes:  #19045
closes: #19076

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2076: tests: MinGW test fails midway and stops v9.1.2076
Muraoka Taro [Sat, 10 Jan 2026 18:07:09 +0000 (18:07 +0000)] 
patch 9.1.2076: tests: MinGW test fails midway and stops

Problem:  tests: When running the MinGW test, an error occurs after
          generating opt_test.vim.
Solution: Rewrite the error detection in cmd.exe syntax (Muraoka Taro).

The recipe section of src/testdir/Make_ming.mak must be written in
cmd.exe syntax.  This is because "SHELL = cmd.exe" is specified at the
beginning.  However, the error detection in the opt_test.vim recipe is
written in UNXI syntax, which caused the error.

closes: #19146

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2075: tests: wrong change to test_ins_complete.vim v9.1.2075
Christian Brabandt [Sat, 10 Jan 2026 16:59:04 +0000 (16:59 +0000)] 
patch 9.1.2075: tests: wrong change to test_ins_complete.vim

Problem:  tests: wrong change to test_ins_complete.vim
          (zeertzjq, after v9.1.2071)
Solution: Revert unintentional changes

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2074: Compile error with Motif GUI v9.1.2074
Christian Brabandt [Sat, 10 Jan 2026 16:43:43 +0000 (16:43 +0000)] 
patch 9.1.2074: Compile error with Motif GUI

Problem:  Compile error with Motif GUI
          (Tony Mechelynck, after v9.1.2072)
Solution: Add ifdef FEAT_GUI_GTK

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(sieve): preserve existing line endings in ftplugin
André-Patrick Bubel [Fri, 9 Jan 2026 17:44:04 +0000 (17:44 +0000)] 
runtime(sieve): preserve existing line endings in ftplugin

Only set fileformat=dos for new files; preserve existing line endings
when editing. This satisfies RFC 5228 for new files while avoiding
issues with version control and existing workflows.

The previous change (3cb4148) unconditionally set fileformat=dos, which
converts existing files with LF line endings to CRLF on save. This
causes issues with version control (entire file appears changed) and
breaks workflows where sieve files are stored with unix line endings.

Dovecot Pigeonhole (the main sieve implementation) has explicitly
accepted LF line endings since 2008 (commit 97b967b5):
  /* Loose LF is allowed (non-standard) and converted to CRLF */
This behavior has remained unchanged for almost 18 years.

closes: #19144

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: André-Patrick Bubel <code@apb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2073: auto/configure needs to be regenerated v9.1.2073
Christian Brabandt [Fri, 9 Jan 2026 17:36:30 +0000 (17:36 +0000)] 
patch 9.1.2073: auto/configure needs to be regenerated

Problem:  auto/configure needs to be regenerated
          (after v9.1.2072)
Solution: Run make autoconf and update the configure script

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2072: Socket server has a few minor issues v9.1.2072
Foxe Chen [Fri, 9 Jan 2026 17:30:50 +0000 (17:30 +0000)] 
patch 9.1.2072: Socket server has a few minor issues

Problem:  Socket server has some small issues
Solution: Fix issues (see below)

- don't poll current vim instance when using serverlist()
- list the current vim instance in serverlist() (to match X11
  behaviour)
- don't make X11 feature disable socketserver feature
- refactor CheckSocketServer logic and update tests with remote server
  dependency

closes: #19118

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(syntax-tests): Adapt "runtime/syntax/testdir/vimcmd" for "src/testdir/util...
Aliaksei Budavei [Fri, 9 Jan 2026 17:19:18 +0000 (17:19 +0000)] 
runtime(syntax-tests): Adapt "runtime/syntax/testdir/vimcmd" for "src/testdir/util/shared.vim"

Problem:  When "util/shared.vim" is sourced and GetVimCommand is called on
          behalf of the syntax test runner, the "vimcmd" file will be searched
          in the current working directory, i.e. "src/testdir", whereas the
          desired file is in "runtime/syntax/testdir".
Solution: Temporarily copy "vimcmd" between test directories.

closes: #19127

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2071: tests: test_ins_complete.vim leaves swapfiles behind v9.1.2071
Christian Brabandt [Fri, 9 Jan 2026 17:06:54 +0000 (17:06 +0000)] 
patch 9.1.2071: tests: test_ins_complete.vim leaves swapfiles behind

Problem:  tests: test_ins_complete.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

closes: #19137

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2070: completion: autocomplete breaks with large dict v9.1.2070
Girish Palya [Fri, 9 Jan 2026 16:59:30 +0000 (16:59 +0000)] 
patch 9.1.2070: completion: autocomplete breaks  with large dict

Problem:  Autocomplete breaks ":help" when 'dict' points to a large file
          (lxhillwind)
Solution: Reset autocompletion timer expiry flag (Girish Palya)

fixes:  #19130
closes: #19137

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2069: Search wrap indicator not shown w/out 'shm-S' v9.1.2069
glepnir [Fri, 9 Jan 2026 16:52:10 +0000 (16:52 +0000)] 
patch 9.1.2069: Search wrap indicator not shown w/out 'shm-S'

Problem:  when shortmess doesn't have 'S', backward search wrap doesn't
          show the "W" before count. forward search works fine but
          backward fails because the position check logic is backwards -
          it checks if cursor < pos instead of using the existing
          wrapped flag.
Solution: Use sia->sa_wrapped flag that searchit() already sets
          correctly (glepnir).

fixes:  #5280
closes: #19138

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(lynx): Update syntax file
Doug Kearns [Fri, 9 Jan 2026 16:49:32 +0000 (16:49 +0000)] 
runtime(lynx): Update syntax file

Update for Lynx version 2.9.2.

closes: #19141

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): clarify the behaviour of 'fo-m'
Christian Brabandt [Thu, 8 Jan 2026 21:39:15 +0000 (21:39 +0000)] 
runtime(doc): clarify the behaviour of 'fo-m'

fixes: #19095

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(de): update German message translation
Christian Brabandt [Thu, 8 Jan 2026 21:31:41 +0000 (21:31 +0000)] 
translation(de): update German message translation

While at it, update vim.pot with the current year.

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2068: :bd/bw may try to switch to a closing buffer v9.1.2068
Sean Dewar [Thu, 8 Jan 2026 21:27:55 +0000 (21:27 +0000)] 
patch 9.1.2068: :bd/bw may try to switch to a closing buffer

Problem:  :bdelete/bunload/bwipeout may attempt to switch to a closing
          buffer, which fails. (after 9.1.2058)
Solution: don't consider switching to closing buffers (Sean Dewar)

closes: #19107

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(cpp): Fix c++ float and integer literal syntax highlighting
Dominique Pelle [Thu, 8 Jan 2026 21:18:58 +0000 (21:18 +0000)] 
runtime(cpp): Fix c++ float and integer literal syntax highlighting

closes: #8939

Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Dominique Pelle <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(matchit): Update to Release 1.21
Christian Brabandt [Thu, 8 Jan 2026 20:53:40 +0000 (20:53 +0000)] 
runtime(matchit): Update to Release 1.21

closes: #19109

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(sh): Update indent script
Christian Brabandt [Thu, 8 Jan 2026 20:52:01 +0000 (20:52 +0000)] 
runtime(sh): Update indent script

closes: #19110

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2067: shadow variable warning in menu.c v9.1.2067
John Marriott [Thu, 8 Jan 2026 20:29:54 +0000 (20:29 +0000)] 
patch 9.1.2067: shadow variable warning in menu.c

Problem:  shadow variable warning in menu.c
Solution: Rename the variable (John Marriott).

closes: #19120

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(racket): update Racket syntax file
D. Ben Knoble [Thu, 8 Jan 2026 20:26:23 +0000 (20:26 +0000)] 
runtime(racket): update Racket syntax file

This brings us to upstream commit f251a43 (Merge syntax based folding
for block comments, 2025-09-10). Note that not all upstream files are
included.

closes: #19126

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2066: :wqall! doesn't close a terminal like :qall! does v9.1.2066
zeertzjq [Thu, 8 Jan 2026 20:23:05 +0000 (20:23 +0000)] 
patch 9.1.2066: :wqall! doesn't close a terminal like :qall! does

Problem:  :wqall! doesn't close a terminal buffer like :qall! does
          (after 8.0.1525).
Solution: Check eap->forceit (zeertzjq).

Ref: https://github.com/vim/vim/issues/2654#issuecomment-366803932

related: #2654
related: neovim/neovim#14061
closes:  #19129

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2065: GvimExt cannot be linked statically using MinGW v9.1.2065
Muraoka Taro [Thu, 8 Jan 2026 20:12:58 +0000 (20:12 +0000)] 
patch 9.1.2065: GvimExt cannot be linked statically using MinGW

Problem:  When building GvimExt with MinGW, some DLLs are still linked
          even if STATIC_STDCPLUS=yes is set.
Solution: Following the Vim core, make some libraries explicitly
          statically linked.  The order of libraries is important, and
          gcc_eh must be placed before winpthread (Muraoka Taro)

closes: #19131

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoCI: build failure in if_perl.xs
zeertzjq [Thu, 8 Jan 2026 20:10:09 +0000 (20:10 +0000)] 
CI: build failure in if_perl.xs

Problem:  CI: build failure in if_perl.xs.
Solution: Add -Wno-strict-prototypes to PERL_CFLAGS_EXTRA
          (zeertzjq).

closes: #19132

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(yaml): update YAML indentation for mapping keys inside list items
Cezar Dimoiu [Thu, 8 Jan 2026 20:05:07 +0000 (20:05 +0000)] 
runtime(yaml): update YAML indentation for mapping keys inside list items

When a list item contains a mapping key (e.g., '- element1:'), the
content under that key was incorrectly indented. The indent function
was not accounting for the '- ' prefix when calculating indentation
for nested content.

Example that now works correctly:
  list:
    - element1:
        foo: bar  # Now correctly at indent 6, not 4

The fix adds special handling in two places:
1. When previous line ends with ':' and starts with '- '
2. When looking up previous mapping key that is a list item

Fixes indentation to account for the 2-character '- ' prefix.

fixes:  #18943
closes: #19133

Signed-off-by: Cezar Dimoiu <cezar.dimoiu@keysight.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2064: completion: segfault during file name completion v9.1.2064
Girish Palya [Thu, 8 Jan 2026 19:56:40 +0000 (19:56 +0000)] 
patch 9.1.2064: completion: segfault during file name completion

Problem:  completion: segfault during file name completion
Solution: Initialize compl_num_bests (Girish Palya)

closes: #19134

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agogitattributes: mark test21.ok binary, drop test42.in
Christian Brabandt [Thu, 8 Jan 2026 19:43:45 +0000 (19:43 +0000)] 
gitattributes: mark test21.ok binary, drop test42.in

This change does 2 things:
1) Mark src/testdir/test21.ok as binary by git.

After 0ed8ba3079ea5f38, test21.ok was treated by Git as a text file
using LF line endings. However, the test explicitly checks handling of
files with mixed line endings, so it must retain its literal LF and CR
endings and must not be modified by Git. Therefore, mark it explicitly
as binary.

2) Remove src/testdir/test42.in

This test was converted to the new-style test in v8.2.1316 and was
therefore deleted. There is no need to keep gitattributes rules for a
non-existing file.

related: #19086

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): add termdebug tag, remove term "floating window"
Phạm Bình An [Thu, 8 Jan 2026 19:35:38 +0000 (19:35 +0000)] 
runtime(doc): add termdebug tag, remove term "floating window"

Problem:
- When I type `:h termdebug`, I will expect to see the introduction of
  the termdebug plugin. But instead, it shows me document of
  `termdebug_wide`, and I have to scroll up quite much to find the
  introduction.
- `:h popup` says `floating-window`? Why? As I have tried both features
  (of Vim and Neovim), I think they are _very different_ things, even
  more different than job features in Vim and Neovim.

Solution:
- In `:h terminal.txt`, add tag `*termdebug*` to the introduction of
  termdebug plugin.
- In `:h popup.txt`, "floating window" -> "popup window".

closes: #19135

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(sqloracle): Update syntax script
Christian Brabandt [Wed, 7 Jan 2026 21:56:03 +0000 (21:56 +0000)] 
runtime(sqloracle): Update syntax script

closes: #19111

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(xml): update XML runtime files
Christian Brabandt [Wed, 7 Jan 2026 21:54:51 +0000 (21:54 +0000)] 
runtime(xml): update XML runtime files

closes: #19112

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(zsh): Update runtime files
Christian Brabandt [Wed, 7 Jan 2026 21:53:13 +0000 (21:53 +0000)] 
runtime(zsh): Update runtime files

closes: #19113

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(privoxy): Update syntax file
Doug Kearns [Wed, 7 Jan 2026 21:52:21 +0000 (21:52 +0000)] 
runtime(privoxy): Update syntax file

Update to version 4.1.0.

closes: #19115

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(tutor): fix wrong motion in instruction
zeertzjq [Wed, 7 Jan 2026 21:50:37 +0000 (21:50 +0000)] 
runtime(tutor): fix wrong motion in instruction

related: neovim/neovim#37213
closes: #19117

Co-authored-by: DrNayak2306 <dhruvgnk.work@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2063: A few typos in the code and runtime files v9.1.2063
zeertzjq [Wed, 7 Jan 2026 21:31:22 +0000 (21:31 +0000)] 
patch 9.1.2063: A few typos in the code and runtime files

Problem:  A few typos in the code and runtime files
Solution: Fix those (zeertzjq).

closes: #19119

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(wget): Update syntax files
Doug Kearns [Wed, 7 Jan 2026 20:34:19 +0000 (20:34 +0000)] 
runtime(wget): Update syntax files

Update to versions Wget 1.25.0 and Wget2 2.2.1.

closes: #19122

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Minor updates to version9.txt
Yegappan Lakshmanan [Wed, 7 Jan 2026 20:32:22 +0000 (20:32 +0000)] 
runtime(doc): Minor updates to version9.txt

closes: #19124

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(cpp): Announce syntax file adoption
Christian Brabandt [Tue, 6 Jan 2026 15:55:37 +0000 (15:55 +0000)] 
runtime(cpp): Announce syntax file adoption

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2062: filetype: djot files are not recognized v9.1.2062
Hoang Nguyen [Tue, 6 Jan 2026 15:00:15 +0000 (15:00 +0000)] 
patch 9.1.2062: filetype: djot files are not recognized

Problem:  filetype: djot files are not recognized
Solution: Detect *.dj and *.djot files as djot filetype
          (Hoang Nguyen).

Reference:
- https://djot.net/

closes: #19105

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2061: filetype: Koka files are not recognized v9.1.2061
Hoang Nguyen [Tue, 6 Jan 2026 14:56:00 +0000 (14:56 +0000)] 
patch 9.1.2061: filetype: Koka files are not recognized

Problem:  filetype: Koka files are not recognized
Solution: Detect *.kk files as koka filetype (Hoang Nguyen).

Reference:
- https://koka-lang.github.io/koka/doc/index.html

closes: #19104

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2060: filetype: Rasi include files are not recognized v9.1.2060
Hoang Nguyen [Tue, 6 Jan 2026 14:52:13 +0000 (14:52 +0000)] 
patch 9.1.2060: filetype: Rasi include files are not recognized

Problem:  filetype: Rasi include files are not recognized
Solution: Detect *.rasinc as rasi filetype (Hoang Nguyen)

Reference:
- https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown#file-extension

closes: #19103

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2059: filetype: Nickel files are not recognized v9.1.2059
Hoang Nguyen [Tue, 6 Jan 2026 14:46:26 +0000 (14:46 +0000)] 
patch 9.1.2059: filetype: Nickel files are not recognized

Problem:  filetype: Nickel files are not recognized
Solution: Detect *.ncl files as nickel filetype
          (Hoang Nguyen)

Reference:
- https://nickel-lang.org/getting-started/
- https://github.com/tweag/nickel/tree/master/examples

closes: #19102

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2058: b_locked_split is not checked for :sbuffer v9.1.2058
Sean Dewar [Tue, 6 Jan 2026 11:58:44 +0000 (11:58 +0000)] 
patch 9.1.2058: b_locked_split is not checked for :sbuffer

Problem:  b_locked_split is not checked for :sbuffer, which allows
          autocommands to leave windows open to freed buffers.
Solution: In do_buffer_ext, check just before possibly splitting, after
          handling 'switchbuf'. Leave win_split to handle the check for
          curbuf. (needed even if curbuf is not the target, as setting
          the buffer after splitting may fail) (Sean Dewar)

closes: #19096

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2057: copying to clipboard register broken with 'go-P' v9.1.2057
Foxe Chen [Tue, 6 Jan 2026 11:54:40 +0000 (11:54 +0000)] 
patch 9.1.2057: copying to clipboard register broken with 'go-P'

Problem:  Copying to clipboard register broken with 'go-P'
          (Coacher)
Solution: Verify that clip_plus is available (Foxe Chen).

fixes:  #19072
closes: #19097

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2056: tests: inconsistent indent and line breaking in Test_maparg() v9.1.2056
zeertzjq [Tue, 6 Jan 2026 11:22:42 +0000 (11:22 +0000)] 
patch 9.1.2056: tests: inconsistent indent and line breaking in Test_maparg()

Problem:  tests: inconsistent indent and line breaking in Test_maparg().
Solution: Consistently use spaces-only indent. Reorder fields to group
          similar ones together and break lines at consistent positions.
          Remove a mapping when it is no longer used (zeertzjq).

closes: #19099

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): Updated message file
RestorerZ [Tue, 6 Jan 2026 11:19:44 +0000 (11:19 +0000)] 
translation(ru): Updated message file

closes: #19093

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): added a disclaimer to the license translation
RestorerZ [Tue, 6 Jan 2026 11:17:35 +0000 (11:17 +0000)] 
translation(ru): added a disclaimer to the license translation

closes: #19092

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): updated menu files according to the patch 9.1.1989
RestorerZ [Tue, 6 Jan 2026 11:16:11 +0000 (11:16 +0000)] 
translation(ru): updated menu files according to the patch 9.1.1989

closes: #19091

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): updated tutor files
RestorerZ [Tue, 6 Jan 2026 11:14:57 +0000 (11:14 +0000)] 
translation(ru): updated tutor files

closes: #19090

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2055: Division by zero in :file after failing to wipe buffer v9.1.2055
zeertzjq [Tue, 6 Jan 2026 11:11:16 +0000 (11:11 +0000)] 
patch 9.1.2055: Division by zero in :file after failing to wipe buffer

Problem:  Division by zero in :file after failing to wipe buffer
          (after 8.2.4631).
Solution: Still call buf_clear_file() when failing to wipe buffer
          (zeertzjq).

closes: #19088

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoAlways force LF line endings in old test .ok files
Muraoka Taro [Tue, 6 Jan 2026 10:30:09 +0000 (10:30 +0000)] 
Always force LF line endings in old test .ok files

Problem: When running tests on a source tree checked out with git for
Windows, the old tests fail.

The Git for Windows installer installs git with core.autocrlf=true by
default. If you check out, build, and run tests using such a git, the
old test .ok files will likely fail because they use CRLF line endings.
Tests on Windows assume that .ok files use LF line endings, and
appropriately convert the line endings of related files.  This
assumption breaks down when .ok files use CRLF.

Solution: Force LF line endings for old test .ok files in the
.gitattributes file.  Related to that, we've stopped explicitly
specifying line endings when checking out in CI, since this is no longer
necessary.

While at it, also fix a typo in the comment of the gitattributes file.

closes: #19086

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>