<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/clipboard, branch master</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>test: cleanup</title>
<updated>2019-05-05T21:01:35+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-05-02T19:55:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=4b65a0059aff80802783824ab3d973543a83a7c6'/>
<id>4b65a0059aff80802783824ab3d973543a83a7c6</id>
<content type='text'>
Avoid hyper-granularity. Don't need subdirectories for every little
thing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid hyper-granularity. Don't need subdirectories for every little
thing.
</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: setreg("*") with clipboard=unnamed #9954</title>
<updated>2019-04-28T19:06:24+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-04-28T19:06:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8aca932aa0ace29a11b2036f882c961b33ab5286'/>
<id>8aca932aa0ace29a11b2036f882c961b33ab5286</id>
<content type='text'>
Helped-by: Björn Linse &lt;bjorn.linse@gmail.com&gt;
fix #5646</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Helped-by: Björn Linse &lt;bjorn.linse@gmail.com&gt;
fix #5646</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: Support custom VimL functions #9304</title>
<updated>2018-12-02T23:07:08+00:00</updated>
<author>
<name>Rui Abreu Ferreira</name>
<email>raf-ep@gmx.com</email>
</author>
<published>2018-12-01T15:30:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=07ad5d71ab97a84dc9c59b3507bf7898040d24cf'/>
<id>07ad5d71ab97a84dc9c59b3507bf7898040d24cf</id>
<content type='text'>
Up to now g:clipboard["copy"] only supported string values invoked as
system commands.

This commit enables the use of VimL functions instead. The function
signatures are the same as in provider/clipboard.vim. A clipboard
provider is expected to store and return a list of lines (i.e. the text)
and a register type (as seen in setreg()).

cache_enabled is ignored if "copy" is provided by a VimL function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Up to now g:clipboard["copy"] only supported string values invoked as
system commands.

This commit enables the use of VimL functions instead. The function
signatures are the same as in provider/clipboard.vim. A clipboard
provider is expected to store and return a list of lines (i.e. the text)
and a register type (as seen in setreg()).

