aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_maparg.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-05-09 19:19:07 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-05-09 19:19:21 +0800
commitdb506d991d80eb12016564eb62b5f636e7c8c836 (patch)
tree7678419391e69208de255f1f5b28e8140c4c6a19 /src/nvim/testdir/test_maparg.vim
parent41ce7b07e2946bdde0061d7af5b4446efafa5089 (diff)
downloadrneovim-db506d991d80eb12016564eb62b5f636e7c8c836.tar.gz
rneovim-db506d991d80eb12016564eb62b5f636e7c8c836.tar.bz2
rneovim-db506d991d80eb12016564eb62b5f636e7c8c836.zip
vim-patch:8.2.4924: maparg() may return a string that cannot be reused
Problem: maparg() may return a string that cannot be reused. Solution: use msg_outtrans_special() instead of str2special(). (closes vim/vim#10384) https://github.com/vim/vim/commit/0519ce00394474055bd58c089ea90a19986443eb
Diffstat (limited to 'src/nvim/testdir/test_maparg.vim')
-rw-r--r--src/nvim/testdir/test_maparg.vim14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_maparg.vim b/src/nvim/testdir/test_maparg.vim
index cebde89996..f9429a8020 100644
--- a/src/nvim/testdir/test_maparg.vim
+++ b/src/nvim/testdir/test_maparg.vim
@@ -42,6 +42,20 @@ function Test_maparg()
map abc y<S-char-114>y
call assert_equal("yRy", maparg('abc'))
+ " character with K_SPECIAL byte
+ nmap abc …
+ call assert_equal('…', maparg('abc'))
+
+ " modified character with K_SPECIAL byte
+ nmap abc <M-…>
+ call assert_equal('<M-…>', maparg('abc'))
+
+ " illegal bytes
+ let str = ":\x7f:\x80:\x90:\xd0:"
+ exe 'nmap abc ' .. str
+ call assert_equal(str, maparg('abc'))
+ unlet str
+
omap { w
let d = maparg('{', 'o', 0, 1)
call assert_equal(['{', 'w', 'o'], [d.lhs, d.rhs, d.mode])