diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2014-11-07 17:31:42 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2014-12-08 22:05:05 +0100 |
commit | 6ddbe6d9be885c5d1b7c54b104f0322911bd9fef (patch) | |
tree | 8058c7ddda464742e33883bfdef9b9f324d995ad | |
parent | d9639d3a9b512d2ef73018074fcf380d37f722a1 (diff) | |
download | rneovim-6ddbe6d9be885c5d1b7c54b104f0322911bd9fef.tar.gz rneovim-6ddbe6d9be885c5d1b7c54b104f0322911bd9fef.tar.bz2 rneovim-6ddbe6d9be885c5d1b7c54b104f0322911bd9fef.zip |
clipboard: fix `let @+ = ...` and add test
-rw-r--r-- | src/nvim/ops.c | 1 | ||||
-rw-r--r-- | test/functional/clipboard/clipboard_provider_spec.lua | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 1513eb2cbc..c20a017088 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -4825,6 +4825,7 @@ void write_reg_contents_ex(int name, if (!y_append && !must_append) free_yank_all(); str_to_reg(y_current, yank_type, str, len, block_len); + set_clipboard(name); /* ':let @" = "val"' should change the meaning of the "" register */ diff --git a/test/functional/clipboard/clipboard_provider_spec.lua b/test/functional/clipboard/clipboard_provider_spec.lua index 0f11615bdc..ccbb74e487 100644 --- a/test/functional/clipboard/clipboard_provider_spec.lua +++ b/test/functional/clipboard/clipboard_provider_spec.lua @@ -106,6 +106,18 @@ describe('clipboard usage', function() ]]) reset() + -- test let @+ (issue #1427) + execute("let @+ = 'some'") + execute("let @* = ' other stuff'") + eq({'some'}, eval("g:test_clip['+']")) + eq({' other stuff'}, eval("g:test_clip['*']")) + feed('"+p"*p') + expect('some other stuff') + execute("let @+ .= ' more'") + feed('dd"+p') + expect('some more') + reset() + -- the basic behavior of unnamed register should be the same -- even when handled by clipboard provider execute('set clipboard=unnamed') |