diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-04-29 17:13:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-29 17:13:28 +0800 |
commit | 35a7b0f9b991e884eae81aa7393f9701b7b7b85e (patch) | |
tree | 127035623b99f2088be616fd316e162ede23e973 /src/nvim/viml/parser/expressions.c | |
parent | c671822d4da5f8b772fff7acc3eae16df714e68f (diff) | |
parent | 3601cef1377937f01347b20a8c6c303f5f429f51 (diff) | |
download | rneovim-35a7b0f9b991e884eae81aa7393f9701b7b7b85e.tar.gz rneovim-35a7b0f9b991e884eae81aa7393f9701b7b7b85e.tar.bz2 rneovim-35a7b0f9b991e884eae81aa7393f9701b7b7b85e.zip |
Merge pull request #17932 from zeertzjq/vim-8.1.2145
vim-patch:8.1.{2145,2159,2165,2167,2333,2346,2350},8.2.{0839,0851,0855,0867,0916,0919,2084,2728,3595,4504,4819,4824,4827,4828,4829,4833,4837}
Diffstat (limited to 'src/nvim/viml/parser/expressions.c')
-rw-r--r-- | src/nvim/viml/parser/expressions.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c index b8b0a38f44..b0fbc586b2 100644 --- a/src/nvim/viml/parser/expressions.c +++ b/src/nvim/viml/parser/expressions.c @@ -1817,9 +1817,13 @@ static void parse_quoted_string(ParserState *const pstate, ExprASTNode *const no } // Special key, e.g.: "\<C-W>" case '<': { - const size_t special_len = ( - trans_special((const char_u **)&p, (size_t)(e - p), - (char_u *)v_p, true, true)); + int flags = FSK_KEYCODE | FSK_IN_STRING; + + if (p[1] != '*') { + flags |= FSK_SIMPLIFY; + } + const size_t special_len = trans_special((const char_u **)&p, (size_t)(e - p), + (char_u *)v_p, flags, NULL); if (special_len != 0) { v_p += special_len; } else { |