aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-07-06 19:01:44 +0800
committerGitHub <noreply@github.com>2022-07-06 19:01:44 +0800
commit9ced05413474a7c8b8a8b2f36a27db29a37dfaf6 (patch)
tree1fa4d60d0b0d134a2443f10f92265c17215e524a /src/nvim/ex_docmd.c
parentc68f1d7263cd5296e723d8cfee914c72f58138c3 (diff)
downloadrneovim-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.c7
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;
}