<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/api/private, branch floattitle</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>fix(api): notify dict watchers on nvim_set_var and vim.g setter</title>
<updated>2022-09-27T12:47:53+00:00</updated>
<author>
<name>smolck</name>
<email>46855713+smolck@users.noreply.github.com</email>
</author>
<published>2021-08-14T17:19:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c7d30c152d1639523d05154e245ea60ed9a51a2b'/>
<id>c7d30c152d1639523d05154e245ea60ed9a51a2b</id>
<content type='text'>
Co-authored-by: bfredl &lt;bjorn.linse@gmail.com&gt;
Co-authored-by: Christian Clason &lt;c.clason@uni-graz.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: bfredl &lt;bjorn.linse@gmail.com&gt;
Co-authored-by: Christian Clason &lt;c.clason@uni-graz.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move klib out of src/nvim/ #20341</title>
<updated>2022-09-25T13:26:37+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2022-09-25T13:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=91e912f8d40284c74d4a997c8c95961eebb35d91'/>
<id>91e912f8d40284c74d4a997c8c95961eebb35d91</id>
<content type='text'>
It's confusing to mix vendored dependencies with neovim source code. A
clean separation is simpler to keep track of and simpler to document.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's confusing to mix vendored dependencies with neovim source code. A
clean separation is simpler to keep track of and simpler to document.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(typval): change FC_CFUNC abstraction into FC_LUAREF</title>
<updated>2022-09-06T22:52:58+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-09-06T20:23:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=db9b8b08e74ae8cfb08960eca0a7273538ebcdf1'/>
<id>db9b8b08e74ae8cfb08960eca0a7273538ebcdf1</id>
<content type='text'>
"cfuncs" was only ever used to wrap luarefs. As vim8script is
finished and will not be developed further, support for "cfuncs"
for other usecases are not planned. This abstraction was immediately
broken anyway in order to get luarefs out of userfuncs again.

Even if a new kind of userfunc needs to be invented in the future,
likely just extending the FC_... flag union directy, instead of
invoking unnecessary heap object and c function pointer indirection,
will be a more straightforward design pattern.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"cfuncs" was only ever used to wrap luarefs. As vim8script is
finished and will not be developed further, support for "cfuncs"
for other usecases are not planned. This abstraction was immediately
broken anyway in order to get luarefs out of userfuncs again.

Even if a new kind of userfunc needs to be invented in the future,
likely just extending the FC_... flag union directy, instead of
invoking unnecessary heap object and c function pointer indirection,
will be a more straightforward design pattern.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: replace char_u with char</title>
<updated>2022-09-06T14:44:37+00:00</updated>
<author>
<name>Dundar Göc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2022-08-26T21:11:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=73207cae611a1efb8cd17139e8228772daeb9866'/>
<id>73207cae611a1efb8cd17139e8228772daeb9866</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>
<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='https://git.josher.dev/cgit/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>refactor(api): provide a temporary copy solution for nvim_call_atomic</title>
<updated>2022-08-24T12:22:26+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-08-23T11:52:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7784dc9e0d90284b0d9c9cf0833c27d4de22b7f4'/>
<id>7784dc9e0d90284b0d9c9cf0833c27d4de22b7f4</id>
<content type='text'>
Make the copy_object() family accept an optional arena. More than
half of the callsites should be refactored to use an arena later
anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the copy_object() family accept an optional arena. More than
half of the callsites should be refactored to use an arena later
anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(api): allow to use an arena for return values</title>
<updated>2022-08-23T16:34:24+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-08-23T07:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c0d60526541a3cf977ae623471ae4a347b492af1'/>
<id>c0d60526541a3cf977ae623471ae4a347b492af1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove some unused includes (#19747)</title>
<updated>2022-08-13T00:59:11+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-08-13T00:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6f14c5d2ddbefea51920762769eec217d19a9ed9'/>
<id>6f14c5d2ddbefea51920762769eec217d19a9ed9</id>
<content type='text'>
- Remove autocmd.h from fileio.h
- Remove normal.h from main.h
- Move bufinfo_T from undo_defs.h to undo.c</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Remove autocmd.h from fileio.h
- Remove normal.h from main.h
- Move bufinfo_T from undo_defs.h to undo.c</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move non-symbols in ex_eval.h to ex_eval_defs.h (#19739)</title>
<updated>2022-08-12T11:16:24+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-08-12T11:16:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f79773a3b4b3ce5a3b37652a72b12089880f32a4'/>
<id>f79773a3b4b3ce5a3b37652a72b12089880f32a4</id>
<content type='text'>
This avoids including ex_eval.h in any other header, thus preventing
future circular includes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids including ex_eval.h in any other header, thus preventing
future circular includes.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(object): get rid of redundant FIXED_TEMP_ARRAY</title>
<updated>2022-07-20T08:04:06+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-07-19T11:00:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab'/>
<id>c65e73f2d67785f7ba617f2c4e5cfc5de946b6ab</id>
<content type='text'>
use the MAXSIZE_TEMP_ARRAY + ADD_C pattern instead, as exemplified
by the changes in this commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
use the MAXSIZE_TEMP_ARRAY + ADD_C pattern instead, as exemplified
by the changes in this commit.
</pre>
</div>
</content>
</entry>
</feed>
