<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/unit, branch fix_repeatcmdline</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>refactor: fix headers with IWYU</title>
<updated>2023-11-28T21:23:56+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2023-11-28T19:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=79b6ff28ad1204fbb4199b9092f5c578d88cb28e'/>
<id>79b6ff28ad1204fbb4199b9092f5c578d88cb28e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(grid): make screen rendering more multibyte than ever before</title>
<updated>2023-11-17T11:58:57+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-11-06T13:52:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b522cb1ac3fbdf6e68eed5d0b6e1cbeaf3ac2254'/>
<id>b522cb1ac3fbdf6e68eed5d0b6e1cbeaf3ac2254</id>
<content type='text'>
Problem: buffer text with composing chars are converted from UTF-8
to an array of up to seven UTF-32 values and then converted back
to UTF-8 strings.

Solution: Convert buffer text directly to UTF-8 based schar_T values.

The limit of the text size is now in schar_T bytes, which is currently
31+1 but easily could be raised as it no longer multiplies the size
of the entire screen grid when not used, the full size is only required
for temporary scratch buffers.

Also does some general cleanup to win_line text handling, which was
unnecessarily complicated due to multibyte rendering being an "opt-in"
feature long ago. Nowadays, a char is just a char, regardless if it consists
of one ASCII byte or multiple bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: buffer text with composing chars are converted from UTF-8
to an array of up to seven UTF-32 values and then converted back
to UTF-8 strings.

Solution: Convert buffer text directly to UTF-8 based schar_T values.

The limit of the text size is now in schar_T bytes, which is currently
31+1 but easily could be raised as it no longer multiplies the size
of the entire screen grid when not used, the full size is only required
for temporary scratch buffers.

