<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/eval, branch v0.1.7</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>build: Target luacheck HEAD.</title>
<updated>2016-11-16T23:55:39+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-11-16T23:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=44e6ee930fff5bf42178e5555b4a7c3467cb66c8'/>
<id>44e6ee930fff5bf42178e5555b4a7c3467cb66c8</id>
<content type='text'>
https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606

&gt; If you really want to use bleeding-edge version you should get the
&gt; rockspec from master branch, not a fixed commit ...
&gt; The correct way to install from a specific commit is cloning that
&gt; commit and running "luarocks make" from project directory. The reason
&gt; is that running "install" or "build" on an scm rockspec fetches
&gt; sources from master but uses build description from the rockspec
&gt; itself, which may be outdated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606

&gt; If you really want to use bleeding-edge version you should get the
&gt; rockspec from master branch, not a fixed commit ...
&gt; The correct way to install from a specific commit is cloning that
&gt; commit and running "luarocks make" from project directory. The reason
&gt; is that running "install" or "build" on an scm rockspec fetches
&gt; sources from master but uses build description from the rockspec
&gt; itself, which may be outdated.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump all nvim-specific error codes above E5000</title>
<updated>2016-11-16T04:16:08+00:00</updated>
<author>
<name>James McCoy</name>
<email>jamessan@jamessan.com</email>
</author>
<published>2016-11-12T18:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c0fd830be4ef3eafb756c463aee6408323ba4e58'/>
<id>c0fd830be4ef3eafb756c463aee6408323ba4e58</id>
<content type='text'>
In order to not conflict with new error codes that Vim adds, all Neovim
error codes should be above 5000.  The three existing sub-5000 error
codes (E926, E951, and E952) are now E50003, E5004, and E5005
respectively.

E953 was removed in 6167ce6df2753d5474ad49aea19f5957128ab015, so just
remove it from the help.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to not conflict with new error codes that Vim adds, all Neovim
error codes should be above 5000.  The three existing sub-5000 error
codes (E926, E951, and E952) are now E50003, E5004, and E5005
respectively.

E953 was removed in 6167ce6df2753d5474ad49aea19f5957128ab015, so just
remove it from the help.
</pre>
</div>
</content>
</entry>
<entry>
<title>encoding: update tests</title>
<updated>2016-11-05T13:49:24+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2015-09-14T11:10:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b3ece5c81c3c50cfd3fc0df165460be4ffd97723'/>
<id>b3ece5c81c3c50cfd3fc0df165460be4ffd97723</id>
<content type='text'>
Change shada reencoding tests to check for
correct handling of UTF-8 and binary strings.

Delete enc=latin1 json tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change shada reencoding tests to check for
correct handling of UTF-8 and binary strings.

Delete enc=latin1 json tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>api: api_info()['version']</title>
<updated>2016-10-28T12:33:13+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-10-26T13:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c5f5f427c6f8d1b4136bf41171f8f0980561080e'/>
<id>c5f5f427c6f8d1b4136bf41171f8f0980561080e</id>
<content type='text'>
API level is disconnected from NVIM version. The API metadata holds the
current API level, and the lowest backwards-compatible level supported
by this instance.

Release 0.1.6 is the first release that reports the Nvim version and API
level.

    metadata['version'] = {
      major: 0,
      minor: 1,
      patch: 6,
      api_level: 1,
      api_compatible: 0,
      api_prerelease: false,
    }

The API level may remain unchanged across Nvim releases if the API has
not changed.

When changing the API,
    - set NVIM_API_PRERELEASE to true
    - increment NVIM_API_LEVEL (at most once per Nvim version)
    - adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken

api_level_0.mpack was generated from Nvim 0.1.5 with:
    nvim --api-info
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
API level is disconnected from NVIM version. The API metadata holds the
current API level, and the lowest backwards-compatible level supported
by this instance.

Release 0.1.6 is the first release that reports the Nvim version and API
level.

    metadata['version'] = {
      major: 0,
      minor: 1,
      patch: 6,
      api_level: 1,
      api_compatible: 0,
      api_prerelease: false,
    }

The API level may remain unchanged across Nvim releases if the API has
not changed.

When changing the API,
    - set NVIM_API_PRERELEASE to true
    - increment NVIM_API_LEVEL (at most once per Nvim version)
    - adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken

api_level_0.mpack was generated from Nvim 0.1.5 with:
    nvim --api-info
</pre>
</div>
</content>
</entry>
<entry>
<title>api: Nvim version, API level #5386</title>
<updated>2016-10-26T12:23:50+00:00</updated>
<author>
<name>Rui Abreu Ferreira</name>
<email>rap-ep@gmx.com</email>
</author>
<published>2016-09-25T17:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f25797f86976cbccf697d6df953154c5e59656e6'/>
<id>f25797f86976cbccf697d6df953154c5e59656e6</id>
<content type='text'>
The API level is disconnected from the NVIM version. The API metadata
holds the current API level, and the lowest backwards-compatible level
supported by this instance.

Release 0.1.6 will be the first release reporting the Nvim version and
API level.

    metadata['version'] = {
      major: 0,
      minor: 1,
      patch: 6,
      prerelease: true,
      api_level: 1,
      api_compatible: 0,
    }

The API level may remain unchanged across Neovim releases if the API has
not changed.

When changing the API the CMake variable NVIM_API_PRERELEASE is set to
true, and  NVIM_API_CURRENT/NVIM_API_COMPATIBILITY are incremented
accordingly.

