<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/api/vimscript.c, branch mix</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(exceptions): restore `did_throw` (#20000)</title>
<updated>2022-08-30T22:13:52+00:00</updated>
<author>
<name>Sean Dewar</name>
<email>seandewar@users.noreply.github.com</email>
</author>
<published>2022-08-30T22:13:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=813476bf7291dfaf9fc0ef77c9f53a07258a3801'/>
<id>813476bf7291dfaf9fc0ef77c9f53a07258a3801</id>
<content type='text'>
`!did_throw` doesn't exactly imply `!current_exception`, as `did_throw = false`
is sometimes used to defer exception handling for later (without forgetting the
exception). E.g: uncaught exception handling in `do_cmdline()` may be deferred
to a different call (e.g: when `try_level &gt; 0`).

In #7881, `current_exception = NULL` in `do_cmdline()` is used as an analogue of
`did_throw = false`, but also causes the pending exception to be lost, which
also leaks as `discard_exception()` wasn't used.

It may be possible to fix this by saving/restoring `current_exception`, but
handling all of `did_throw`'s edge cases seems messier. Maybe not worth
diverging over.

This fix also uncovers a `man_spec.lua` bug on Windows: exceptions are thrown
due to Windows missing `man`, but they're lost; skip these tests if `man` isn't
executable.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`!did_throw` doesn't exactly imply `!current_exception`, as `did_throw = false`
is sometimes used to defer exception handling for later (without forgetting the
exception). E.g: uncaught exception handling in `do_cmdline()` may be deferred
to a different call (e.g: when `try_level &gt; 0`).

In #7881, `current_exception = NULL` in `do_cmdline()` is used as an analogue of
`did_throw = false`, but also causes the pending exception to be lost, which
also leaks as `discard_exception()` wasn't used.

It may be possible to fix this by saving/restoring `current_exception`, but
handling all of `did_throw`'s edge cases seems messier. Maybe not worth
diverging over.

This fix also uncovers a `man_spec.lua` bug on Windows: exceptions are thrown
due to Windows missing `man`, but they're lost; skip these tests if `man` isn't
executable.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): nvim_exec and nvim_cmd restore msg_col when capturing output (#19789)</title>
<updated>2022-08-16T09:30:39+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-08-16T09:30:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=03fddfd92887bbac920d80cd9e04f28f32843f5d'/>
<id>03fddfd92887bbac920d80cd9e04f28f32843f5d</id>
<content type='text'>
This matches the code in execute_common(), preventing messages after the
API call from being printed at the wrong column.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This matches the code in execute_common(), preventing messages after the
API call from being printed at the wrong column.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove some unused includes (#19740)</title>
<updated>2022-08-12T13:16:28+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-08-12T13:16:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=342d18b91ec176c5e3aa6d32d439d01e6ac88ee6'/>
<id>342d18b91ec176c5e3aa6d32d439d01e6ac88ee6</id>
<content type='text'>
Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other
headers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other
headers.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(api): move command related API to separate file</title>
<updated>2022-06-12T17:45:39+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-06-12T14:38:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0d63fafcda3847a6ec8a9da42db7bf10ac917d14'/>
<id>0d63fafcda3847a6ec8a9da42db7bf10ac917d14</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: change type of linenr_T from long to int32_t</title>
<updated>2022-06-10T14:16:41+00:00</updated>
<author>
<name>Dundar Goc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2022-05-07T10:53:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a732c253b71f89702285d5ec6fd7803045f6add9'/>
<id>a732c253b71f89702285d5ec6fd7803045f6add9</id>
<content type='text'>
The size of long varies depending on architecture, in contrast to the
MAXLNUM constant which sets the maximum allowable number of lines to
2^32-1. This discrepancy may lead to hard to detect bugs, for example
https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a
fix maximum size of 2^32-1 will prevent this type of errors in the
future.

Also change the variables `amount` and `amount_after` to be linenr_T
since they're referring to "the line number difference" between two
texts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The size of long varies depending on architecture, in contrast to the
MAXLNUM constant which sets the maximum allowable number of lines to
2^32-1. This discrepancy may lead to hard to detect bugs, for example
https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a
fix maximum size of 2^32-1 will prevent this type of errors in the
future.

Also change the variables `amount` and `amount_after` to be linenr_T
since they're referring to "the line number difference" between two
texts.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(nvim_create_user_command): make `smods` work with `nvim_cmd`</title>
<updated>2022-06-08T09:24:52+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-06-08T03:06:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c84bd9e21fb1e5c55c9c5370b07271a6ae96f19c'/>
<id>c84bd9e21fb1e5c55c9c5370b07271a6ae96f19c</id>
<content type='text'>
Closes #18876.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #18876.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add preview functionality to user commands</title>
<updated>2022-05-31T14:55:05+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-04-20T11:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=46536f53e82967dcac8d030ee3394cdb156f9603'/>
<id>46536f53e82967dcac8d030ee3394cdb156f9603</id>
<content type='text'>
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: make `nvim_cmd` not suppress errors inside key mapping</title>
<updated>2022-05-19T16:23:14+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-05-19T15:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=fb8fa004d8c91b7b591509539a228e97ebc57d9d'/>
<id>fb8fa004d8c91b7b591509539a228e97ebc57d9d</id>
<content type='text'>
Closes #18632
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #18632
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(api): update v:errmsg behavior #18593</title>
<updated>2022-05-17T12:27:33+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-05-17T12:27:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=54b5222fbbaed6d283c6160f5d18713718a16eb2'/>
<id>54b5222fbbaed6d283c6160f5d18713718a16eb2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: replace char_u variables and functions with char</title>
<updated>2022-05-16T11:27:06+00:00</updated>
<author>
<name>Dundar Goc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2022-05-09T09:49:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f0148de7907ec297647816d51c79745be729439e'/>
<id>f0148de7907ec297647816d51c79745be729439e</id>
<content type='text'>
Work on https://github.com/neovim/neovim/issues/459
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Work on https://github.com/neovim/neovim/issues/459
</pre>
</div>
</content>
</entry>
</feed>
