<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/lua/executor.c, branch nightly</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>refactor: reduce number of explicit char casts (#16077)</title>
<updated>2021-11-16T19:27:59+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-11-16T19:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=eba317d7a907a76e6e265c0fe0b97a87f17cf943'/>
<id>eba317d7a907a76e6e265c0fe0b97a87f17cf943</id>
<content type='text'>
* refactor: reduce number of explicit char casts</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* refactor: reduce number of explicit char casts</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lua): enable stack traces in error output (#16228)</title>
<updated>2021-11-06T14:26:10+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>8965202+gpanders@users.noreply.github.com</email>
</author>
<published>2021-11-06T14:26:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=03b805aee617f67eb7f33a54822bc76c23a2c5f5'/>
<id>03b805aee617f67eb7f33a54822bc76c23a2c5f5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.1.0779: argument for message functions is inconsistent</title>
<updated>2021-11-01T10:41:29+00:00</updated>
<author>
<name>James McCoy</name>
<email>jamessan@jamessan.com</email>
</author>
<published>2021-10-23T20:04:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e6ff154be6da8bd53b604fb6e38686acae75b24f'/>
<id>e6ff154be6da8bd53b604fb6e38686acae75b24f</id>
<content type='text'>
Problem:    Argument for message functions is inconsistent.
Solution:   Make first argument to msg() "char *".
https://github.com/vim/vim/commit/32526b3c1846025f0e655f41efd4e5428da16b6c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Argument for message functions is inconsistent.
Solution:   Make first argument to msg() "char *".
https://github.com/vim/vim/commit/32526b3c1846025f0e655f41efd4e5428da16b6c
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.1.0743: giving error messages is not flexible</title>
<updated>2021-11-01T10:41:28+00:00</updated>
<author>
<name>James McCoy</name>
<email>jamessan@jamessan.com</email>
</author>
<published>2021-10-18T13:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=efa924f66b183d9cf2404ce91c4f009c27e0515a'/>
<id>efa924f66b183d9cf2404ce91c4f009c27e0515a</id>
<content type='text'>
Problem:    Giving error messages is not flexible.
Solution:   Add semsg().  Change argument from "char_u *" to "char *", also
            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
            vim/vim#3302)  Also make emsg() accept a "char *" argument.  Get rid of
            an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Giving error messages is not flexible.
Solution:   Add semsg().  Change argument from "char_u *" to "char *", also
            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
            vim/vim#3302)  Also make emsg() accept a "char *" argument.  Get rid of
            an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: split executor.c into two files</title>
<updated>2021-10-26T19:04:52+00:00</updated>
<author>
<name>Dundar Göc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2021-10-23T09:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=13d331ef0de7e59ec846c47e4b0639b9e50cb06e'/>
<id>13d331ef0de7e59ec846c47e4b0639b9e50cb06e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add vim.str_utf_pos function</title>
<updated>2021-10-24T10:35:38+00:00</updated>
<author>
<name>Michael Lingelbach</name>
<email>m.j.lbach@gmail.com</email>
</author>
<published>2021-10-23T05:48:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d752cbc4d2ef67686acb4bbe06e8cdfa79aa23f8'/>
<id>d752cbc4d2ef67686acb4bbe06e8cdfa79aa23f8</id>
<content type='text'>
vim.str_utf_pos returns the codepoints for all utf-8 chars (only, currently)
in a string
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vim.str_utf_pos returns the codepoints for all utf-8 chars (only, currently)
in a string
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(runtime): don't use regexes inside lua require'mod'</title>
<updated>2021-10-17T14:21:42+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2021-09-28T11:51:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ea2023f689ad8f368faad6e52c85fbc9762a7296'/>
<id>ea2023f689ad8f368faad6e52c85fbc9762a7296</id>
<content type='text'>
Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently
this only caches whether an rtp entry has a "lua/" subdir but we could
consider cache other subdirs potentially or even "lua/mybigplugin/"
possibly.

Note: the async_leftpad test doesn't actually fail on master, at least
not deterministically (even when disabling the fast_breakcheck
throttling). It's still useful as a regression test for further changes
and included as such.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently
this only caches whether an rtp entry has a "lua/" subdir but we could
consider cache other subdirs potentially or even "lua/mybigplugin/"
possibly.

Note: the async_leftpad test doesn't actually fail on master, at least
not deterministically (even when disabling the fast_breakcheck
throttling). It's still useful as a regression test for further changes
and included as such.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: format with uncrustify #15842</title>
<updated>2021-10-02T14:59:41+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-10-02T14:59:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=9c268263b1792d00b3ffdfd7495af2575862656e'/>
<id>9c268263b1792d00b3ffdfd7495af2575862656e</id>
<content type='text'>
* refactor: format with uncrustify
* refactor: convert function comments to doxygen</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* refactor: format with uncrustify
* refactor: convert function comments to doxygen</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lua): expose lua-cjson as vim.json</title>
<updated>2021-09-26T07:35:55+00:00</updated>
<author>
<name>Michael Lingelbach</name>
<email>m.j.lbach@gmail.com</email>
</author>
<published>2021-09-23T17:39:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=30fed27241cc2a8f930212375f994a7fa6c99008'/>
<id>30fed27241cc2a8f930212375f994a7fa6c99008</id>
<content type='text'>
* add vim.json.encode and vim.json.decode
* use vim.NIL instead of cjson.null
* resolve strict-prototypes warnings

