mirror of
https://github.com/neovim/neovim.git
synced 2025-10-15 22:36:09 +00:00
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.
This commit is contained in:
@@ -463,7 +463,7 @@ static void next_search_hl(win_T *win, match_T *search_hl, match_T *shl, linenr_
|
||||
char *ml;
|
||||
|
||||
matchcol = shl->rm.startpos[0].col;
|
||||
ml = ml_get_buf(shl->buf, lnum, false) + matchcol;
|
||||
ml = ml_get_buf(shl->buf, lnum) + matchcol;
|
||||
if (*ml == NUL) {
|
||||
matchcol++;
|
||||
shl->lnum = 0;
|
||||
@@ -630,7 +630,7 @@ bool prepare_search_hl_line(win_T *wp, linenr_T lnum, colnr_T mincol, char **lin
|
||||
|
||||
// Need to get the line again, a multi-line regexp may have made it
|
||||
// invalid.
|
||||
*line = ml_get_buf(wp->w_buffer, lnum, false);
|
||||
*line = ml_get_buf(wp->w_buffer, lnum);
|
||||
|
||||
if (shl->lnum != 0 && shl->lnum <= lnum) {
|
||||
if (shl->lnum == lnum) {
|
||||
@@ -740,7 +740,7 @@ int update_search_hl(win_T *wp, linenr_T lnum, colnr_T col, char **line, match_T
|
||||
|
||||
// Need to get the line again, a multi-line regexp
|
||||
// may have made it invalid.
|
||||
*line = ml_get_buf(wp->w_buffer, lnum, false);
|
||||
*line = ml_get_buf(wp->w_buffer, lnum);
|
||||
|
||||
if (shl->lnum == lnum) {
|
||||
shl->startcol = shl->rm.startpos[0].col;
|
||||
|
Reference in New Issue
Block a user