The functional tests check the API table against fixtures of past
versions of Neovim. It compares all the functions in the old table with
the new one, it does ignore some metadata attributes that do not alter
the function signature or were removed since 0.1.5.  Currently the only
fixture is 0.mpack, generated from Neovim 0.1.5 with nvim --api-info.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The API level is disconnected from the NVIM version. The API metadata
holds the current API level, and the lowest backwards-compatible level
supported by this instance.

Release 0.1.6 will be the first release reporting the Nvim version and
API level.

    metadata['version'] = {
      major: 0,
      minor: 1,
      patch: 6,
      prerelease: true,
      api_level: 1,
      api_compatible: 0,
    }

The API level may remain unchanged across Neovim releases if the API has
not changed.

When changing the API the CMake variable NVIM_API_PRERELEASE is set to
true, and  NVIM_API_CURRENT/NVIM_API_COMPATIBILITY are incremented
accordingly.

The functional tests check the API table against fixtures of past
versions of Neovim. It compares all the functions in the old table with
the new one, it does ignore some metadata attributes that do not alter
the function signature or were removed since 0.1.5.  Currently the only
fixture is 0.mpack, generated from Neovim 0.1.5 with nvim --api-info.
</pre>
</div>
</content>
</entry>
<entry>
<title>modeline: Handle version number overflow. #5450</title>
<updated>2016-10-26T11:05:25+00:00</updated>
<author>
<name>Florian Larysch</name>
<email>fl@n621.de</email>
</author>
<published>2016-10-08T15:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2a6c5bb0c4b03a9da81dae64d37c9912e448eaf0'/>
<id>2a6c5bb0c4b03a9da81dae64d37c9912e448eaf0</id>
<content type='text'>
Closes #5449

A file containing the string "vim" followed by a very large number in a modeline
location will trigger an overflow in getdigits() which is called by
chk_modeline() when trying to parse the version number.

Add getdigits_safe(), which does not assert overflows, but reports them to the
caller.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #5449

A file containing the string "vim" followed by a very large number in a modeline
location will trigger an overflow in getdigits() which is called by
chk_modeline() when trying to parse the version number.

Add getdigits_safe(), which does not assert overflows, but reports them to the
caller.
</pre>
</div>
</content>
</entry>
<entry>
<title>version: Allow has("nvim-x"), has("nvim-x.y")</title>
<updated>2016-10-25T11:08:48+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-10-25T11:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=714ec09c6d83295ef70becbbaf1c620761cbdac6'/>
<id>714ec09c6d83295ef70becbbaf1c620761cbdac6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>version: has("nvim-1.2.3")</title>
<updated>2016-10-25T09:40:37+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2015-05-05T04:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=e7e2844d468dc0551fbd58097cc7f8f881e75ce3'/>
<id>e7e2844d468dc0551fbd58097cc7f8f881e75ce3</id>
<content type='text'>
Helped-by: Daniel Hahler &lt;git@thequod.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Helped-by: Daniel Hahler &lt;git@thequod.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: system(): Avoid indeterminism.</title>
<updated>2016-10-22T22:13:33+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-10-22T18:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=459a6ff05882e5249f02172b61f2bddc4b598e39'/>
<id>459a6ff05882e5249f02172b61f2bddc4b598e39</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>system('foo &amp;', 'bar'): Show error, don't crash.</title>
<updated>2016-10-18T23:39:05+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2016-10-18T12:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9706664b8827614817a43f3a4ac4b6ae8463a906'/>
<id>9706664b8827614817a43f3a4ac4b6ae8463a906</id>
<content type='text'>
Closes #3529
Closes #5241

In Vim,
    :echo system('cat - &amp;', 'foo')
works because for both system() and :! Vim writes input to a temp file and uses
shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output()
.. make_filter_cmd()).

In Nvim,
    :echo system('cat - &amp;', 'foo')
fails because we write the input directly via pipes (shell.c:do_os_system()),
but (per POSIX[1]) backgrounded process input stream is redirected from
/dev/null (unless overridden by shell redirection; supported only by some shells
[2]), so our writes are ignored, the process exits quickly, and if we are
writing data larger than the buffer size we'll see EPIPE.

This still works:
    :%w !tee &gt; foo1358.txt &amp;
but this does not:
    :%w !tee foo1358.txt &amp;
though it *should* (why doesn't it?) because we still do the temp file dance
in do_bang() .. do_filter().

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
[2] http://unix.stackexchange.com/a/71218
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #3529
Closes #5241

In Vim,
    :echo system('cat - &amp;', 'foo')
works because for both system() and :! Vim writes input to a temp file and uses
shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output()
.. make_filter_cmd()).

In Nvim,
    :echo system('cat - &amp;', 'foo')
fails because we write the input directly via pipes (shell.c:do_os_system()),
but (per POSIX[1]) backgrounded process input stream is redirected from
/dev/null (unless overridden by shell redirection; supported only by some shells
[2]), so our writes are ignored, the process exits quickly, and if we are
writing data larger than the buffer size we'll see EPIPE.

This still works:
    :%w !tee &gt; foo1358.txt &amp;
but this does not:
    :%w !tee foo1358.txt &amp;
though it *should* (why doesn't it?) because we still do the temp file dance
in do_bang() .. do_filter().

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
[2] http://unix.stackexchange.com/a/71218
</pre>
</div>
</content>
</entry>
</feed>
