<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/provider, branch v0.3.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>provider: improve error message if provider is missing (#9487)</title>
<updated>2019-01-13T00:49:07+00:00</updated>
<author>
<name>Marco Hinz</name>
<email>mh.codebro+github@gmail.com</email>
</author>
<published>2019-01-11T23:52:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8a7b6200fbaaafa13c1425faacecbd779d05d729'/>
<id>8a7b6200fbaaafa13c1425faacecbd779d05d729</id>
<content type='text'>
Move `has_eval_provider()` check to `eval_call_provider()` to make sure that
every code path calls it first.

Previously we would, when pynvim was missing, get a nice error message for
`:python3 1`, but not for `:py3file blah`.

Fixes https://github.com/neovim/neovim/issues/9485</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move `has_eval_provider()` check to `eval_call_provider()` to make sure that
every code path calls it first.

Previously we would, when pynvim was missing, get a nice error message for
`:python3 1`, but not for `:py3file blah`.

Fixes https://github.com/neovim/neovim/issues/9485</pre>
</div>
</content>
</entry>
<entry>
<title>test: :ruby reports E319 if provider is missing</title>
<updated>2018-12-12T21:11:00+00:00</updated>
<author>
<name>Marco Hinz</name>
<email>mh.codebro@gmail.com</email>
</author>
<published>2018-12-12T21:11:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=315769ae6dc3b3c7613f8e3f2f78fbe24b950477'/>
<id>315769ae6dc3b3c7613f8e3f2f78fbe24b950477</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>provider: repurpose E319</title>
<updated>2018-12-12T00:26:21+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2018-12-11T23:17:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=61d0dfee32ce9a9fb2497b02558df02eabb61d1b'/>
<id>61d0dfee32ce9a9fb2497b02558df02eabb61d1b</id>
<content type='text'>
In Vim (and some vestigial parts of Nvim) E319 was a placeholder for
ex_ni commands, i.e. commands that are only available in certain builds
of Vim.  That is obviously counter to Nvim's goals: all Nvim commands
are available on all platforms and build types (the remaining ex_ni
commands are actually just missing providers).

We need an error id for "missing provider", so it makes sense to use
E319 for that purpose.

ref #9344
ref #3577
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Vim (and some vestigial parts of Nvim) E319 was a placeholder for
ex_ni commands, i.e. commands that are only available in certain builds
of Vim.  That is obviously counter to Nvim's goals: all Nvim commands
are available on all platforms and build types (the remaining ex_ni
commands are actually just missing providers).

We need an error id for "missing provider", so it makes sense to use
E319 for that purpose.

ref #9344
ref #3577
</pre>
</div>
</content>
</entry>
<entry>
<title>test: give more time for nodejs</title>
<updated>2018-06-04T23:42:28+00:00</updated>
<author>
<name>Jan Edmund Lazo</name>
<email>janedmundlazo@hotmail.com</email>
</author>
<published>2018-06-04T23:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f274b84e1e4676e8a499e4ad70f4501d5f4fe305'/>
<id>f274b84e1e4676e8a499e4ad70f4501d5f4fe305</id>
<content type='text'>
Link neovim package to project root directory.
Increase delay to 3 seconds.
Reduce the total lines in temporary node scripts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Link neovim package to project root directory.
Increase delay to 3 seconds.
Reduce the total lines in temporary node scripts.
</pre>
</div>
</content>
</entry>
<entry>
<title>test: nodejs_spec: fix test after upstream API change</title>
<updated>2018-05-14T22:03:21+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2018-05-14T22:02:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=efb6caa39bbe1152173c3e3d462373d7f8b96b2f'/>
<id>efb6caa39bbe1152173c3e3d462373d7f8b96b2f</id>
<content type='text'>
closes https://github.com/neovim/node-client/issues/72
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes https://github.com/neovim/node-client/issues/72
</pre>
</div>
</content>
</entry>
<entry>
<title>test: nodejs_spec: allow more time for nodejs init</title>
<updated>2018-04-18T07:42:56+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2018-04-18T07:42:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=1dc497398ed50a124565584b45eb6a610e56fa95'/>
<id>1dc497398ed50a124565584b45eb6a610e56fa95</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>provider/RPC: apply_autocmds_group(): fix double-free</title>
<updated>2018-03-24T10:01:24+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2018-03-20T22:57:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=189c5abeba4fb508d879ebbf5fa07965c4092cf2'/>
<id>189c5abeba4fb508d879ebbf5fa07965c4092cf2</id>
<content type='text'>
During provider dispatch, eval_call_provider() saves global
state--including pointers, such as `autocmd_fname`--into
`provider_caller_scope` which is later restored by f_rpcrequest().

But `autocmd_fname` is special-cased in eval_vars(), for performance
(see Vim patch 7.2.021; this is also the singular purpose of the
`autocmd_fname_full` global. Yay!)

If eval_vars() frees `autocmd_fname` then its provider-RPC-scoped alias
becomes a problem.

Solution: Don't free autocmd_fname in eval_vars(), just copy into it.

closes #5245
closes #5617

Reference
------------------------------------------------------------------------

Vim patch 7.2.021
https://github.com/vim/vim/commit/f6dad43c98f47da1ff9d8c99b320fc3674f83c63
Problem:    When executing autocommands getting the full file name may be
            slow. (David Kotchan)
Solution:   Postpone calling FullName_save() until autocmd_fname is used.

vim_dev discussion (2008): "Problem with CursorMoved AutoCommand when
Editing Files on a Remote WIndows Share"
https://groups.google.com/d/msg/vim_dev/kj95weZa_eE/GTgj4aq5sIgJ
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During provider dispatch, eval_call_provider() saves global
state--including pointers, such as `autocmd_fname`--into
`provider_caller_scope` which is later restored by f_rpcrequest().

But `autocmd_fname` is special-cased in eval_vars(), for performance
(see Vim patch 7.2.021; this is also the singular purpose of the
`autocmd_fname_full` global. Yay!)

If eval_vars() frees `autocmd_fname` then its provider-RPC-scoped alias
becomes a problem.

Solution: Don't free autocmd_fname in eval_vars(), just copy into it.

closes #5245
closes #5617

Reference
------------------------------------------------------------------------

Vim patch 7.2.021
https://github.com/vim/vim/commit/f6dad43c98f47da1ff9d8c99b320fc3674f83c63
Problem:    When executing autocommands getting the full file name may be
            slow. (David Kotchan)
Solution:   Postpone calling FullName_save() until autocmd_fname is used.

vim_dev discussion (2008): "Problem with CursorMoved AutoCommand when
Editing Files on a Remote WIndows Share"
https://groups.google.com/d/msg/vim_dev/kj95weZa_eE/GTgj4aq5sIgJ
</pre>
</div>
</content>
</entry>
<entry>
<title>test/python: less-noisy Python skip-message</title>
<updated>2018-02-12T12:24:48+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2018-02-12T03:19:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0f1bc5ddceb50ca8f96d91aabf8157d9758af0cd'/>
<id>0f1bc5ddceb50ca8f96d91aabf8157d9758af0cd</id>
<content type='text'>
Developer can use :checkhealth to get more details, don't need to blast
the details in the skip-message every time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Developer can use :checkhealth to get more details, don't need to blast
the details in the skip-message every time.
</pre>
</div>
</content>
</entry>
<entry>
<title>provider/nodejs: check version in Detect()</title>
<updated>2017-12-17T15:09:18+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-12-17T14:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=103ff26c0ae76491c73a6c078b52f2e56af16fb8'/>
<id>103ff26c0ae76491c73a6c078b52f2e56af16fb8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>test: remove inspect test; set NODE_PATH in nodejs_spec.lua</title>
<updated>2017-12-17T15:09:18+00:00</updated>
<author>
<name>Jan Edmund Lazo</name>
<email>janedmundlazo@hotmail.com</email>
</author>
<published>2017-12-16T21:29:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=5b692124cc94c8e5edc0c767e6a71887754643cd'/>
<id>5b692124cc94c8e5edc0c767e6a71887754643cd</id>
<content type='text'>
provider#node#can_inspect will fail on some systems because it is common
to have old node versions in OS (any Linux OS that has LTS releases)
and CI (Travis, Appveyor).

NODE_PATH can be trivially set with VimL.
Build scripts don't have to set it for the nodejs tests to work.
NODE_PATH is optional to begin with and is used only as a workaround
for the neovim node.js host.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
provider#node#can_inspect will fail on some systems because it is common
to have old node versions in OS (any Linux OS that has LTS releases)
and CI (Travis, Appveyor).

NODE_PATH can be trivially set with VimL.
Build scripts don't have to set it for the nodejs tests to work.
NODE_PATH is optional to begin with and is used only as a workaround
for the neovim node.js host.
</pre>
</div>
</content>
</entry>
</feed>
