mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 22:18:33 +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:
@@ -1707,7 +1707,7 @@ void ex_luado(exarg_T *const eap)
|
||||
break;
|
||||
}
|
||||
lua_pushvalue(lstate, -1);
|
||||
const char *const old_line = ml_get_buf(curbuf, l, false);
|
||||
const char *const old_line = ml_get_buf(curbuf, l);
|
||||
// Get length of old_line here as calling Lua code may free it.
|
||||
const size_t old_line_len = strlen(old_line);
|
||||
lua_pushstring(lstate, old_line);
|
||||
|
@@ -105,7 +105,7 @@ static int regex_match_line(lua_State *lstate)
|
||||
return luaL_error(lstate, "invalid row");
|
||||
}
|
||||
|
||||
char *line = ml_get_buf(buf, rownr + 1, false);
|
||||
char *line = ml_get_buf(buf, rownr + 1);
|
||||
size_t len = strlen(line);
|
||||
|
||||
if (start < 0 || (size_t)start > len) {
|
||||
|
@@ -365,7 +365,7 @@ static const char *input_cb(void *payload, uint32_t byte_index, TSPoint position
|
||||
*bytes_read = 0;
|
||||
return "";
|
||||
}
|
||||
char *line = ml_get_buf(bp, (linenr_T)position.row + 1, false);
|
||||
char *line = ml_get_buf(bp, (linenr_T)position.row + 1);
|
||||
size_t len = strlen(line);
|
||||
if (position.column > len) {
|
||||
*bytes_read = 0;
|
||||
|
Reference in New Issue
Block a user