mirror of
https://github.com/neovim/neovim.git
synced 2025-10-05 01:16:31 +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:
@@ -98,7 +98,7 @@ int plines_win_nofill(win_T *wp, linenr_T lnum, bool limit_winheight)
|
||||
/// Does not care about folding, 'wrap' or filler lines.
|
||||
int plines_win_nofold(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
char *s = ml_get_buf(wp->w_buffer, lnum, false);
|
||||
char *s = ml_get_buf(wp->w_buffer, lnum);
|
||||
chartabsize_T cts;
|
||||
init_chartabsize_arg(&cts, wp, lnum, 0, s, s);
|
||||
if (*s == NUL && !cts.cts_has_virt_text) {
|
||||
@@ -143,7 +143,7 @@ int plines_win_col(win_T *wp, linenr_T lnum, long column)
|
||||
return lines + 1;
|
||||
}
|
||||
|
||||
char *line = ml_get_buf(wp->w_buffer, lnum, false);
|
||||
char *line = ml_get_buf(wp->w_buffer, lnum);
|
||||
|
||||
colnr_T col = 0;
|
||||
chartabsize_T cts;
|
||||
@@ -292,7 +292,7 @@ unsigned win_linetabsize(win_T *wp, linenr_T lnum, char *line, colnr_T len)
|
||||
/// screen, taking into account the size of a tab and inline virtual text.
|
||||
unsigned linetabsize(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
return win_linetabsize(wp, lnum, ml_get_buf(wp->w_buffer, lnum, false), (colnr_T)MAXCOL);
|
||||
return win_linetabsize(wp, lnum, ml_get_buf(wp->w_buffer, lnum), (colnr_T)MAXCOL);
|
||||
}
|
||||
|
||||
void win_linetabsize_cts(chartabsize_T *cts, colnr_T len)
|
||||
|
Reference in New Issue
Block a user