<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/lua/executor.h, 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>feat(api): nvim_buf_call, win_call can has multiple return values #39801</title>
<updated>2026-05-17T14:25:22+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2026-05-17T14:25:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0aa7d2f4d546647e0d6b5c338bd5517675e9842c'/>
<id>0aa7d2f4d546647e0d6b5c338bd5517675e9842c</id>
<content type='text'>
from the "because we can and it is not much code" department. (diffcount
excluding tests is actually negative)

fixes https://github.com/neovim/neovim/issues/39636#issuecomment-4397141270</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from the "because we can and it is not much code" department. (diffcount
excluding tests is actually negative)

fixes https://github.com/neovim/neovim/issues/39636#issuecomment-4397141270</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): correct line number reporting for options set in coroutines (#37463)</title>
<updated>2026-01-21T02:18:33+00:00</updated>
<author>
<name>Tommy Guo</name>
<email>tommyguo024@outlook.com</email>
</author>
<published>2026-01-21T02:18:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=103ddaf9ae80a32e50325888b0cde1c4354f8413'/>
<id>103ddaf9ae80a32e50325888b0cde1c4354f8413</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: small fixes (#35791)</title>
<updated>2025-09-16T03:41:36+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-16T03:41:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ff777f9a858a5f360e220596c63bc69e19a1d5c1'/>
<id>ff777f9a858a5f360e220596c63bc69e19a1d5c1</id>
<content type='text'>
Close #34938
Close #35030
Close #35233
Close #35259
Close #35290
Close #35433
Close #35541
Close #35766
Close #35792

Co-authored-by: huylg &lt;45591413+huylg@users.noreply.github.com&gt;
Co-authored-by: Jason Del Ponte &lt;961963+jasdel@users.noreply.github.com&gt;
Co-authored-by: sooriya &lt;74165167+thuvasooriya@users.noreply.github.com&gt;
Co-authored-by: Andrew Braxton &lt;andrewcbraxton@gmail.com&gt;
Co-authored-by: Enric Calabuig &lt;enric.calabuig@gmail.com&gt;
Co-authored-by: Augusto César Dias &lt;augusto.c.dias@gmail.com&gt;
Co-authored-by: David Sierra DiazGranados &lt;davidsierradz@gmail.com&gt;
Co-authored-by: Stepan Nikitin &lt;90522882+vectravox@users.noreply.github.com&gt;
Co-authored-by: Emilien Breton &lt;bricktech2000@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Close #34938
Close #35030
Close #35233
Close #35259
Close #35290
Close #35433
Close #35541
Close #35766
Close #35792

Co-authored-by: huylg &lt;45591413+huylg@users.noreply.github.com&gt;
Co-authored-by: Jason Del Ponte &lt;961963+jasdel@users.noreply.github.com&gt;
Co-authored-by: sooriya &lt;74165167+thuvasooriya@users.noreply.github.com&gt;
Co-authored-by: Andrew Braxton &lt;andrewcbraxton@gmail.com&gt;
Co-authored-by: Enric Calabuig &lt;enric.calabuig@gmail.com&gt;
Co-authored-by: Augusto César Dias &lt;augusto.c.dias@gmail.com&gt;
Co-authored-by: David Sierra DiazGranados &lt;davidsierradz@gmail.com&gt;
Co-authored-by: Stepan Nikitin &lt;90522882+vectravox@users.noreply.github.com&gt;
Co-authored-by: Emilien Breton &lt;bricktech2000@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>perf(highlight): allow decoration providers to skip ranges without data</title>
<updated>2025-09-09T10:54:04+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2025-08-29T10:22:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f9d2115a359c7846056bb2eb31f9eae818c6d510'/>
<id>f9d2115a359c7846056bb2eb31f9eae818c6d510</id>
<content type='text'>
Continuing the work of #31400

That PR allowed the provider to be invoked multiple times per line.
We want only to do that when there actually is more data later on the
line. Additionally, we want to skip over lines which contain no new
highlight items. The TS query cursor already tells us what the next
position with more data is, so there is no need to reinvoke the range
callback before that.

NB: this removes the double buffering introduced in #32619 which
is funtamentally incompatible with this (nvim core is supposed to keep
track of long ranges by itself, without requiring a callback reinvoke
blitz). Need to adjust the priorities some other way to fix the same issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Continuing the work of #31400

That PR allowed the provider to be invoked multiple times per line.
We want only to do that when there actually is more data later on the
line. Additionally, we want to skip over lines which contain no new
highlight items. The TS query cursor already tells us what the next
position with more data is, so there is no need to reinvoke the range
callback before that.

NB: this removes the double buffering introduced in #32619 which
is funtamentally incompatible with this (nvim core is supposed to keep
track of long ranges by itself, without requiring a callback reinvoke
blitz). Need to adjust the priorities some other way to fix the same issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guards</title>
<updated>2025-08-14T07:34:38+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2025-08-03T09:16:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=442f297c633375074a88133a9b3d8c08cad58dd0'/>
<id>442f297c633375074a88133a9b3d8c08cad58dd0</id>
<content type='text'>
These are not needed after #35129 but making uncrustify still play nice
with them was a bit tricky.

Unfortunately `uncrustify --update-config-with-doc` breaks strings
with backslashes. This issue has been reported upstream,
and in the meanwhile auto-update on every single run has been disabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are not needed after #35129 but making uncrustify still play nice
with them was a bit tricky.

Unfortunately `uncrustify --update-config-with-doc` breaks strings
with backslashes. This issue has been reported upstream,
and in the meanwhile auto-update on every single run has been disabled.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(exrc): exrc knows its own location (#34638)</title>
<updated>2025-06-29T15:19:10+00:00</updated>
<author>
<name>Yochem van Rosmalen</name>
<email>git@yochem.nl</email>
</author>
<published>2025-06-29T15:19:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f7c939fa7af9744bcb6d79100a7e126f7e9c8f5c'/>
<id>f7c939fa7af9744bcb6d79100a7e126f7e9c8f5c</id>
<content type='text'>
fix(exrc): lua exrc files know their location

Problem:
'exrc' files are inherently bound to their location / workspace and
therefore require to "know" their location on the filesystem. However,
currently using `debug.getinfo(1, 'S')` returns `"&lt;nvim&gt;"`.

Solution:
Include the filepath as chunkname in `loadstring()` and `nlua_exec()`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix(exrc): lua exrc files know their location

Problem:
'exrc' files are inherently bound to their location / workspace and
therefore require to "know" their location on the filesystem. However,
currently using `debug.getinfo(1, 'S')` returns `"&lt;nvim&gt;"`.

Solution:
Include the filepath as chunkname in `loadstring()` and `nlua_exec()`.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(log): unify error messages for vim.ui_attach/decor providers #33005</title>
<updated>2025-03-21T10:05:01+00:00</updated>
<author>
<name>luukvbaal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2025-03-21T10:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c908c2560db891dcd152ed9d3cf10a36179bfed6'/>
<id>c908c2560db891dcd152ed9d3cf10a36179bfed6</id>
<content type='text'>
Problem:  Error messages that cause a vim.ui_attach() namespace to
          detach are not visible in the message history. Decoration
          provider and vim.ui_attach error messages are dissimilar.
Solution: Emit vim.ui_attach() errors as an actual message in addition
          to logging it. Adjust error message format.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Error messages that cause a vim.ui_attach() namespace to
          detach are not visible in the message history. Decoration
          provider and vim.ui_attach error messages are dissimilar.
Solution: Emit vim.ui_attach() errors as an actual message in addition
          to logging it. Adjust error message format.</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.2.4603: sourcing buffer lines is too complicated</title>
<updated>2025-02-28T10:21:08+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2024-04-24T08:20:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6750d00fe96a04ab19cfc55fb406f6b40dbf970f'/>
<id>6750d00fe96a04ab19cfc55fb406f6b40dbf970f</id>
<content type='text'>
Problem:    Sourcing buffer lines is too complicated.
Solution:   Simplify the code. Make it possible to source Vim9 script lines.
            (Yegappan Lakshmanan, closes vim/vim#9974)

https://github.com/vim/vim/commit/85b43c6cb7d56919e245622f4e42db6d8bee4194

This commit changes the behavior of sourcing buffer lines to always have
a script ID, although sourcing the same buffer always produces the same
script ID.

vim-patch:9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: vim/vim#14627

https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Sourcing buffer lines is too complicated.
Solution:   Simplify the code. Make it possible to source Vim9 script lines.
            (Yegappan Lakshmanan, closes vim/vim#9974)

https://github.com/vim/vim/commit/85b43c6cb7d56919e245622f4e42db6d8bee4194

This commit changes the behavior of sourcing buffer lines to always have
a script ID, although sourcing the same buffer always produces the same
script ID.

vim-patch:9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: vim/vim#14627

https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: iwyu #31637</title>
<updated>2024-12-23T13:43:52+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2024-12-23T13:43:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=2a7d0ed6145bf3f8b139c2694563f460f829813a'/>
<id>2a7d0ed6145bf3f8b139c2694563f460f829813a</id>
<content type='text'>
Result of `make iwyu` (after some "fixups").</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Result of `make iwyu` (after some "fixups").</pre>
</div>
</content>
</entry>
<entry>
<title>feat(api): add nvim__redraw for more granular redrawing</title>
<updated>2024-05-02T13:57:06+00:00</updated>
<author>
<name>Luuk van Baal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2024-04-10T09:42:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=037ea6e786b5d05f4a8965e4c2ba6aa60ec7c01a'/>
<id>037ea6e786b5d05f4a8965e4c2ba6aa60ec7c01a</id>
<content type='text'>
Experimental and subject to future changes.
Add a way to redraw certain elements that are not redrawn while Nvim is waiting
for input, or currently have no API to do so. This API covers all that can be
done with the :redraw* commands, in addition to the following new features:
- Immediately move the cursor to a (non-current) window.
- Target a specific window or buffer to mark for redraw.
- Mark a buffer range for redraw (replaces nvim__buf_redraw_range()).
- Redraw the 'statuscolumn'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Experimental and subject to future changes.
Add a way to redraw certain elements that are not redrawn while Nvim is waiting
for input, or currently have no API to do so. This API covers all that can be
done with the :redraw* commands, in addition to the following new features:
- Immediately move the cursor to a (non-current) window.
- Target a specific window or buffer to mark for redraw.
- Mark a buffer range for redraw (replaces nvim__buf_redraw_range()).
- Redraw the 'statuscolumn'.
</pre>
</div>
</content>
</entry>
</feed>
