Mercurial > vim
diff src/typval.c @ 28668:53c608c7ea9e v8.2.4858
patch 8.2.4858: K_SPECIAL may be escaped twice
Commit: https://github.com/vim/vim/commit/db08887f24d20be11d184ce321bc0890613e42bd
Author: zeertzjq <zeertzjq@outlook.com>
Date: Mon May 2 22:53:45 2022 +0100
patch 8.2.4858: K_SPECIAL may be escaped twice
Problem: K_SPECIAL may be escaped twice.
Solution: Avoid double escaping. (closes https://github.com/vim/vim/issues/10340)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 03 May 2022 00:00:04 +0200 |
parents | 662d2d5db9a6 |
children | 38f7a132bba3 |
line wrap: on
line diff
--- a/src/typval.c +++ b/src/typval.c @@ -2069,11 +2069,10 @@ eval_string(char_u **arg, typval_T *rett { ++p; // A "\<x>" form occupies at least 4 characters, and produces up - // to 21 characters (3 * 6 for the char and 3 for a modifier): - // reserve space for 18 extra. - // Each byte in the char could be encoded as K_SPECIAL K_EXTRA x. + // to 9 characters (6 for the char and 3 for a modifier): + // reserve space for 5 extra. if (*p == '<') - extra += 18; + extra += 5; } } @@ -2168,7 +2167,7 @@ eval_string(char_u **arg, typval_T *rett if (p[1] != '*') flags |= FSK_SIMPLIFY; - extra = trans_special(&p, end, flags, NULL); + extra = trans_special(&p, end, flags, FALSE, NULL); if (extra != 0) { end += extra;