<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/provider/ruby_spec.lua, branch fix_repeatcmdline</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>test: don't unnecessarily specify win/buf for `nvim_(get|set)_option_value`</title>
<updated>2023-05-22T07:02:07+00:00</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@proton.me</email>
</author>
<published>2023-05-22T06:47:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=576dddb46168e81aa0f78c28816082c662dedea1'/>
<id>576dddb46168e81aa0f78c28816082c662dedea1</id>
<content type='text'>
`nvim_(get|set)_option_value` pick the current buffer / window by default for buffer-local/window-local (but not global-local) options. So specifying `buf = 0` or `win = 0` in opts is unnecessary for those options. This PR removes those to reduce code clutter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`nvim_(get|set)_option_value` pick the current buffer / window by default for buffer-local/window-local (but not global-local) options. So specifying `buf = 0` or `win = 0` in opts is unnecessary for those options. This PR removes those to reduce code clutter.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(options): deprecate nvim[_buf|_win]_[gs]et_option</title>
<updated>2023-05-21T09:14:01+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2022-12-19T16:37:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1fe1bb084d0099fc4f9bfdc11189485d0f74b75a'/>
<id>1fe1bb084d0099fc4f9bfdc11189485d0f74b75a</id>
<content type='text'>
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: famiu &lt;famiuhaque@protonmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: famiu &lt;famiuhaque@protonmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(tests): use assert_alive() #15546</title>
<updated>2021-09-01T16:42:53+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-09-01T16:42:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6751d6254b35d216a86817cd414d5d06e3ff641d'/>
<id>6751d6254b35d216a86817cd414d5d06e3ff641d</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.1056: no eval function for Ruby</title>
<updated>2020-10-21T17:20:21+00:00</updated>
<author>
<name>Alex Genco</name>
<email>alexgenco@gmail.com</email>
</author>
<published>2020-10-17T14:36:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ed0a70087a15621e7f45567feef1900f348c0916'/>
<id>ed0a70087a15621e7f45567feef1900f348c0916</id>
<content type='text'>
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes vim/vim#4152)
https://github.com/vim/vim/commit/e99be0e6d28fad96efd2b2be23fa38e7559e80e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes vim/vim#4152)
https://github.com/vim/vim/commit/e99be0e6d28fad96efd2b2be23fa38e7559e80e1
</pre>
</div>
</content>
</entry>
<entry>
<title>system(), jobstart(): raise error on non-executable #11234</title>
<updated>2019-12-24T06:53:56+00:00</updated>
<author>
<name>Daniel Hahler</name>
<email>git@thequod.de</email>
</author>
<published>2019-12-24T06:53:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b3686b1597ea202de464df72a88fb5c76fd1b814'/>
<id>b3686b1597ea202de464df72a88fb5c76fd1b814</id>
<content type='text'>
* tv_to_argv: error when cmd is not executable
  Callers always assume that emsg was emitted:
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202
* test/functional/provider: display reason from missing_provider
* provider#node#Detect: skip / handle non-existing node executable
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tv_to_argv: error when cmd is not executable
  Callers always assume that emsg was emitted:
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202
* test/functional/provider: display reason from missing_provider
* provider#node#Detect: skip / handle non-existing node executable
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Eliminate expect_err</title>
<updated>2019-09-07T00:19:07+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-09-07T00:17:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=7e1c9598617a140e40a0a22676c0631294617246'/>
<id>7e1c9598617a140e40a0a22676c0631294617246</id>
<content type='text'>
Eliminate `expect_err` in favor of `pcall_err` + `eq` or `matches`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate `expect_err` in favor of `pcall_err` + `eq` or `matches`.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: use runtime from build for doc/tags with :help (#10479)</title>
<updated>2019-08-28T20:47:54+00:00</updated>
<author>
<name>Daniel Hahler</name>
<email>git@thequod.de</email>
</author>
<published>2019-08-28T20:47:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c'/>
<id>6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c</id>
<content type='text'>
This is better practice in general, and allows to remove the "helptags
ALL" hacks.

Ref: https://github.com/neovim/neovim/issues/8824
Ref: https://github.com/neovim/neovim/commit/f1b67c3453c

* Makefile: fix dependencies with regard to helptags

- use the file as the main target to avoid unnecessary triggering
- use "make oldtest" on Travis to ensure it gets built</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is better practice in general, and allows to remove the "helptags
ALL" hacks.

Ref: https://github.com/neovim/neovim/issues/8824
Ref: https://github.com/neovim/neovim/commit/f1b67c3453c

* Makefile: fix dependencies with regard to helptags

- use the file as the main target to avoid unnecessary triggering
- use "make oldtest" on Travis to ensure it gets built</pre>
</div>
</content>
</entry>
<entry>
<title>provider: improve error message if provider is missing (#9487)</title>
<updated>2019-01-11T23:52:12+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='http://git.josher.dev/rneovim.git/commit/?id=db3c797c6b3ce9c4f0f50ae22acde0c1aac60725'/>
<id>db3c797c6b3ce9c4f0f50ae22acde0c1aac60725</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='http://git.josher.dev/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/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='http://git.josher.dev/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>
</feed>
