<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/lib, branch newfeatures</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>Change QUEUE_FOREACH macro to use while instead of for</title>
<updated>2021-03-31T01:55:50+00:00</updated>
<author>
<name>erw7</name>
<email>erw7.github@gmail.com</email>
</author>
<published>2019-10-16T14:23:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=36caafeb281bf872f11d475e594eb212636daa4d'/>
<id>36caafeb281bf872f11d475e594eb212636daa4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>nsmarks: initial commit</title>
<updated>2019-11-11T18:43:15+00:00</updated>
<author>
<name>timeyyy</name>
<email>timeyyy_da_man@hotmail.com</email>
</author>
<published>2017-01-18T12:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a9065a50518ef59351f9d0d32041a991a751653f'/>
<id>a9065a50518ef59351f9d0d32041a991a751653f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kvec.h: kv_destroy: reinitialize after free</title>
<updated>2019-05-25T08:29:56+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-05-25T08:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c4f56c4134d806c40fc841ca1af2c0020b447140'/>
<id>c4f56c4134d806c40fc841ca1af2c0020b447140</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: introduce XFREE_CLEAR()</title>
<updated>2019-05-25T08:01:17+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-05-21T22:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a9d7ec4587d8eb20f12ebecc427ad818fb0e4971'/>
<id>a9d7ec4587d8eb20f12ebecc427ad818fb0e4971</id>
<content type='text'>
Unfortunately we cannot indiscriminately replace xfree() with
XFREE_CLEAR(), because comparing pointers after freeing them is a common
pattern. Example in `tv_list_remove_items()`:

    xfree(li);
    if (li == item2) {
      break;
    }

Instead we can do it selectively/explicitly.

ref #1375
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unfortunately we cannot indiscriminately replace xfree() with
XFREE_CLEAR(), because comparing pointers after freeing them is a common
pattern. Example in `tv_list_remove_items()`:

    xfree(li);
    if (li == item2) {
      break;
    }

Instead we can do it selectively/explicitly.

ref #1375
</pre>
</div>
</content>
</entry>
<entry>
<title>kbtree.h: assert valid range #10022</title>
<updated>2019-05-18T14:21:33+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-05-18T14:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=e8beea204bf428df3e417a67c151b3a32768befc'/>
<id>e8beea204bf428df3e417a67c151b3a32768befc</id>
<content type='text'>
ref #10012</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ref #10012</pre>
</div>
</content>
</entry>
<entry>
<title>kbtree: pointer UB and unitialized value fixes</title>
<updated>2019-05-18T11:37:57+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2019-05-18T11:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b247c6fd225566bdae2f31ad85d3a822cf3f1254'/>
<id>b247c6fd225566bdae2f31ad85d3a822cf3f1254</id>
<content type='text'>
- don't underflow itr-&gt;p pointer (C standard only allows one past the end, not
  one before the beginning)
- make sure itr-&gt;p-&gt;i is always initialized (even when not used)
- don't rely on `NULL &lt; &amp;object` (likely UB)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- don't underflow itr-&gt;p pointer (C standard only allows one past the end, not
  one before the beginning)
- make sure itr-&gt;p-&gt;i is always initialized (even when not used)
- don't rely on `NULL &lt; &amp;object` (likely UB)
</pre>
</div>
</content>
</entry>
<entry>
<title>os/env: use libuv v1.12 getenv/setenv API</title>
<updated>2019-02-27T22:29:07+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-02-24T19:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=89515304e4eb81ff9eb65f3a582136fc658de139'/>
<id>89515304e4eb81ff9eb65f3a582136fc658de139</id>
<content type='text'>
- Minimum required libuv is now v1.12
- Because `uv_os_getenv` requires allocating, we must manage a map
  (`envmap` in `env.c`) to maintain the old behavior of `os_getenv` .
- free() map-items after removal. khash.h does not make copies of
  anything, so even its keys must be memory-managed by the caller.

closes #8398
closes #9267
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Minimum required libuv is now v1.12
- Because `uv_os_getenv` requires allocating, we must manage a map
  (`envmap` in `env.c`) to maintain the old behavior of `os_getenv` .
- free() map-items after removal. khash.h does not make copies of
  anything, so even its keys must be memory-managed by the caller.

closes #8398
closes #9267
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: use line-based rather than char-based updates in screen.c</title>
<updated>2018-07-21T11:21:58+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2018-07-06T12:39:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=1adb01c120d04bdbf25cd4ea6151ecd5f2de3a72'/>
<id>1adb01c120d04bdbf25cd4ea6151ecd5f2de3a72</id>
<content type='text'>
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.

Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.

cmdline uses curwin cursor position when ext_cmdline is active.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.

Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.

cmdline uses curwin cursor position when ext_cmdline is active.
</pre>
</div>
</content>
</entry>
<entry>
<title>kvec: Silence PVS/V512: it is not needed to fill the whole array</title>
<updated>2018-04-15T17:14:55+00:00</updated>
<author>
<name>ZyX</name>
<email>kp-pav@yandex.ru</email>
</author>
<published>2018-04-15T17:14:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=d084628c4b0cf8644424f40ea578a1e705c771df'/>
<id>d084628c4b0cf8644424f40ea578a1e705c771df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>build/msvc: Fix missing restrict keyword</title>
<updated>2018-03-01T01:37:58+00:00</updated>
<author>
<name>b-r-o-c-k</name>
<email>brockmammen@gmail.com</email>
</author>
<published>2018-03-01T01:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2c414fbbb1a869a4d9d3dd1076d198945ee74a7e'/>
<id>2c414fbbb1a869a4d9d3dd1076d198945ee74a7e</id>
<content type='text'>
MSVC has the __restrict keyword and a marco is defined for it in `win_defs.h`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MSVC has the __restrict keyword and a marco is defined for it in `win_defs.h`.
</pre>
</div>
</content>
</entry>
</feed>
