<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/api, branch 20230125_mix</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>docs(api): tweak data arg for nvim_create_autocmd (#22008)</title>
<updated>2023-01-27T11:24:20+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2023-01-27T11:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=aec4b476c5689f032103ab3e0ca068fc2af8bbba'/>
<id>aec4b476c5689f032103ab3e0ca068fc2af8bbba</id>
<content type='text'>
Fixes #21964</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #21964</pre>
</div>
</content>
</entry>
<entry>
<title>feat(highlight): define the concept of altfont as a (c)term rendering attribute</title>
<updated>2023-01-24T11:27:50+00:00</updated>
<author>
<name>Paul "LeoNerd" Evans</name>
<email>leonerd@leonerd.org.uk</email>
</author>
<published>2023-01-19T23:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f3039ce531f49a63f8fd07317c1f957fb28fc6a7'/>
<id>f3039ce531f49a63f8fd07317c1f957fb28fc6a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>revert: "refactor(win_close): remove "force", don't pass on "free_buf" (#21921)" (#21979)</title>
<updated>2023-01-24T10:31:07+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-24T10:31:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c6ab8dfc15e0f6f1a805ce2145e2b4f0072b33d1'/>
<id>c6ab8dfc15e0f6f1a805ce2145e2b4f0072b33d1</id>
<content type='text'>
This reverts commit 0371d0f7afa5e01dd2ac8bbd3abcf0f7454872b3.

&gt; 'bufhidden' option exists. I don't think we should assume autoclosing
windows are fine just because 'hidden' is set.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0371d0f7afa5e01dd2ac8bbd3abcf0f7454872b3.

&gt; 'bufhidden' option exists. I don't think we should assume autoclosing
windows are fine just because 'hidden' is set.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): don't allow hiding aucmd_win from another tabpage (#21975)</title>
<updated>2023-01-24T07:39:43+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-24T07:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=fca39eeabba84853960fb514edf402fbf8f586e3'/>
<id>fca39eeabba84853960fb514edf402fbf8f586e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(win_close): remove "force", don't pass on "free_buf" (#21921)</title>
<updated>2023-01-23T10:55:11+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-23T10:55:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0371d0f7afa5e01dd2ac8bbd3abcf0f7454872b3'/>
<id>0371d0f7afa5e01dd2ac8bbd3abcf0f7454872b3</id>
<content type='text'>
Problem:
The "force" flag of win_close() complicates the code and adds edge cases
where it is not clear what the correct behavior should be.
The "free_buf" flag of win_close() is passed on to float windows when
closing the last window of a tabpage, which doesn't make much sense.

Solution:
Remove the "force" flag and always close float windows as if :close! is
used when closing the last window of a tabpage, and set the "free_buf"
flag for a float window based on whether its buffer can be freed.
As 'hidden' is on by default, this change shouldn't affect many people.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
The "force" flag of win_close() complicates the code and adds edge cases
where it is not clear what the correct behavior should be.
The "free_buf" flag of win_close() is passed on to float windows when
closing the last window of a tabpage, which doesn't make much sense.

Solution:
Remove the "force" flag and always close float windows as if :close! is
used when closing the last window of a tabpage, and set the "free_buf"
flag for a float window based on whether its buffer can be freed.
As 'hidden' is on by default, this change shouldn't affect many people.</pre>
</div>
</content>
</entry>
<entry>
<title>build: make generated source files reproducible #21586</title>
<updated>2023-01-23T09:26:46+00:00</updated>
<author>
<name>Arnout Engelen</name>
<email>arnout@engelen.eu</email>
</author>
<published>2023-01-23T09:26:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=cb757f2663e6950e655c6306d713338dfa66b18d'/>
<id>cb757f2663e6950e655c6306d713338dfa66b18d</id>
<content type='text'>
Problem:
Build is not reproducible, because generated source files (.c/.h/) are not
deterministic, mostly because Lua pairs() is unordered by design (for security).

https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671
https://www.lua.org/manual/5.1/manual.html#pdf-next
&gt; The order in which the indices are enumerated is not specified [...]
&gt;
&gt;&gt; The hardening of the VM deliberately randomizes string hashes. This in
&gt;&gt; turn randomizes the iteration order of tables with string keys.

Solution:
- Update the code generation scripts to be deterministic.
    - That is only a partial solution: the exported function
      (funcs_metadata.generated.h) and ui event
      (ui_events_metadata.generated.h) metadata have some mpack'ed
      tables, which are not serialized deterministically.
    - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can
      inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0)
      that preserves table order.
    - Longer-term we should change the mpack'ed data structure so it no
      longer uses tables keyed by strings.

Closes #20124

Co-Authored-By: dundargoc &lt;gocdundar@gmail.com&gt;
Co-Authored-By: Arnout Engelen &lt;arnout@bzzt.net&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Build is not reproducible, because generated source files (.c/.h/) are not
deterministic, mostly because Lua pairs() is unordered by design (for security).

https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671
https://www.lua.org/manual/5.1/manual.html#pdf-next
&gt; The order in which the indices are enumerated is not specified [...]
&gt;
&gt;&gt; The hardening of the VM deliberately randomizes string hashes. This in
&gt;&gt; turn randomizes the iteration order of tables with string keys.

Solution:
- Update the code generation scripts to be deterministic.
    - That is only a partial solution: the exported function
      (funcs_metadata.generated.h) and ui event
      (ui_events_metadata.generated.h) metadata have some mpack'ed
      tables, which are not serialized deterministically.
    - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can
      inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0)
      that preserves table order.
    - Longer-term we should change the mpack'ed data structure so it no
      longer uses tables keyed by strings.

Closes #20124

Co-Authored-By: dundargoc &lt;gocdundar@gmail.com&gt;
Co-Authored-By: Arnout Engelen &lt;arnout@bzzt.net&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: replace char_u with char 24 (#21823)</title>
<updated>2023-01-18T13:17:11+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-18T13:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8a4285d5637c146a0ae606918a8e77063c6a5f0d'/>
<id>8a4285d5637c146a0ae606918a8e77063c6a5f0d</id>
<content type='text'>
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: replace char_u with char 23 (#21798)</title>
<updated>2023-01-18T10:52:19+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-18T10:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2c1e7242f9bed345e520e9060e5e13fe48a023eb'/>
<id>2c1e7242f9bed345e520e9060e5e13fe48a023eb</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>feat(api): show more exception info</title>
<updated>2023-01-16T09:58:57+00:00</updated>
<author>
<name>erw7</name>
<email>erw7.github@gmail.com</email>
</author>
<published>2022-11-05T10:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ce66f158b55287924b33451b272de847ab75b332'/>
<id>ce66f158b55287924b33451b272de847ab75b332</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: fix IWYU mapping file and use IWYU (#21802)</title>
<updated>2023-01-15T13:16:33+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-15T13:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3269902a13df3bccf8705db73488c0a47f495514'/>
<id>3269902a13df3bccf8705db73488c0a47f495514</id>
<content type='text'>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</pre>
</div>
</content>
</entry>
</feed>
