Commit Graph

34215 Commits

Author SHA1 Message Date
bfredl
be73c35943 Merge pull request #36242 from bfredl/o_dod
fix(tui): use the correct offset for invisible cursor after sync
2025-10-18 20:07:19 +02:00
bfredl
460738e02d fix(tui): use the correct offset for invisible cursor after sync
fixes #36237
2025-10-18 19:29:04 +02:00
zeertzjq
68a54bfda6 vim-patch:9.1.1868: v:register is wrong in v_: command (#36238)
Problem:  v:register is wrong in v_: command (after 9.1.1858).
Solution: Don't reset v:register for OP_COLON (zeertzjq)

related: https://github.com/vim/vim/pull/18583#issuecomment-3418030021

closes: vim/vim#18597

0124320c97

While at it, also fix using stale set_prevcount value. That only matters
when readbuf1 ends with an operator or a register, which never happens,
but it's still good to avoid using a stale value.
2025-10-18 15:14:20 +00:00
bfredl
86d90f3fff Merge pull request #36234 from bfredl/neoterm2
fix(tui): CSI is not ESC (sync mode)
2025-10-18 13:05:59 +02:00
bfredl
03eb331abf fix(tui): CSI is not ESC (sync mode) 2025-10-18 12:17:36 +02:00
bfredl
d44d7f7c5e Merge pull request #35952 from bfredl/neocurses
perf(tui): faster implementation of terminfo
2025-10-18 12:07:31 +02:00
bfredl
e656d7be2e perf(tui): faster implementation of terminfo
The processing of terminfo can be separated into two steps:

1. The initialization of terminfo, which includes trying to find $TERM
   in a terminfo database file. As a fallback, common terminfo
   definitions are compiled in. After this, we apply a lot of ad-hoc
   patching to cover over limitations of terminfo.

2. While processing updates from nvim, actually using terminfo strings
   and formatting them with runtime values. for this part, terminfo
   essentially is a hyper-enhanced version of snprintf(), including
   a sm0l stack based virtual machine which can manipulate the runtime
   parameters.

This PR completely replaces libuniblium for step 2, with code
vendored from NetBSD's libtermkey which has been adapted to use typesafe
input parameters and to write into an output buffer in place.

The most immedatiate effects is a performance enhancement of
update_attrs() which is a very hot function when profiling the
TUI-process part of screen updates. In a stupid microbenchmark
(essentially calling nvim__screenshot over and over in a loop) this
leads to a speedup of ca 1.5x for redrawing the screen on the TUI-side.
What this means in practise when using nvim as a text editor is probably
no noticible effect at all, and when reabusing nvim as idk a full screen
RGB ASCII art rendrer maybe an increase from 72 to 75 FPS LMAO.

As nice side-effect, reduce the usage of unibilium to initialization only..
which will make it easier to remove, replace or make unibilium optional,
adressing #31989. Specifically, the builtin fallback doesn't use
unibilium at all, so a unibilium-free build is in principle possible
if the builtin definitions are good enough.

As a caveat, this PR doesn't touch libtermkey at all, which still has a
conditional dependency on unibilium. This will be investigated in a
follow-up PR

Note: the check of $TERMCOLOR was moved from tui/tui.c to
_defaults.lua in d7651b27d5 as we want to
skip the logic in _defaults.lua if the env var was set, but there
is no harm in TUI getting the right value when the TUI is trying to
initialize its terminfo shenanigans. Also this check is needed when
a TUI connects to a `--headless` server later, which will observe
a different $TERMCOLOR value than the nvim core process itself.
2025-10-18 11:36:16 +02:00
An Guoli
671841673e vim-patch:ce4f9d2: runtime(nohlsearch): fix CursorHold loop (#36221)
fix exception when entering the insert mode with paste

closes: vim/vim#16818

ce4f9d2a10
2025-10-18 09:28:58 +08:00
Christian Clason
a04c73ca07 build(deps): bump luajit to 25a61a182 (#36212)
* x64: Add support for CET IBT.
* Gracefully handle broken custom allocator.
* Add GNU/Hurd build support.
* Fix io.write() of newly created buffer.
* Fix reporting of an error during error handling.
2025-10-17 08:02:07 +02:00
zeertzjq
a08aa77e40 vim-patch:9.1.1859: completion: whitespace not cleared with 'ai' (#36218)
Problem:  completion: whitespace not cleared with 'ai'
Solution: Remove spaces added by 'autoindent' when autocomplete is set
          and restore did_ai in ins_compl_start() (Maxim Kim)

fixes vim/vim#18560
closes: vim/vim#18582

6180d65751

Co-authored-by: Maxim Kim <habamax@gmail.com>
2025-10-17 02:51:49 +00:00
David Briscoe
550033d51d Fix more issue links in github templates (#36202)
docs: fix issue query in github templates

Problem:
Error "Filter contains 1 issue: Invalid value enhancement for label" when
clicking on the "existing feature requests" links in the github feature
template or github lsp bug template.

Solution:
Update the queries to use the new type:Enhancement categorization instead of the
old label:enhancement system.

Similar to #36107.
2025-10-16 18:48:06 -07:00
Calum Smith
d3f5437542 docs(lsp): specify exactly how vim.lsp.config merges configs (#36214)
docs(lsp): specify exactly how `vim.lsp.config` merges configs…

Problem:

It already says that the behaviour is defined by `vim.tbl_deep_extend`,
but that can mean very different things depending on the `behavior`
parameter.

Solution:

Specify that it uses "force".
2025-10-16 18:43:15 -07:00
zeertzjq
aeeadddac4 vim-patch:9.1.1858: v:register not reset after Visual mode command (#36215)
Problem:  v:register not reset after Visual mode command.
          (laktak)
Solution: Reset v:register if Visual mode was active before
          do_pending_operator() (zeertzjq)

fixes: vim/vim#18579
related: vim/vim#5305
closes: vim/vim#18583

b3b47e540d
2025-10-17 08:36:27 +08:00
David
371ad48135 fix(lsp): replace string types with LSP method alias type annotations where appropriate. (#36180)
fix(lsp): replace `string` types with LSP method alias where appropriate
2025-10-16 12:39:53 -04:00
Davidyz
b459bf5961 fix(lsp): include missing LSP methods and update type annotations 2025-10-16 11:05:28 +01:00
Ethan Praeter
0791594101 fix(coverity/530033): free lp->sl_info to fix resource leak #36198 2025-10-15 14:43:31 -07:00
github-actions[bot]
7bf12db0c8 docs: update version.c #36125
vim-patch: 8.1.1985: code for dealing with paths is spread out

vim-patch:8.2.0375: Coverity warning for not using return value
vim-patch:8.2.0471: missing change to compile_list()
vim-patch:8.2.0489: Vim9: memory leaks
vim-patch:8.2.0494: Vim9: asan error
vim-patch:8.2.0685: Build failure
vim-patch:8.2.0759: Vim9: missing changes for performance improvements
vim-patch:8.2.1740: test fails without the terminal feature
vim-patch:8.2.1742: test still fails without the terminal feature
vim-patch:8.2.1880: Vim9: asan complains about adding zero to NULL
vim-patch:8.2.1958: build failure with timers
vim-patch:8.2.2248: ASAN error on exit with GUI
vim-patch:8.2.2273: build failure
vim-patch:8.2.2382: build failure
vim-patch:8.2.2401: build fails without +profiling feature
vim-patch:8.2.2536: Coverity complains about unchecked return value
vim-patch:8.2.2599: build failure
vim-patch:8.2.2715: Vim9: tests fail without the channel feature
vim-patch:8.2.2987: build failure with normal features
vim-patch:8.2.3092: Vim9: builtin function test fails without +channel feature
vim-patch:8.2.3291: Coverity warns for not checking return value
vim-patch:8.2.3505: Vim9: build failure without the +eval feature
vim-patch:8.2.3541: compiler warning for unused variable in tiny version
vim-patch:8.2.3546: build failure without the +eval feature
vim-patch:8.2.3563: build failure with +eval but without GUI or +termguicolors
vim-patch:8.2.3566: build failure on old systems when using nano timestamp
vim-patch:8.2.3621: build failure
vim-patch:8.2.3636: Coverity warns for unreachable code
vim-patch:8.2.3672: build failure with unsigned char
vim-patch:8.2.3691: build failure with small features
vim-patch:8.2.3693: Coverity warns for possibly using a NULL pointer
vim-patch:8.2.3718: compiler warns for unused variable without +textprop
vim-patch:8.2.3724: build error for missing error message in small build
vim-patch:8.2.3736: test fails without the channel feature
vim-patch:8.2.3740: memory left allocated on exit when using Tcl
vim-patch:8.2.3752: build error when using Photon GUI
vim-patch:8.2.3791: build error with +cindent but without +smartindent
vim-patch:8.2.3868: Vim9: function test fails
vim-patch:8.2.3926: build failure without the 'autochdir' option
vim-patch:8.2.3931: Coverity reports a memory leak
vim-patch:8.2.3958: build failure compiling xxd with "-std=c2x"
vim-patch:8.2.3963: build failure with tiny and small features
vim-patch:8.2.3988: tiny build fails
vim-patch:8.2.3998: asan error for adding zero to NULL
vim-patch:8.2.4015: build failure with tiny features
vim-patch:8.2.4034: Coverity warns for possibly using a NULL pointer
vim-patch:8.2.4042: Vim9: build error
vim-patch:8.2.4054: Vim9 script test fails
vim-patch:8.2.4079: MS-Windows: "gvim --version" didn't work with VIMDLL
vim-patch:8.2.4081: CodeQL reports problem in if_cscope causing it to fail
vim-patch:8.2.4119: build failure when disabling the channel feature
vim-patch:8.2.4127: build failure without the +eval feature
vim-patch:8.2.4150: Coverity warns for using pointer after free
vim-patch:8.2.4239: build fails with unusual configuration
vim-patch:8.2.4272: Vim9 expr test fails without the channel feature
vim-patch:8.2.4278: build with Athena GUI fails
vim-patch:8.2.4300: cannot build tiny version
vim-patch:8.2.4368: Amiga: a few compiler warnings
vim-patch:8.2.4369: redundant #ifdef argument
vim-patch:8.2.4385: cannot build tiny version
vim-patch:8.2.4386: still cannot build tiny version
vim-patch:8.2.4405: compiler warning for unused variable without +folding
vim-patch:8.2.4413: Vim9: Coverity warns for using NULL pointer
vim-patch:8.2.4470: Coverity warns for uninitialized variable
vim-patch:8.2.4488: build error with +eval but without +channel or +job
vim-patch:8.2.4516: build failure without the +eval feature
vim-patch:8.2.4521: build failure without the +diff feature
vim-patch:8.2.4532: suspending with CTRL-Z does not work on OpenBSD
vim-patch:8.2.4549: cannot build with Motif and editres
vim-patch:8.2.4550: Motif: cannot set the color of the scrollbar thumb
vim-patch:8.2.4556: test fails without the +job or +channel feature
vim-patch:8.2.4560: suspending with CTRL-Z does not work on DragonFlyBSD
vim-patch:8.2.4654: missing changes for import check
vim-patch:8.2.4680: build failure without +postscript
vim-patch:8.2.4681: build fails with a combination of features
vim-patch:8.2.4725: unused variable in tiny build
vim-patch:8.2.4756: build error without the +eval feature
vim-patch:8.2.4769: build warning with UCRT
vim-patch:8.2.4771: Coverity warns for not checking return value
vim-patch:8.2.4815: cannot build with older GTK version
vim-patch:8.2.4863: accessing freed memory in test without the +channel feature
vim-patch:8.2.4878: valgrind warning for using uninitialized variable
vim-patch:8.2.4884: test fails without the job/channel feature
vim-patch:8.2.4898: Coverity complains about pointer usage
vim-patch:8.2.4900: Vim9 expression test fails without the job feature
vim-patch:8.2.4976: Coverity complains about not restoring a saved value
vim-patch:8.2.5021: build fails with normal features and +terminal
vim-patch:8.2.5067: timer_create is not available on every Mac system
vim-patch:8.2.5071: with some Mac OS version clockid_t is redefined
vim-patch:8.2.5125: MS-Windows: warnings from MinGW compiler
vim-patch:8.2.5133: MacOS: build fails
vim-patch:8.2.5137: cannot build without the +channel feature
vim-patch:8.2.5168: cannot build with Python 3.11

vim-patch:9.0.0123: cannot build with small features
vim-patch:9.0.0159: cannot build with small features
vim-patch:9.0.0161: warning for uninitialized variable
vim-patch:9.0.0237: Mac: cannot build if dispatch.h is not available
vim-patch:9.0.0256: compiler warning for uninitialized variables
vim-patch:9.0.0378: compiler warning for uninitialized variable
vim-patch:9.0.0413: ASAN reports a memory leak
vim-patch:9.0.0462: ASAN warning for integer overflow
vim-patch:9.0.0970: Coverity warns for uninitialized variable
vim-patch:9.0.1042: ASAN gives false alarm about array access.
vim-patch:9.0.1076: ASAN complains about NULL argument
vim-patch:9.0.1085: compiler warns for uninitialized variable
vim-patch:9.0.1666: compiler may warn for uninitialized variable

vim-patch:9.1.0816: tests: not clear what tests cause asan failures
vim-patch:9.1.1345: tests: Test_xxd_color2() test failure dump diff is misleading
2025-10-15 14:40:24 -07:00
Jan Edmund Lazo
183f8cc59d vim-patch:8.1.1979: code for handling file names is spread out (#36176)
Problem:    Code for handling file names is spread out.
Solution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.

b005cd80cf

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-10-15 14:35:55 +08:00
Maria Solano
382963891c fix(undotree): check foldmethod before invoking fold (#36192) 2025-10-14 21:59:25 -07:00
phanium
eaa9aca130 fix(jobs): jobstart(term=true) accepts width/height #33904
Problem: when create a hidden terminal job with `nvim_buf_call`+
`jobstart(…,{term=true})`, program like `lazygit` cannot figure out the
correct width and height.

Solution: `jobstart(…,{term=true})` accepts `width`/`height`
2025-10-14 21:42:02 -07:00
Mathias Fußenegger
cdc3702f8d revert "fix(lsp): _get_workspace_folders does not handle root_dir() function" #36183
This reverts commit 97ab24b9c7.

See discussion in https://github.com/neovim/neovim/pull/36071
2025-10-14 19:26:01 -07:00
Tomasz N
106cacc93b fix(pumblend): do not apply special highlight attrs from bg layer #36186
Problem: if pumblend >= 50, non-whitespace menu character gets italic,
bold, underline (or similar) attribute from the cell underneath, which
is not really useful and can't be "blended".

Solution: drop highlight combination for that special case (@zeertzjq
on #36133).

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2025-10-14 18:48:27 -07:00
Justin M. Keyes
bf4710d8c3 fix(lsp): "attempt to index nil config" #36189
Problem:
If a client doesn't have a config then an error may be thrown.
Probably caused by: 2f78ff816b

    Lua callback: …/lsp.lua:442: attempt to index local 'config' (a nil value)
    stack traceback:
            …/lsp.lua:442: in function 'can_start'
            …/lsp.lua:479: in function 'lsp_enable_callback'
            …/lsp.lua:566: in function <…/lsp.lua:565>

Solution:
Not all clients necessarily have configs.
- Handle `config=nil` in `can_start`.
- If user "enables" an invalid name that happens to match a *client*
  name, don't auto-detach the client.
2025-10-15 00:43:25 +00:00
zeertzjq
c8d6f3cf8a vim-patch:c95e143: runtime(doc): Miscellaneous documentation fixes (#36187)
- Use full option name for 'clipboard' at :help :put.
- Minor rewordings, typo fixes, and formatting fixes.

related: vim/vim#18453
closes: vim/vim#18572

c95e143819

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-14 23:09:25 +00:00
Maria Solano
bd41f6eb6c fix(lsp): add deprecation comment to gen_lsp (#36185) 2025-10-14 16:55:06 -04:00
zeertzjq
41199c45d6 fix(clipboard): avoid using stale register width (#36178)
Fix #36177
Follow-up to #35038
2025-10-14 05:04:37 +00:00
zeertzjq
55bd54e526 Merge pull request #36174 from zeertzjq/vim-0940465
vim-patch: rst runtime file updates
2025-10-14 11:38:55 +08:00
zeertzjq
c5d85646eb vim-patch:64c8105: runtime(rst): Preserve indentation of directives
This patch preserves indentation in comments.  It work by removing the
explicit 3-space indentation and replaces with with an expression which
uses the current value with a minimum of three spaces.

Discussed in the mailing list:

    https://groups.google.com/g/vim_dev/c/rn8ZLDrCbYU

Thanks to Friedrich Romstedt for reporting and Christian Brabandt for
investigating the issue.

closes: vim/vim#18566

64c8105867

Co-authored-by: Marshall Ward <marshall.ward@gmail.com>
2025-10-14 10:44:57 +08:00
zeertzjq
1ccbaa6c25 vim-patch:5ffb23c: runtime(rst): Update b:undo_ftplugin variable
The value of this variable is evaluated when the 'filetype' option is
changed and should be a command string that will undo any configuration
changes that the plugin has made.

See :help undo_indent for details

related: vim/vim#18566

5ffb23c967

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-14 10:44:47 +08:00
zeertzjq
6a6ba5c567 vim-patch:46d8697: runtime(rst): Style update
Minor style and whitespace changes to the reST syntax file, to sync with
the development branch.

related: vim/vim#18566

46d86979a9

Co-authored-by: Marshall Ward <marshall.ward@gmail.com>
2025-10-14 10:44:37 +08:00
zeertzjq
d6a9679b46 vim-patch:a70f346: runtime(rst): Enable spell checking for more syntax constructs
Enable spell checking for more recognised constructs:

* comments
* footnotes
* citations
* directives
* inline markup (*text*, **text**, ...)

related: vim/vim#18566

a70f346706

Co-authored-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
2025-10-14 10:44:28 +08:00
zeertzjq
263d0f86b4 vim-patch:d7fb4cd: runtime(rst): Inline literal escape support
Escape character support was disabled for inline literals, which are
handled separately from standard inline highlights, in that escape
characters are unsupported.

related: vim/vim#18566

d7fb4cd2f8

Co-authored-by: Marshall Ward <marshall.ward@gmail.com>
2025-10-14 10:44:20 +08:00
zeertzjq
08e29ec4a1 vim-patch:5485827: runtime(rst): Recognise numeric footnotes [1] correctly
The markup for footonotes [1] and citations [2] are almost identical.
The difference is that footnotes allow numeric values but citations
allow every valid reference name except numeric values.

The regex for matching citations currently only checks for valid
reference names but does not exclude number-only labels, thus also
matches numeric footnotes.  To match such footnotes, e.g. ``[1]`` define
the syntax rule for footnotes after the syntax rule for citations so it
gets higher precedence and matches first.

[1] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#footnotes
[2] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#citations

related: vim/vim#18566

5485827c5f

Co-authored-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
2025-10-14 10:44:09 +08:00
zeertzjq
2b2a297bf1 vim-patch:4e9f16d: runtime(rst): Correctly end nested comments
Previously, a comment in a directive block would incorrectly mark
all subsequent lines in the directive block as comment, because the
syn-region did not check the leading indent.

related: vim/vim#18566

4e9f16dd1e

Co-authored-by: Antony Lee <anntzer.lee@gmail.com>
2025-10-14 10:43:48 +08:00
zeertzjq
6b006a03c4 vim-patch:47949b4: runtime(rst): Fix highlights nested in directive body
The leading two dots of a RST directive gets matched by
rstExplicitMarkup group first, and then the directive name and directive
body will be matched by the groups contained in rstDirectives cluster in
order.

The rstExDirective group in rstDiretives matches any RST directives
other than footnote, citation and hyperlink target, therefore admonition
and code block will be matched by rstExDirective. This fix has
rstExDirective contain rstExplicitMarkup so as to enable recursive RST
directives match.

The interpreted texts enclosed in quotes are not highlighted within a
RST directive body, because the rstCruft cluster contains a non-existing
rstInterpretedText group.It should be renamed to
rstInterpretedTextOrHyperlinkReference which is defined in a
DefineInlineMarkup function call.

related: vim/vim#18566

47949b4b46

Co-authored-by: Minjie Xu <madjxatw@gmail.com>
2025-10-14 10:43:09 +08:00
zeertzjq
dbddd5989a vim-patch:310082f: runtime(rst): Add support for rst_minlines
Following the approach used in other syntax definitions, add support for
defining the "syntax sync minlines=..." values for rst files in the
users' ~/.vimrc files, to allow the users to adjust that value in case
syntax highlighting stops working for some of the files they edit.

related: vim/vim#18566

310082f3cf

Co-authored-by: Dragan Simic <dsimic@manjaro.org>
2025-10-14 10:42:43 +08:00
zeertzjq
7455c5ce88 vim-patch:0940465: runtime(rst): Fix doctest block syntax
A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

Remove ``oneline`` argument to syntax region as this requirement is not
met.  Consequently, also remove ``display`` as the prerequisite (the
syntax region is on a single line) is no longer met.

----

Recognise '>>>' inside doctest blocks

Recognise subsequent '>>>' prompts in doctest blocks, e.g.

>>> print('this is a Doctest block')
this is a Doctest block
>>> print('this is a second Doctest block')
this is a second Doctest block
A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

related: vim/vim#18566

0940465866

Co-authored-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
2025-10-14 10:41:58 +08:00
zeertzjq
fc74b9fb34 vim-patch:83eb1da: runtime(doc): Normalise formatting of builtin function descriptions (#36172)
- Column align tags
- Move tags to the same line as the function signature
- Move descriptions to the line below the function signature
- Add missing hyperlinks to builtins in the description text

closes: vim/vim#18478

83eb1da19e

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-14 02:23:26 +00:00
zeertzjq
72578e5e28 vim-patch:5fe4faa: runtime(bitbake): fix multiline Python function parameter syntax (#36173)
Fix syntax highlighting for def-style Python functions, with their
parameters spanning multiple lines. E.g. the following should match as
valid Python code in Bitbake recipes:

    def myFunction(one, two, \
                   three, four):
        pass

For this to work, use the prefix modifier "\_" before the wildcard ".",
to also match newline characters.

closes: vim/vim#18565

5fe4faa711

Co-authored-by: Martin Schwan <m.schwan@phytec.de>
2025-10-14 02:17:24 +00:00
zeertzjq
c5ed5504f4 vim-patch:6ab4547: runtime(doc): fix inconsistent alignment (#36171)
closes: vim/vim#18562

6ab45471d4
2025-10-14 01:51:23 +00:00
zeertzjq
d78215f6a2 vim-patch:9.1.1854: unnecessary code in optionstr.c (#36170)
Problem:  unnecessary code in optionstr.c
Solution: Remove it (Hirohito Higashi)

fixes: vim/vim#18551
closes: vim/vim#18554

91959a797d

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-10-14 01:49:17 +00:00
zeertzjq
b1b6234208 Merge pull request #36169 from zeertzjq/vim-9.1.1849
vim-patch:9.1.{1849,1853}
2025-10-14 09:12:17 +08:00
zeertzjq
93d1473732 vim-patch:9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol
Problem:  Ctrl-F and Ctrl-B at more prompt not working with kitty
          keyboard protocol or modifyOtherKeys (after v9.1.1849).
Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).

closes: vim/vim#18558

6622dc2ded
2025-10-14 08:46:54 +08:00
zeertzjq
92b834fc7a vim-patch:9.1.1849: CTRL-F and CTRL-B don't work in more prompt
Problem:  CTRL-F and CTRL-B don't work in more prompt
Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
          (Bjoern Foersterling)

closes: vim/vim#18545

fcf4c435af

Co-authored-by: bfoersterling <bjoern.foersterling@gmail.com>
2025-10-14 08:42:06 +08:00
Tomas Slusny
d590644620 fix(difftool): silence :only command in setup_layout #36168
Suppresses output from the :only command by passing the { silent = true }
modifier to vim.cmd.only(). This prevents unnecessary messages when
setting up the diff layout.

Closes #36167
2025-10-13 17:04:48 -07:00
Ethan Praeter
0ed5e00077 fix(coverity/532324): free skip_until to prevent leak #36109 2025-10-13 16:29:37 -07:00
Tomas Slusny
aaec3e5b0d fix(difftool): add check for window number when cleaning up layout #36161
- Move autocmd cleanup logic back to setup_layout as WinClosed autocmds
  were triggering for every closed window even when buf scoped, and when
  buf scoped, pattern filter did not work.
- Cleanup when quickfix window is closed as well to prevent state where
  on closing quickfix setup_layout will reset it after with empty
  content because of WinClosed autocmds triggering.

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2025-10-13 11:12:42 -07:00
Yochem van Rosmalen
25322a3a3b fix(help): only set url for help files in $VIMRUNTIME #36165
Problem:
Checking if the tag is nvim-owned (defined in a $VIMRUNTIME/doc/*.txt
file) is too expensive for now without non-obvious workarounds

Solution:
Only set url extmarks for $VIMRUNTIME/doc/*.txt files.

Closes: #36163
2025-10-13 11:08:37 -07:00
zeertzjq
a65202e6bd vim-patch:partial:c58f91c: runtime(doc): Whitespace updates (#36160)
Use double sentence spacing and wrap lines at 'textwidth'.  Code
examples and tables were not wrapped unless this had already been done
locally.

closes: vim/vim#18453

c58f91c035

Fix incorrect docs in :h ModeChanged.
Cherry-pick :h bufnr() changes from patch 8.1.2080.

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-13 08:53:21 +00:00
zeertzjq
7468db5187 vim-patch:partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157)
Problem:  No cmdline completion for :echoconsole, :echowindow and second
          expression after :echoerr.
Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
          check for multiple expressions after :echoerr (zeertzjq).

closes: vim/vim#18552

7aaca97fc5
2025-10-13 15:35:16 +08:00