cache_enabled is ignored if "copy" is provided by a VimL function.
</pre>
</div>
</content>
</entry>
<entry>
<title>msg: do not scroll entire screen (#8088)</title>
<updated>2018-03-31T09:12:27+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2018-03-31T09:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=98e71123900fbdf26a16a43297a1f58118cde41b'/>
<id>98e71123900fbdf26a16a43297a1f58118cde41b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: replace ":CheckHealth" with ":checkhealth"</title>
<updated>2017-10-16T23:51:21+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-10-15T18:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=d214df4e9b23b5f2d9f7e6c78624881a7d298cdb'/>
<id>d214df4e9b23b5f2d9f7e6c78624881a7d298cdb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ops: save and restore clipboard batch status when entering cmdline window</title>
<updated>2017-10-15T14:36:00+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2017-10-10T16:42:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=4b3e51d4ee3018cf59d81578e2320b79fb614652'/>
<id>4b3e51d4ee3018cf59d81578e2320b79fb614652</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: disallow recursion; show hint only once (#7203)</title>
<updated>2017-08-22T18:31:54+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-08-22T18:31:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=85f3084e21e112a34d891d90cfaf37a7de726866'/>
<id>85f3084e21e112a34d891d90cfaf37a7de726866</id>
<content type='text'>
- Show hint only once per session.
- provider#clipboard#Call(): prevent recursion
- provider#clear_stderr(): use has_key(), because :silent! is still
  captured by :redir.

closes #7184</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Show hint only once per session.
- provider#clipboard#Call(): prevent recursion
- provider#clear_stderr(): use has_key(), because :silent! is still
  captured by :redir.

closes #7184</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: test g:clipboard validation, fix a bug</title>
<updated>2017-08-20T20:17:03+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-08-20T20:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=88165a798e7459fecf815a13c853949923d4b278'/>
<id>88165a798e7459fecf815a13c853949923d4b278</id>
<content type='text'>
Also fix `:help foo` highlighting in health.vim
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also fix `:help foo` highlighting in health.vim
</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: remove start_batch_changes() in redir_write()</title>
<updated>2017-08-20T18:01:22+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-08-20T16:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=cc7e344f8357d07b1df17df0b322152d5c50739b'/>
<id>cc7e344f8357d07b1df17df0b322152d5c50739b</id>
<content type='text'>
start_batch_changes() doesn't avoid invoking the clipboard
once-per-line, because the loop is actually in ex_echo(), which calls
redir_write() for each message. But we've already entered
start_batch_changes() by then, so that was never the problem.

    redir_write at /home/vagrant/old.neovim/build/../src/nvim/message.c:2523
    msg_puts_attr_len at /home/vagrant/old.neovim/build/../src/nvim/message.c:1600
    msg_outtrans_len_attr at /home/vagrant/old.neovim/build/../src/nvim/message.c:1221
    ex_echo at /home/vagrant/old.neovim/build/../src/nvim/eval.c:19433
    do_one_cmd at /home/vagrant/old.neovim/build/../src/nvim/ex_docmd.c:2242

Trying to defer _explicit_ clipboard updates is difficult.
    :redir @+ | silent echo system('cat foo') | redir END
is essentially equivalent to:
    for l in readfile('foo')
        let @+ .= l
    endfor
We cannot make judgements about when to ignore a script's bad decisions.
start_batch_changes() only works around the case of clipboard=unnamed,
i.e. _implicit_ clipboard updates (`:g/foo/d`).  Not explicit
assignment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
start_batch_changes() doesn't avoid invoking the clipboard
once-per-line, because the loop is actually in ex_echo(), which calls
redir_write() for each message. But we've already entered
start_batch_changes() by then, so that was never the problem.

    redir_write at /home/vagrant/old.neovim/build/../src/nvim/message.c:2523
    msg_puts_attr_len at /home/vagrant/old.neovim/build/../src/nvim/message.c:1600
    msg_outtrans_len_attr at /home/vagrant/old.neovim/build/../src/nvim/message.c:1221
    ex_echo at /home/vagrant/old.neovim/build/../src/nvim/eval.c:19433
    do_one_cmd at /home/vagrant/old.neovim/build/../src/nvim/ex_docmd.c:2242

Trying to defer _explicit_ clipboard updates is difficult.
    :redir @+ | silent echo system('cat foo') | redir END
is essentially equivalent to:
    for l in readfile('foo')
        let @+ .= l
    endfor
We cannot make judgements about when to ignore a script's bad decisions.
start_batch_changes() only works around the case of clipboard=unnamed,
i.e. _implicit_ clipboard updates (`:g/foo/d`).  Not explicit
assignment.
</pre>
</div>
</content>
</entry>
<entry>
<title>clipboard: avoid error flood during :redir</title>
<updated>2017-08-20T17:49:42+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2017-08-20T00:13:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9882e25dc44f1165e1edc8b3898356e493b6b3fe'/>
<id>9882e25dc44f1165e1edc8b3898356e493b6b3fe</id>
<content type='text'>
redir_write():
- This is a "batch" operation which was not yet covered by
  start_batch_changes()

adjust_clipboard_name():
- msg() and friends during :redir will, of course, cause redir_write()
  to try to capture that message, which causes recursion.
- EMSG() here is trouble: if it interrupts :redir it is a mess.
  Rather than deal with the mess, show a non-error message.

closes #7182
closes #7184
closes #7183
ref #6048
ref #7032
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
redir_write():
- This is a "batch" operation which was not yet covered by
  start_batch_changes()

adjust_clipboard_name():
- msg() and friends during :redir will, of course, cause redir_write()
  to try to capture that message, which causes recursion.
- EMSG() here is trouble: if it interrupts :redir it is a mess.
  Rather than deal with the mess, show a non-error message.

closes #7182
closes #7184
closes #7183
ref #6048
ref #7032
</pre>
</div>
</content>
</entry>
</feed>
