diff options
author | Andy Russell <arussell123@gmail.com> | 2017-07-16 14:46:38 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-07-17 17:20:37 +0200 |
commit | 26124b480028354d7d81d93c0e45ca516effdaa6 (patch) | |
tree | fcc40d60b8336bed7a9bebafe4ef65f372cef11a | |
parent | d0537961c1a7a207d94befa87f37f03bbd634880 (diff) | |
download | rneovim-26124b480028354d7d81d93c0e45ca516effdaa6.tar.gz rneovim-26124b480028354d7d81d93c0e45ca516effdaa6.tar.bz2 rneovim-26124b480028354d7d81d93c0e45ca516effdaa6.zip |
provider/clipboard.vim: fix logic issue #7042
Closes #7039
-rw-r--r-- | runtime/autoload/provider/clipboard.vim | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/runtime/autoload/provider/clipboard.vim b/runtime/autoload/provider/clipboard.vim index 47f4271091..86006497d9 100644 --- a/runtime/autoload/provider/clipboard.vim +++ b/runtime/autoload/provider/clipboard.vim @@ -16,6 +16,12 @@ function! s:selection.on_exit(jobid, data, event) abort endif endfunction +function! s:selection.on_stderr(jobid, data, event) abort + echohl WarningMsg + echomsg 'clipboard: error invoking '.get(self.argv, 0, '?').': '.join(a:data) + echohl None +endfunction + let s:selections = { '*': s:selection, '+': copy(s:selection)} function! s:try_cmd(cmd, ...) abort @@ -135,24 +141,17 @@ function! s:clipboard.set(lines, regtype, reg) abort end let selection.data = [a:lines, a:regtype] let argv = split(s:copy[a:reg], " ") + let selection.argv = argv let selection.detach = s:cache_enabled let selection.cwd = "/" - call extend(selection, { - \ 'on_stdout': function('s:set_errhandler'), - \ 'on_stderr': function('s:set_errhandler'), - \ }) let jobid = jobstart(argv, selection) if jobid > 0 call jobsend(jobid, a:lines) call jobclose(jobid, 'stdin') let selection.owner = jobid - endif -endfunction - -function! s:set_errhandler(job_id, data, event) abort - if a:job_id <= 0 + else echohl WarningMsg - echo 'clipboard: error when invoking provider: ' . join(a:data) + echomsg 'clipboard: failed to execute: '.(s:copy[a:reg]) echohl None endif endfunction |