From 3c667d3e0fe41a900cee9477e190ae02d7ec0c23 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 23 Dec 2023 15:30:44 +0800 Subject: fix(mappings): fix mapset() not replacing map with backslash (#26719) --- test/functional/vimscript/map_functions_spec.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/functional/vimscript/map_functions_spec.lua') diff --git a/test/functional/vimscript/map_functions_spec.lua b/test/functional/vimscript/map_functions_spec.lua index acba5e9708..e3cc653e12 100644 --- a/test/functional/vimscript/map_functions_spec.lua +++ b/test/functional/vimscript/map_functions_spec.lua @@ -180,6 +180,16 @@ end) describe('mapset()', function() before_each(clear) + it('can restore mapping with backslash in lhs', function() + meths.set_keymap('n', '\\ab', 'a', {}) + eq('\nn \\ab a', exec_capture("nmap \\ab")) + local mapargs = funcs.maparg('\\ab', 'n', false, true) + meths.set_keymap('n', '\\ab', 'b', {}) + eq('\nn \\ab b', exec_capture("nmap \\ab")) + funcs.mapset('n', false, mapargs) + eq('\nn \\ab a', exec_capture("nmap \\ab")) + end) + it('can restore mapping description from the dict returned by maparg()', function() meths.set_keymap('n', 'lhs', 'rhs', {desc = 'map description'}) eq('\nn lhs rhs\n map description', exec_capture("nmap lhs")) -- cgit