refactor(api): redundant ml_mfp check #26059

buf_ensure_loaded already checks `(buf->b_ml.ml_mfp != NULL)`. #25823

TODO:
- #10070 #13201 All buffer-related API functions except
  `nvim_buf_is_loaded` (and `nvim_buf_is_valid`?) should always call
  `buf_ensure_loaded`. Because the _common case_ is that plugins expect
  the buffer to "just work"—and for the uncomon, performance-sensitive
  case, the script can check `nvim_buf_is_loaded` to avoid implicitly
  loading a buffer.
- Update documentation to clarify the above semantics.
This commit is contained in:
Justin M. Keyes
2024-01-02 12:33:41 -08:00
committed by GitHub
parent 91d76ac941
commit 3f35c69b23

View File

@ -335,12 +335,10 @@ void nvim_buf_set_lines(uint64_t channel_id, Buffer buffer, Integer start, Integ
return;
}
// load buffer first if it's not loaded
if (buf->b_ml.ml_mfp == NULL) {
if (!buf_ensure_loaded(buf)) {
api_set_error(err, kErrorTypeException, "Failed to load buffer");
return;
}
// Load buffer if necessary. #22670
if (!buf_ensure_loaded(buf)) {
api_set_error(err, kErrorTypeException, "Failed to load buffer");
return;
}
bool oob = false;
@ -517,12 +515,10 @@ void nvim_buf_set_text(uint64_t channel_id, Buffer buffer, Integer start_row, In
return;
}
// load buffer first if it's not loaded
if (buf->b_ml.ml_mfp == NULL) {
if (!buf_ensure_loaded(buf)) {
api_set_error(err, kErrorTypeException, "Failed to load buffer");
return;
}
// Load buffer if necessary. #22670
if (!buf_ensure_loaded(buf)) {
api_set_error(err, kErrorTypeException, "Failed to load buffer");
return;
}
bool oob = false;