* The following benchmark shows an approximately 2.5x (750 ms vs 300 ms) improvement in deserialization performance over
  vim.fn.json_decode on a medium package.json

  ```lua
  local uv = vim.loop
  local function readfile(path)
    return
  end

  local json_url = "https://raw.githubusercontent.com/rust-analyzer/rust-analyzer/b24c8d5c89ee93d1172b4127564f5da3b0c88dad/editors/code/package.json"
  io.popen(string.format('curl -v -f -L -O %q &amp;&gt; /dev/null', json_url))

  local json_string = io.open('package.json'):read '*a'

  uv.update_time()
  local start = uv.hrtime()

  for i = 1,1000 do
    vim.fn.json_decode(json_string)
  end

  uv.update_time()
  print(string.format("Deserialization time vim.fn.json_decode: %s ms", (uv.hrtime() - start) * (1e-6)))

  uv.update_time()
  local start = uv.hrtime()

  for i = 1,1000 do
    vim.json.decode(json_string)
  end
  uv.update_time()
  print(string.format("Deserialization time vim.json.decode: %s ms", (uv.hrtime() - start) * (1e-6)))
  ```

Co-Authored-By: Björn Linse &lt;bjorn.linse@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* add vim.json.encode and vim.json.decode
* use vim.NIL instead of cjson.null
* resolve strict-prototypes warnings

* The following benchmark shows an approximately 2.5x (750 ms vs 300 ms) improvement in deserialization performance over
  vim.fn.json_decode on a medium package.json

  ```lua
  local uv = vim.loop
  local function readfile(path)
    return
  end

  local json_url = "https://raw.githubusercontent.com/rust-analyzer/rust-analyzer/b24c8d5c89ee93d1172b4127564f5da3b0c88dad/editors/code/package.json"
  io.popen(string.format('curl -v -f -L -O %q &amp;&gt; /dev/null', json_url))

  local json_string = io.open('package.json'):read '*a'

  uv.update_time()
  local start = uv.hrtime()

  for i = 1,1000 do
    vim.fn.json_decode(json_string)
  end

  uv.update_time()
  print(string.format("Deserialization time vim.fn.json_decode: %s ms", (uv.hrtime() - start) * (1e-6)))

  uv.update_time()
  local start = uv.hrtime()

  for i = 1,1000 do
    vim.json.decode(json_string)
  end
  uv.update_time()
  print(string.format("Deserialization time vim.json.decode: %s ms", (uv.hrtime() - start) * (1e-6)))
  ```

Co-Authored-By: Björn Linse &lt;bjorn.linse@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: format with uncrustify #15722</title>
<updated>2021-09-19T20:07:42+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-09-19T20:07:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=853346a94d6aa78c97314a3b217fb5a5408a47f1'/>
<id>853346a94d6aa78c97314a3b217fb5a5408a47f1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
