diff options
author | kevinhwang91 <kevin.hwang@live.com> | 2021-05-20 21:15:31 +0800 |
---|---|---|
committer | kevinhwang91 <kevin.hwang@live.com> | 2021-05-20 21:15:31 +0800 |
commit | d29148ffd812058cf7281607d1b6a9dd937d5d6c (patch) | |
tree | 8dc16d1b0949b0093a3fd71991ac3ed438fca4d6 /src/nvim/ex_docmd.c | |
parent | 2dc0f812710b19f8befcfa64ef9335cadc510296 (diff) | |
parent | 5d9c5601275abfa17396b3a80c7b958c48080807 (diff) | |
download | rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.tar.gz rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.tar.bz2 rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.zip |
Merge remote-tracking branch 'origin/master' into qftf
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r-- | src/nvim/ex_docmd.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index c557bb2438..c93f9fe6f2 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -1772,7 +1772,7 @@ static char_u * do_one_cmd(char_u **cmdlinep, // count, it's a buffer name. /// if ((ea.argt & EX_COUNT) && ascii_isdigit(*ea.arg) - && (!(ea.argt & EX_BUFNAME) || *(p = skipdigits(ea.arg)) == NUL + && (!(ea.argt & EX_BUFNAME) || *(p = skipdigits(ea.arg + 1)) == NUL || ascii_iswhite(*p))) { n = getdigits_long(&ea.arg, false, -1); ea.arg = skipwhite(ea.arg); @@ -2790,15 +2790,18 @@ static struct cmdmod { */ int modifier_len(char_u *cmd) { - int i, j; char_u *p = cmd; - if (ascii_isdigit(*cmd)) - p = skipwhite(skipdigits(cmd)); - for (i = 0; i < (int)ARRAY_SIZE(cmdmods); ++i) { - for (j = 0; p[j] != NUL; ++j) - if (p[j] != cmdmods[i].name[j]) + if (ascii_isdigit(*cmd)) { + p = skipwhite(skipdigits(cmd + 1)); + } + for (int i = 0; i < (int)ARRAY_SIZE(cmdmods); i++) { + int j; + for (j = 0; p[j] != NUL; j++) { + if (p[j] != cmdmods[i].name[j]) { break; + } + } if (j >= cmdmods[i].minlen && !ASCII_ISALPHA(p[j]) && (p == cmd || cmdmods[i].has_count)) { |