<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/lua/executor.c, branch userregs_2</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(messages): incorrect error message splitting and kind #32990</title>
<updated>2025-03-19T18:04:08+00:00</updated>
<author>
<name>luukvbaal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2025-03-19T18:04:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b'/>
<id>51853b82bc95a7b62875d07a0ade6cfa0bdd0b5b</id>
<content type='text'>
Problem:  Message kind logic for emitting an error message is convoluted
          and still results in emitting an unfinished message earlier than
          wanted.
Solution: Ensure emsg_multiline() always sets the kind wanted by the caller
          and doesn't isn't unset to logic for emitting the source message.
          Caller is responsible for making sure multiple message chunks are
          not emitted as multiple events by setting `msg_ext_skip_flush`...</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Message kind logic for emitting an error message is convoluted
          and still results in emitting an unfinished message earlier than
          wanted.
Solution: Ensure emsg_multiline() always sets the kind wanted by the caller
          and doesn't isn't unset to logic for emitting the source message.
          Caller is responsible for making sure multiple message chunks are
          not emitted as multiple events by setting `msg_ext_skip_flush`...</pre>
</div>
</content>
</entry>
<entry>
<title>docs: OSC 133 shell config #32771</title>
<updated>2025-03-08T00:37:42+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-03-08T00:37:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c38c88edfd015e8badbd11941030d7d85b5b1dc7'/>
<id>c38c88edfd015e8badbd11941030d7d85b5b1dc7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): always use vim.inspect() for :lua= (#32715)</title>
<updated>2025-03-07T11:50:00+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-03-07T11:50:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c8b64b7a43975d6f4efa30999c82ae8180f16a4b'/>
<id>c8b64b7a43975d6f4efa30999c82ae8180f16a4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): format errors from luv callbacks using __tostring</title>
<updated>2025-03-05T11:09:57+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2025-03-05T09:57:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ebb963a4a08283227233c417fed7d822c86a8807'/>
<id>ebb963a4a08283227233c417fed7d822c86a8807</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>fix(lua): wrong script context for option set by func from nvim_exec2 (#32659)</title>
<updated>2025-02-27T13:49:57+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-02-27T13:49:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=89d6d6f25cf22175e8c8eedef7181d8d618f9898'/>
<id>89d6d6f25cf22175e8c8eedef7181d8d618f9898</id>
<content type='text'>
Problem:  Wrong script context for option set by function defined by
          nvim_exec2 in a Lua script.
Solution: Call nlua_set_sctx() after adding SOURCING_LNUM and always set
          sc_lnum for a Lua script.

This is a bug discovered when testing #28486. Not sure if this actually
happens in practice, but it's easy to fix and required for #28486.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Wrong script context for option set by function defined by
          nvim_exec2 in a Lua script.
Solution: Call nlua_set_sctx() after adding SOURCING_LNUM and always set
          sc_lnum for a Lua script.

This is a bug discovered when testing #28486. Not sure if this actually
happens in practice, but it's easy to fix and required for #28486.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): don't override script ID from :source (#32626)</title>
<updated>2025-02-25T23:40:21+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-02-25T23:40:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e2aca58bcc4f0aff8da9683194e4dc857a56118f'/>
<id>e2aca58bcc4f0aff8da9683194e4dc857a56118f</id>
<content type='text'>
Problem:  When setting an option, mapping etc. from Lua without -V1, the
          script ID is set to SID_LUA even if there already is a script
          ID assigned by :source.
Solution: Don't set script ID to SID_LUA if it is already a Lua script.
          Also add _editor.lua to ignorelist to make script context more
          useful when using vim.cmd().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  When setting an option, mapping etc. from Lua without -V1, the
          script ID is set to SID_LUA even if there already is a script
          ID assigned by :source.
Solution: Don't set script ID to SID_LUA if it is already a Lua script.
          Also add _editor.lua to ignorelist to make script context more
          useful when using vim.cmd().</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): SIGSEGV in luv callback with error(nil) #32595</title>
<updated>2025-02-24T21:34:49+00:00</updated>
<author>
<name>phanium</name>
<email>91544758+phanen@users.noreply.github.com</email>
</author>
<published>2025-02-24T21:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=614c9322d50052c76fb3e6e1be7536a972ff0902'/>
<id>614c9322d50052c76fb3e6e1be7536a972ff0902</id>
<content type='text'>
Problem:
luv callback `vim.uv.new_timer():start(0, 0, function() error() end)`
causes SIGSEGV, since `xstrdup` gets NULL from `lua_tostring`.
Similar to: https://github.com/neovim/neovim/commit/a5b1b83a2693ffa7a5a0a22b3693d36ea60051be

Solution:
Check NULL before `xstrdup`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
luv callback `vim.uv.new_timer():start(0, 0, function() error() end)`
causes SIGSEGV, since `xstrdup` gets NULL from `lua_tostring`.
Similar to: https://github.com/neovim/neovim/commit/a5b1b83a2693ffa7a5a0a22b3693d36ea60051be

Solution:
Check NULL before `xstrdup`.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): pop retval for fast context LuaRef</title>
<updated>2025-01-24T10:57:51+00:00</updated>
<author>
<name>Luuk van Baal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2025-01-23T11:42:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c6d2cbf8f51abfa0c9d244ef384a15b0b69e16c6'/>
<id>c6d2cbf8f51abfa0c9d244ef384a15b0b69e16c6</id>
<content type='text'>
Problem:  nlua_call_ref_ctx() does not pop the return value in fast
          context that did not error.
Solution: Fall through to end; calling nlua_call_pop_retval().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  nlua_call_ref_ctx() does not pop the return value in fast
          context that did not error.
Solution: Fall through to end; calling nlua_call_pop_retval().
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): prevent SIGSEGV when lua error is NULL in libuv_worker</title>
<updated>2025-01-18T19:08:50+00:00</updated>
<author>
<name>林玮 (Jade Lin)</name>
<email>linw1995@icloud.com</email>
</author>
<published>2025-01-18T08:40:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a5b1b83a2693ffa7a5a0a22b3693d36ea60051be'/>
<id>a5b1b83a2693ffa7a5a0a22b3693d36ea60051be</id>
<content type='text'>
Problem:
Calling `xstrdup` with a NULL pointer causes a SIGSEGV if `lua_tostring` returns
NULL in `nlua_luv_thread_common_cfpcall`.

Crash stack trace:
- `_platform_strlen` → `xstrdup` (memory.c:469)
- `nlua_luv_thread_common_cfpcall` (executor.c:281)

Solution:
Check if `lua_tostring` returns NULL and pass NULL to `event_create` to avoid the crash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Calling `xstrdup` with a NULL pointer causes a SIGSEGV if `lua_tostring` returns
NULL in `nlua_luv_thread_common_cfpcall`.

Crash stack trace:
- `_platform_strlen` → `xstrdup` (memory.c:469)
- `nlua_luv_thread_common_cfpcall` (executor.c:281)

Solution:
Check if `lua_tostring` returns NULL and pass NULL to `event_create` to avoid the crash.
</pre>
</div>
</content>
</entry>
</feed>
