<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/unit/fixtures, branch mix_20240309</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: change event_create() to a macro (#26343)</title>
<updated>2023-12-01T07:22:22+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-12-01T07:22:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=548f03c66c08d0235d62505e884e8088bfda1804'/>
<id>548f03c66c08d0235d62505e884e8088bfda1804</id>
<content type='text'>
A varargs functions can never be inlined, so a macro is faster.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A varargs functions can never be inlined, so a macro is faster.</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>refactor: remove use of reserved c++ keywords</title>
<updated>2023-04-06T20:39:50+00:00</updated>
<author>
<name>ii14</name>
<email>59243201+ii14@users.noreply.github.com</email>
</author>
<published>2023-04-06T20:39:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7190dba017e3aac0409c73ff1c954d18858cb3c9'/>
<id>7190dba017e3aac0409c73ff1c954d18858cb3c9</id>
<content type='text'>
libnvim couldn't be easily used in C++ due to the use of reserved keywords.

Additionally, add explicit casts to *alloc function calls used in inline
functions, as C++ doesn't allow implicit casts from void pointers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libnvim couldn't be easily used in C++ due to the use of reserved keywords.

Additionally, add explicit casts to *alloc function calls used in inline
functions, as C++ doesn't allow implicit casts from void pointers.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(PVS/V1044): suppress warning</title>
<updated>2022-05-17T20:26:25+00:00</updated>
<author>
<name>Dundar Goc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2022-05-17T12:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=10868dbf893f69070a56ea2193b9962caacef324'/>
<id>10868dbf893f69070a56ea2193b9962caacef324</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>*: Add comment to all C files</title>
<updated>2017-04-19T16:11:50+00:00</updated>
<author>
<name>ZyX</name>
<email>kp-pav@yandex.ru</email>
</author>
<published>2017-04-19T16:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c2f3e361c52ec4e7149ea1d8c6a1202e0873da8e'/>
<id>c2f3e361c52ec4e7149ea1d8c6a1202e0873da8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>unittests: Use own bindings to libc syscall wrappers</title>
<updated>2017-03-11T20:23:30+00:00</updated>
<author>
<name>ZyX</name>
<email>kp-pav@yandex.ru</email>
</author>
<published>2016-11-01T07:38:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=1edb3ccc3699d1782a1d1a12ce2429ce0dcdcfcb'/>
<id>1edb3ccc3699d1782a1d1a12ce2429ce0dcdcfcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>event/multiqueue.c: Rename "queue" to "multiqueue".</title>
<updated>2016-10-01T22:24:49+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-09-29T15:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6186df3562e33e92f04ed8c850204ceabc4746e1'/>
<id>6186df3562e33e92f04ed8c850204ceabc4746e1</id>
<content type='text'>
`lib/queue.h` implements a basic queue. `event/queue.c` implements
a specialized data structure on top of lib/queue.h; it is not a "normal"
queue.

Rename the specialized multi-level queue implemented in event/queue.c to
"multiqueue", to avoid confusion when reading the code.

Before this change one can eventually notice that "macros (uppercase
symbols) are for the normal queue, lowercase operations are for the
multi-level queue", but that is unnecessary friction for new developers
(or existing developers just visiting this part of the codebase).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`lib/queue.h` implements a basic queue. `event/queue.c` implements
a specialized data structure on top of lib/queue.h; it is not a "normal"
queue.

Rename the specialized multi-level queue implemented in event/queue.c to
"multiqueue", to avoid confusion when reading the code.

Before this change one can eventually notice that "macros (uppercase
symbols) are for the normal queue, lowercase operations are for the
multi-level queue", but that is unnecessary friction for new developers
(or existing developers just visiting this part of the codebase).
</pre>
</div>
</content>
</entry>
<entry>
<title>queue: Implement a more flexible event queue</title>
<updated>2015-08-13T11:46:21+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-07-24T15:24:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a6e0d35d2da3ee4270ddb712410ea0c8c55b0f0f'/>
<id>a6e0d35d2da3ee4270ddb712410ea0c8c55b0f0f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>rbuffer: Reimplement as a ring buffer and decouple from rstream</title>
<updated>2015-07-01T08:40:53+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-06-30T16:37:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0ef80b9c2b922280c3ba2c0a8638f23ae57d6618'/>
<id>0ef80b9c2b922280c3ba2c0a8638f23ae57d6618</id>
<content type='text'>
Extract the RBuffer class from rstream.c and reimplement it as a ring buffer,
a more efficient version that doesn't need to relocate memory.

The old rbuffer_read/rbuffer_write interfaces are kept for simple
reading/writing, and the RBUFFER_UNTIL_{FULL,EMPTY} macros are introduced to
hide wrapping logic when more control is required(such as passing the buffer
pointer to a library function that writes directly to the pointer)

Also add a basic infrastructure for writing helper C files that are only
compiled in the unit test library, and use this to write unit tests for RBuffer
which contains some macros that can't be accessed directly by luajit.

Helped-by: oni-link &lt;knil.ino@gmail.com&gt;
Reviewed-by: oni-link &lt;knil.ino@gmail.com&gt;
Reviewed-by: Scott Prager &lt;splinterofchaos@gmail.com&gt;
Reviewed-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
Reviewed-by: Michael Reed &lt;m.reed@mykolab.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extract the RBuffer class from rstream.c and reimplement it as a ring buffer,
a more efficient version that doesn't need to relocate memory.

The old rbuffer_read/rbuffer_write interfaces are kept for simple
reading/writing, and the RBUFFER_UNTIL_{FULL,EMPTY} macros are introduced to
hide wrapping logic when more control is required(such as passing the buffer
pointer to a library function that writes directly to the pointer)

Also add a basic infrastructure for writing helper C files that are only
compiled in the unit test library, and use this to write unit tests for RBuffer
which contains some macros that can't be accessed directly by luajit.

Helped-by: oni-link &lt;knil.ino@gmail.com&gt;
Reviewed-by: oni-link &lt;knil.ino@gmail.com&gt;
Reviewed-by: Scott Prager &lt;splinterofchaos@gmail.com&gt;
Reviewed-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;
Reviewed-by: Michael Reed &lt;m.reed@mykolab.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
