mirror of
https://github.com/neovim/neovim.git
synced 2025-09-19 17:58:18 +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:
@@ -761,7 +761,7 @@ static int qf_get_next_buf_line(qfstate_T *state)
|
||||
if (state->buflnum > state->lnumlast) {
|
||||
return QF_END_OF_INPUT;
|
||||
}
|
||||
char *p_buf = ml_get_buf(state->buf, state->buflnum, false);
|
||||
char *p_buf = ml_get_buf(state->buf, state->buflnum);
|
||||
state->buflnum += 1;
|
||||
|
||||
size_t len = strlen(p_buf);
|
||||
@@ -5245,7 +5245,7 @@ static bool vgr_match_buflines(qf_list_T *qfl, char *fname, buf_T *buf, char *sp
|
||||
fname,
|
||||
NULL,
|
||||
duplicate_name ? 0 : buf->b_fnum,
|
||||
ml_get_buf(buf, regmatch->startpos[0].lnum + lnum, false),
|
||||
ml_get_buf(buf, regmatch->startpos[0].lnum + lnum),
|
||||
regmatch->startpos[0].lnum + lnum,
|
||||
regmatch->endpos[0].lnum + lnum,
|
||||
regmatch->startpos[0].col + 1,
|
||||
@@ -5268,12 +5268,12 @@ static bool vgr_match_buflines(qf_list_T *qfl, char *fname, buf_T *buf, char *sp
|
||||
break;
|
||||
}
|
||||
col = regmatch->endpos[0].col + (col == regmatch->endpos[0].col);
|
||||
if (col > (colnr_T)strlen(ml_get_buf(buf, lnum, false))) {
|
||||
if (col > (colnr_T)strlen(ml_get_buf(buf, lnum))) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
char *const str = ml_get_buf(buf, lnum, false);
|
||||
char *const str = ml_get_buf(buf, lnum);
|
||||
int score;
|
||||
uint32_t matches[MAX_FUZZY_MATCHES];
|
||||
const size_t sz = sizeof(matches) / sizeof(matches[0]);
|
||||
|
Reference in New Issue
Block a user