diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-07-06 19:01:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-06 19:01:44 +0800 |
commit | 9ced05413474a7c8b8a8b2f36a27db29a37dfaf6 (patch) | |
tree | 1fa4d60d0b0d134a2443f10f92265c17215e524a /src/nvim/ex_docmd.c | |
parent | c68f1d7263cd5296e723d8cfee914c72f58138c3 (diff) | |
download | rneovim-9ced05413474a7c8b8a8b2f36a27db29a37dfaf6.tar.gz rneovim-9ced05413474a7c8b8a8b2f36a27db29a37dfaf6.tar.bz2 rneovim-9ced05413474a7c8b8a8b2f36a27db29a37dfaf6.zip |
fix(mark): fix unexpected cursor movements (#19253)
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r-- | src/nvim/ex_docmd.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 43d57cb278..18490bd60c 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -4345,13 +4345,12 @@ static linenr_T get_address(exarg_T *eap, char **ptr, cmd_addr_T addr_type, int // used by itself: ":'M". MarkGet flag = to_other_file && cmd[1] == NUL ? kMarkAll : kMarkBufLocal; fmark_T *fm = mark_get(curbuf, curwin, NULL, flag, *cmd); - MarkMoveRes move_res = mark_move_to(fm, kMarkBeginLine); cmd++; - // Switched buffer - if (move_res & kMarkSwitchedBuf) { + if (fm != NULL && fm->fnum != curbuf->handle) { + // Jumped to another file. lnum = curwin->w_cursor.lnum; } else { - if (fm == NULL) { + if (!mark_check(fm)) { cmd = NULL; goto error; } |