diff options
author | notomo <notomo.motono@gmail.com> | 2019-07-28 07:44:28 +0900 |
---|---|---|
committer | notomo <notomo.motono@gmail.com> | 2019-07-28 08:00:52 +0900 |
commit | 08c7e206cc3f45b4185a3ca33ce2c4616f699cca (patch) | |
tree | 8d3743e3c33f2eae1e7ef9d52cf129fb6a8168ab | |
parent | 7f5a113f659fc88c2e9566c3dcdc1c8f0beccc5a (diff) | |
download | rneovim-08c7e206cc3f45b4185a3ca33ce2c4616f699cca.tar.gz rneovim-08c7e206cc3f45b4185a3ca33ce2c4616f699cca.tar.bz2 rneovim-08c7e206cc3f45b4185a3ca33ce2c4616f699cca.zip |
vim-patch:8.1.1759: no mode char for terminal mapping from maparg()
Problem: No mode char for terminal mapping from maparg().
Solution: Check for TERMINAL mode. (closes vim/vim#4735)
https://github.com/vim/vim/commit/14371ed69778107654e39268d0d90982e53ad6e0
-rw-r--r-- | src/nvim/getchar.c | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_maparg.vim | 4 | ||||
-rw-r--r-- | test/functional/api/keymap_spec.lua | 5 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 28d37f3581..52f69343af 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -3304,6 +3304,8 @@ char *map_mode_to_chars(int mode) ga_append(&mapmode, 'n'); /* :nmap */ if (mode & OP_PENDING) ga_append(&mapmode, 'o'); /* :omap */ + if (mode & TERM_FOCUS) + ga_append(&mapmode, 't'); /* :tmap */ if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) ga_append(&mapmode, 'v'); /* :vmap */ else { diff --git a/src/nvim/testdir/test_maparg.vim b/src/nvim/testdir/test_maparg.vim index 0fb878b04a..ee16a22398 100644 --- a/src/nvim/testdir/test_maparg.vim +++ b/src/nvim/testdir/test_maparg.vim @@ -27,6 +27,10 @@ function Test_maparg() call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', \ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1}, \ maparg('foo', '', 0, 1)) + tmap baz foo + call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'baz', 'mode': 't', + \ 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'foo', 'buffer': 0}, + \ maparg('baz', 't', 0, 1)) map abc x<char-114>x call assert_equal("xrx", maparg('abc')) diff --git a/test/functional/api/keymap_spec.lua b/test/functional/api/keymap_spec.lua index b3f6bb7895..73c55a342c 100644 --- a/test/functional/api/keymap_spec.lua +++ b/test/functional/api/keymap_spec.lua @@ -346,11 +346,6 @@ describe('nvim_set_keymap, nvim_del_keymap', function() to_return.sid = not opts.sid and 0 or opts.sid to_return.buffer = not opts.buffer and 0 or opts.buffer - -- mode 't' doesn't print when calling maparg - if mode == 't' then - to_return.mode = '' - end - return to_return end |