<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/_core/cmdwin.lua, branch extregs</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>fix(lua): enable param-type-mismatch diagnostic</title>
<updated>2026-09-28T13:43:14+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-28T13:19:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c6535538f8717a8f6134020a5bee65341cf8280f'/>
<id>c6535538f8717a8f6134020a5bee65341cf8280f</id>
<content type='text'>
Problem: Argument type mismatches are excluded from EmmyLua checks.

Solution: Correct runtime annotations and calls, document local checker
workarounds, and enable the diagnostic.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Argument type mismatches are excluded from EmmyLua checks.

Solution: Correct runtime annotations and calls, document local checker
workarounds, and enable the diagnostic.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): add missing param annotations (#41911)</title>
<updated>2026-09-15T13:14:21+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-15T13:14:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c171a697cbee36c4f36535e14f1407909733ca4b'/>
<id>c171a697cbee36c4f36535e14f1407909733ca4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): handle UTF-8 characters containing 0x80 #41566</title>
<updated>2026-08-31T10:52:20+00:00</updated>
<author>
<name>Aryan Pandey</name>
<email>156807533+Rational-Idiot@users.noreply.github.com</email>
</author>
<published>2026-08-31T10:52:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ad42ee1c41eb3fb2b828eba0e52752446b5901ed'/>
<id>ad42ee1c41eb3fb2b828eba0e52752446b5901ed</id>
<content type='text'>
Problem:
Confirming cmdwin with a UTF-8 character containing 0x80 does not complete the
command.

Solution:
Escape K_SPECIAL bytes while feeding the cmdwin input after confirmation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Confirming cmdwin with a UTF-8 character containing 0x80 does not complete the
command.

Solution:
Escape K_SPECIAL bytes while feeding the cmdwin input after confirmation.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): allow a user to switch to other buffers #41199</title>
<updated>2026-08-28T17:34:31+00:00</updated>
<author>
<name>Rob Pilling</name>
<email>robpilling@gmail.com</email>
</author>
<published>2026-08-28T17:34:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=61958f233584b0c75f6dbc650d6b1d3c01096404'/>
<id>61958f233584b0c75f6dbc650d6b1d3c01096404</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ui2): cmdwin is not special #41508</title>
<updated>2026-08-26T12:32:58+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-08-26T12:32:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e7ae1b3c10ad16713b0f0353eb2bb445b0e73c89'/>
<id>e7ae1b3c10ad16713b0f0353eb2bb445b0e73c89</id>
<content type='text'>
Problem:
Unreliable ui2 test:

    FAILED   …/ui/messages2_spec.lua @ 277: messages2 multiline messages and pager
    …/ui/messages2_spec.lua:277: Row 1 did not match.
    Expected:
      ...
      |*{1::}echo "foo" | echo "bar\nbaz\n"-&gt;repeat(&amp;lines)      |
      |*{1::}messages                                            |
      |*{1::}^                                                    |
      ...
    Actual:
      ...
      |*{9:vim.schedule callback: ...ork/neovim/neovim/runt [+7]}|

Solution:
ui2 is doing contortions to handle the old cmdwin behavior; stop doing
that, it's no longer necessary since b2bf7bcfb151.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Unreliable ui2 test:

    FAILED   …/ui/messages2_spec.lua @ 277: messages2 multiline messages and pager
    …/ui/messages2_spec.lua:277: Row 1 did not match.
    Expected:
      ...
      |*{1::}echo "foo" | echo "bar\nbaz\n"-&gt;repeat(&amp;lines)      |
      |*{1::}messages                                            |
      |*{1::}^                                                    |
      ...
    Actual:
      ...
      |*{9:vim.schedule callback: ...ork/neovim/neovim/runt [+7]}|

