diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-08-24 15:14:23 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-08-24 22:40:56 +0200 |
commit | cefd774fac76b91f5368833555818c80c992c3b1 (patch) | |
tree | 146d6cb8fde01d28c5b03b9640f9e2515c4a89b7 /src/nvim/fold.c | |
parent | daf7abbc4238dc269e22dd431bc4b1627ef9b6a1 (diff) | |
download | rneovim-cefd774fac76b91f5368833555818c80c992c3b1.tar.gz rneovim-cefd774fac76b91f5368833555818c80c992c3b1.tar.bz2 rneovim-cefd774fac76b91f5368833555818c80c992c3b1.zip |
refactor(memline): distinguish mutating uses of ml_get_buf()
ml_get_buf() takes a third parameters to indicate whether the
caller wants to mutate the memline data in place. However
the vast majority of the call sites is using this function
just to specify a buffer but without any mutation. This makes
it harder to grep for the places which actually perform mutation.
Solution: Remove the bool param from ml_get_buf(). it now works
like ml_get() except for a non-current buffer. Add a new
ml_get_buf_mut() function for the mutating use-case, which can
be grepped along with the other ml_replace() etc functions which
can modify the memline.
Diffstat (limited to 'src/nvim/fold.c')
-rw-r--r-- | src/nvim/fold.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/fold.c b/src/nvim/fold.c index bdf2e26ac6..595136d590 100644 --- a/src/nvim/fold.c +++ b/src/nvim/fold.c @@ -1601,7 +1601,7 @@ static void foldAddMarker(buf_T *buf, pos_T pos, const char *marker, size_t mark linenr_T lnum = pos.lnum; // Allocate a new line: old-line + 'cms'-start + marker + 'cms'-end - char *line = ml_get_buf(buf, lnum, false); + char *line = ml_get_buf(buf, lnum); size_t line_len = strlen(line); size_t added = 0; @@ -1661,7 +1661,7 @@ static void foldDelMarker(buf_T *buf, linenr_T lnum, char *marker, size_t marker } char *cms = buf->b_p_cms; - char *line = ml_get_buf(buf, lnum, false); + char *line = ml_get_buf(buf, lnum); for (char *p = line; *p != NUL; p++) { if (strncmp(p, marker, markerlen) != 0) { continue; @@ -2874,7 +2874,7 @@ static void foldlevelIndent(fline_T *flp) linenr_T lnum = flp->lnum + flp->off; buf_T *buf = flp->wp->w_buffer; - char *s = skipwhite(ml_get_buf(buf, lnum, false)); + char *s = skipwhite(ml_get_buf(buf, lnum)); // empty line or lines starting with a character in 'foldignore': level // depends on surrounding lines @@ -3036,7 +3036,7 @@ static void foldlevelMarker(fline_T *flp) flp->start = 0; flp->lvl_next = flp->lvl; - char *s = ml_get_buf(flp->wp->w_buffer, flp->lnum + flp->off, false); + char *s = ml_get_buf(flp->wp->w_buffer, flp->lnum + flp->off); while (*s) { if (*s == cstart && strncmp(s + 1, startmarker, foldstartmarkerlen - 1) == 0) { |