Also does some general cleanup to win_line text handling, which was
unnecessarily complicated due to multibyte rendering being an "opt-in"
feature long ago. Nowadays, a char is just a char, regardless if it consists
of one ASCII byte or multiple bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move background color detection into Lua</title>
<updated>2023-11-14T01:04:46+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2023-11-06T21:46:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ab102f188e86bdbfce1d4de2ef633092a906e8fe'/>
<id>ab102f188e86bdbfce1d4de2ef633092a906e8fe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>build: remove PVS</title>
<updated>2023-11-12T20:26:39+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2023-11-12T12:13:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=353a4be7e84fdc101318215bdcc8a7e780d737fe'/>
<id>353a4be7e84fdc101318215bdcc8a7e780d737fe</id>
<content type='text'>
We already have an extensive suite of static analysis tools we use,
which causes a fair bit of redundancy as we get duplicate warnings. PVS
is also prone to give false warnings which creates a lot of work to
identify and disable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We already have an extensive suite of static analysis tools we use,
which causes a fair bit of redundancy as we get duplicate warnings. PVS
is also prone to give false warnings which creates a lot of work to
identify and disable.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(rpc): "grid_line" event parsing crashes (#25581)</title>
<updated>2023-11-03T22:56:45+00:00</updated>
<author>
<name>LW</name>
<email>git@llllvvuu.dev</email>
</author>
<published>2023-11-03T22:56:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=468292dcb743c79714b030557cf2754b7b5bf07d'/>
<id>468292dcb743c79714b030557cf2754b7b5bf07d</id>
<content type='text'>
refactor: use a more idiomatic loop to iterate over the cells

There are two cases in which the following assertion would fail:
```c
assert(g-&gt;icell &lt; g-&gt;ncells);
```

1. If `g-&gt;ncells = 0`. Update this to be legal.
2. If an EOF is reached while parsing `wrap`. In this case, the unpacker
   attempts to resume from `cells`, which is a bug. Create a new state
   for parsing `wrap`.

Reference: https://neovim.io/doc/user/ui.html#ui-event-grid_line</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refactor: use a more idiomatic loop to iterate over the cells

There are two cases in which the following assertion would fail:
```c
assert(g-&gt;icell &lt; g-&gt;ncells);
```

1. If `g-&gt;ncells = 0`. Update this to be legal.
2. If an EOF is reached while parsing `wrap`. In this case, the unpacker
   attempts to resume from `cells`, which is a bug. Create a new state
   for parsing `wrap`.

Reference: https://neovim.io/doc/user/ui.html#ui-event-grid_line</pre>
</div>
</content>
</entry>
<entry>
<title>docs: small fixes</title>
<updated>2023-10-10T17:20:32+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2023-09-15T07:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c3d21ad1bccd9a2975be73b1115213fd884eada3'/>
<id>c3d21ad1bccd9a2975be73b1115213fd884eada3</id>
<content type='text'>
Co-authored-by: Wansmer &lt;wansmer@gmail.com&gt;
Co-authored-by: Andrew Voynov &lt;andrewvoynov.b@gmail.com&gt;
Co-authored-by: David Moberg &lt;david.moberg@mediatek.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Wansmer &lt;wansmer@gmail.com&gt;
Co-authored-by: Andrew Voynov &lt;andrewvoynov.b@gmail.com&gt;
Co-authored-by: David Moberg &lt;david.moberg@mediatek.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test(unit): move statusline tests to statusline_spec.lua (#25441)</title>
<updated>2023-09-30T12:38:04+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-09-30T12:38:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a4132e1d62c5ef542a05b5ca2c6704f6d992c818'/>
<id>a4132e1d62c5ef542a05b5ca2c6704f6d992c818</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: reorganize option header files (#25437)</title>
<updated>2023-09-30T06:41:34+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-09-30T06:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=dc6d0d2daf69e2fdadda81feb97906dbc962a239'/>
<id>dc6d0d2daf69e2fdadda81feb97906dbc962a239</id>
<content type='text'>
- Move vimoption_T to option.h
- option_defs.h is for option-related types
- option_vars.h corresponds to Vim's option.h
- option_defs.h and option_vars.h don't include each other</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Move vimoption_T to option.h
- option_defs.h is for option-related types
- option_vars.h corresponds to Vim's option.h
- option_defs.h and option_vars.h don't include each other</pre>
</div>
</content>
</entry>
<entry>
<title>fix(unittests): ignore __s128 and __u128 types in ffi</title>
<updated>2023-09-29T02:36:14+00:00</updated>
<author>
<name>James McCoy</name>
<email>jamessan@jamessan.com</email>
</author>
<published>2023-09-28T00:44:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9afbfb4d646cd240e97dbaae109f12bfc853112c'/>
<id>9afbfb4d646cd240e97dbaae109f12bfc853112c</id>
<content type='text'>
Linux added these types to their userspace headers in [6.5], which
causes unit tests to fail like

```
-------- Running tests from test/unit/api/private_helpers_spec.lua
RUN       vim_to_object converts true: 17.00 ms ERR
test/unit/helpers.lua:748: test/unit/helpers.lua:732: (string) '
test/unit/helpers.lua:264: ';' expected near '__s128' at line 194'
exit code: 256

stack traceback:
	test/unit/helpers.lua:748: in function 'itp_parent'
	test/unit/helpers.lua:784: in function &lt;test/unit/helpers.lua:774&gt;
```

Since we don't use these types, they can be ignored to avoid LuaJIT's C
parser choking on them.

[6.5]: https://github.com/torvalds/linux/commit/224d80c584d3016cb8d83d1c33914fdd3508aa8c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux added these types to their userspace headers in [6.5], which
causes unit tests to fail like

```
-------- Running tests from test/unit/api/private_helpers_spec.lua
RUN       vim_to_object converts true: 17.00 ms ERR
test/unit/helpers.lua:748: test/unit/helpers.lua:732: (string) '
test/unit/helpers.lua:264: ';' expected near '__s128' at line 194'
exit code: 256

stack traceback:
	test/unit/helpers.lua:748: in function 'itp_parent'
	test/unit/helpers.lua:784: in function &lt;test/unit/helpers.lua:774&gt;
```

Since we don't use these types, they can be ignored to avoid LuaJIT's C
parser choking on them.

[6.5]: https://github.com/torvalds/linux/commit/224d80c584d3016cb8d83d1c33914fdd3508aa8c
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(test): more tests for marktree</title>
<updated>2023-09-16T12:32:45+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-09-14T09:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=477458f7bf8dc70ff56d3d4af4ef44f83b95016a'/>
<id>477458f7bf8dc70ff56d3d4af4ef44f83b95016a</id>
<content type='text'>
Co-Authored-By: L Lllvvuu &lt;git@llllvvuu.dev&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: L Lllvvuu &lt;git@llllvvuu.dev&gt;
</pre>
</div>
</content>
</entry>
</feed>
