diff options
Diffstat (limited to 'src/nvim/fold.c')
-rw-r--r-- | src/nvim/fold.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/fold.c b/src/nvim/fold.c index ba84f6aaa5..ac3cf959c8 100644 --- a/src/nvim/fold.c +++ b/src/nvim/fold.c @@ -2112,8 +2112,9 @@ static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, && flp->lvl > 0) { (void)foldFind(gap, startlnum - 1, &fp); if (fp >= ((fold_T *)gap->ga_data) + gap->ga_len - || fp->fd_top >= startlnum) + || fp->fd_top >= startlnum) { fp = NULL; + } } /* @@ -2168,12 +2169,14 @@ static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, } if (lvl < level + i) { (void)foldFind(&fp->fd_nested, flp->lnum - fp->fd_top, &fp2); - if (fp2 != NULL) + if (fp2 != NULL) { bot = fp2->fd_top + fp2->fd_len - 1 + fp->fd_top; - } else if (fp->fd_top + fp->fd_len <= flp->lnum && lvl >= level) - finish = TRUE; - else + } + } else if (fp->fd_top + fp->fd_len <= flp->lnum && lvl >= level) { + finish = true; + } else { break; + } } /* At the start of the first nested fold and at the end of the current |