aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mark.c
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-08-03 00:08:17 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-08-03 00:08:17 -0600
commit9449e1b8d273ff78eb894c588110ffa0c17d6ee3 (patch)
tree9e4470c33bd4187d9f42f0b2c4aaa995310c5be8 /src/nvim/mark.c
parent308e1940dcd64aa6c344c403d4f9e0dda58d9c5c (diff)
parentb8dcbcc732baf84fc48d6b272c3ade0bcb129b3b (diff)
downloadrneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.tar.gz
rneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.tar.bz2
rneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.zip
Merge remote-tracking branch 'upstream/master' into rahm
Diffstat (limited to 'src/nvim/mark.c')
-rw-r--r--src/nvim/mark.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/nvim/mark.c b/src/nvim/mark.c
index 66855c66b5..1fe3327b29 100644
--- a/src/nvim/mark.c
+++ b/src/nvim/mark.c
@@ -339,11 +339,11 @@ fmark_T *mark_get(buf_T *buf, win_T *win, fmark_T *fmp, MarkGet flag, int name)
fmark_T *fm = NULL;
if (ASCII_ISUPPER(name) || ascii_isdigit(name)) {
// Global marks
- xfmark_T *xfm = mark_get_global(!(flag & kMarkAllNoResolve), name);
+ xfmark_T *xfm = mark_get_global(flag != kMarkAllNoResolve, name);
fm = &xfm->fmark;
- // Only wanted marks belonging to the buffer
- if ((flag & kMarkBufLocal) && xfm->fmark.fnum != buf->handle) {
- return NULL;
+ if (flag == kMarkBufLocal && xfm->fmark.fnum != buf->handle) {
+ // Only wanted marks belonging to the buffer
+ return pos_to_mark(buf, NULL, (pos_T){ .lnum = 0 });
}
} else if (name > 0 && name < NMARK_LOCAL_MAX) {
// Local Marks
@@ -491,7 +491,7 @@ fmark_T *mark_get_visual(buf_T *buf, int name)
mark = pos_to_mark(buf, NULL, endp);
}
- if (mark != NULL && buf->b_visual.vi_mode == 'V') {
+ if (buf->b_visual.vi_mode == 'V') {
if (name == '<') {
mark->mark.col = 0;
} else {
@@ -508,11 +508,12 @@ fmark_T *mark_get_visual(buf_T *buf, int name)
/// Pass an fmp if multiple c
/// @note view fields are set to 0.
/// @param buf for fmark->fnum.
-/// @param pos for fmrak->mark.
+/// @param pos for fmark->mark.
/// @param fmp pointer to save the mark.
///
/// @return[static] Mark with the given information.
fmark_T *pos_to_mark(buf_T *buf, fmark_T *fmp, pos_T pos)
+ FUNC_ATTR_NONNULL_RET
{
static fmark_T fms = INIT_FMARK;
fmark_T *fm = fmp == NULL ? &fms : fmp;