diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/mark.c | 2 | ||||
| -rw-r--r-- | src/nvim/mark_defs.h | 3 | 
2 files changed, 4 insertions, 1 deletions
| diff --git a/src/nvim/mark.c b/src/nvim/mark.c index 2402ea3035..0bf5875269 100644 --- a/src/nvim/mark.c +++ b/src/nvim/mark.c @@ -607,6 +607,8 @@ void mark_view_restore(fmark_T *fm)  {    if (fm != NULL && fm->view.topline_offset >= 0) {      linenr_T topline = fm->mark.lnum - fm->view.topline_offset; +    // If the mark does not have a view, topline_offset is MAXLNUM, +    // and this check can prevent restoring mark view in that case.      if (topline >= 1) {        set_topline(curwin, topline);      } diff --git a/src/nvim/mark_defs.h b/src/nvim/mark_defs.h index 16d85a6e51..a78056c5f9 100644 --- a/src/nvim/mark_defs.h +++ b/src/nvim/mark_defs.h @@ -64,9 +64,10 @@ typedef enum {  /// Represents view in which the mark was created  typedef struct fmarkv {    linenr_T topline_offset;  ///< Amount of lines from the mark lnum to the top of the window. +                            ///< Use MAXLNUM to indicate that the mark does not have a view.  } fmarkv_T; -#define INIT_FMARKV { 0 } +#define INIT_FMARKV { MAXLNUM }  /// Structure defining single local mark  typedef struct filemark { | 