Solution:
ui2 is doing contortions to handle the old cmdwin behavior; stop doing
that, it's no longer necessary since b2bf7bcfb151.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): set 'noscrollbind' #40556</title>
<updated>2026-07-04T11:29:26+00:00</updated>
<author>
<name>STG</name>
<email>stg737467@gmail.com</email>
</author>
<published>2026-07-04T11:29:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=abedbfc17559a088e0202e5831ce02df5462bb09'/>
<id>abedbfc17559a088e0202e5831ce02df5462bb09</id>
<content type='text'>
Problem:
Opening cmdwin from a 'scrollbind' window makes cmdwin scrollbinded.
Legacy cmdwin set 'noscrollbind'.

Solution:
Set 'noscrollbind'.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Opening cmdwin from a 'scrollbind' window makes cmdwin scrollbinded.
Legacy cmdwin set 'noscrollbind'.

Solution:
Set 'noscrollbind'.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): handle control characters properly #40488</title>
<updated>2026-06-30T12:00:31+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-06-30T12:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6c5f0cf29f3499cc011b83998f3521b4cb0de8f7'/>
<id>6c5f0cf29f3499cc011b83998f3521b4cb0de8f7</id>
<content type='text'>
- Replace newlines in the current cmdline with NULs when opening cmdwin,
  and do the reverse when putting a cmdwin line back into the cmdline.
- Escape control characters with Ctrl-V when feeding cmdline.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Replace newlines in the current cmdline with NULs when opening cmdwin,
  and do the reverse when putting a cmdwin line back into the cmdline.
- Escape control characters with Ctrl-V when feeding cmdline.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): handle split/tabpage</title>
<updated>2026-06-29T21:22:52+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-06-29T21:19:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=684371ba5dbbb14d8348c01997fe7b423890d62f'/>
<id>684371ba5dbbb14d8348c01997fe7b423890d62f</id>
<content type='text'>
Problem:
- If cmdwin window is split, ENTER in one does not close the others.
- If cmdwin is put into a different tabpage via &lt;c-w&gt;T, it stops working
  (ENTER does not execute the cmd).

Solution:
- Close the buffer instead of the window.
- In the WinClosed handler, skip `M._cleanup()` unless this is the last
  cmdwin window.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
- If cmdwin window is split, ENTER in one does not close the others.
- If cmdwin is put into a different tabpage via &lt;c-w&gt;T, it stops working
  (ENTER does not execute the cmd).

Solution:
- Close the buffer instead of the window.
- In the WinClosed handler, skip `M._cleanup()` unless this is the last
  cmdwin window.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): do not block WinEnter events on close #40449</title>
<updated>2026-06-27T13:25:41+00:00</updated>
<author>
<name>Evgeni Chasnovski</name>
<email>evgeni.chasnovski@gmail.com</email>
</author>
<published>2026-06-27T13:25:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=54647e996e3c5128b00050a22e68e47449667bee'/>
<id>54647e996e3c5128b00050a22e68e47449667bee</id>
<content type='text'>
Problem: manual closing cmdwin blocks some events.

Solution: use `nested=true` in buffer-local `WinClosed` event.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: manual closing cmdwin blocks some events.

Solution: use `nested=true` in buffer-local `WinClosed` event.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmdwin): set 'buflisted'</title>
<updated>2026-06-26T19:18:14+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-06-26T18:26:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=fe4983327b3fe65ca4a8df43a9a88c9addaded5f'/>
<id>fe4983327b3fe65ca4a8df43a9a88c9addaded5f</id>
<content type='text'>
Problem:
Legacy cmdwin set 'buflisted', but new one doesn't.
https://github.com/neovim/neovim/issues/40431#issuecomment-4811593353

'buflisted' useful for:
- "bufferline" style tablines, they usually show only listed buffers.
- some automatic actions can be conditioned on whether a buffer is
  listed; 'buflisted' signals that the buffer is "important enough".

Solution:
Set 'buflisted'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Legacy cmdwin set 'buflisted', but new one doesn't.
https://github.com/neovim/neovim/issues/40431#issuecomment-4811593353

'buflisted' useful for:
- "bufferline" style tablines, they usually show only listed buffers.
- some automatic actions can be conditioned on whether a buffer is
  listed; 'buflisted' signals that the buffer is "important enough".

Solution:
Set 'buflisted'.
</pre>
</div>
</content>
</entry>
</feed>
