patch 8.2.4615: mapping with escaped bar does not work in :def function
Problem: Mapping with escaped bar does not work in :def function. (Sergey
Vlasov)
Solution: Do not remove the backslash. (closes #10002)
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index b15028a..38ee7f2 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1178,8 +1178,19 @@
nnoremap <F3> :echo 'hit F3 #'<CR>
assert_equal(":echo 'hit F3 #'<CR>", maparg("<F3>", "n"))
END
- v9.CheckDefSuccess(lines)
- v9.CheckScriptSuccess(['vim9script'] + lines)
+ v9.CheckDefAndScriptSuccess(lines)
+
+ # backslash before bar is not removed
+ lines =<< trim END
+ vim9script
+
+ def Init()
+ noremap <buffer> <F5> <ScriptCmd>MyFunc('a') \| MyFunc('b')<CR>
+ enddef
+ Init()
+ unmap <buffer> <F5>
+ END
+ v9.CheckScriptSuccess(lines)
enddef
def Test_normal_command()