From ec93b786c5acfca107dac776ee91e9645c3b01cf Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Tue, 27 Jan 2026 15:13:32 +0100 Subject: [PATCH] refactor(api): api_buf_ensure_loaded --- src/nvim/api/buffer.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index 81c3f9c6f7..9fd366333d 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -48,6 +48,22 @@ #include "api/buffer.c.generated.h" +/// Ensures that a buffer is loaded. +static buf_T *api_buf_ensure_loaded(Buffer buffer, Error *err) +{ + buf_T *buf = find_buffer_by_handle(buffer, err); + if (!buf) { + return NULL; + } + + if (buf->b_ml.ml_mfp == NULL && !buf_ensure_loaded(buf)) { + api_set_error(err, kErrorTypeException, "Failed to load buffer"); + return NULL; + } + + return buf; +} + /// @brief
help
 /// For more information on buffers, see |buffers|.
 ///
@@ -288,22 +304,6 @@ ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id,
   return rv;
 }
 
-static buf_T *require_loaded_buffer(Buffer buffer, Error *err)
-{
-  buf_T *buf = find_buffer_by_handle(buffer, err);
-  if (!buf) {
-    return NULL;
-  }
-
-  // Load buffer if necessary
-  if (buf->b_ml.ml_mfp == NULL && !buf_ensure_loaded(buf)) {
-    api_set_error(err, kErrorTypeException, "Failed to load buffer");
-    return NULL;
-  }
-
-  return buf;
-}
-
 /// Sets (replaces) a line-range in the buffer.
 ///
 /// Indexing is zero-based, end-exclusive. Negative indices are interpreted
@@ -331,7 +331,7 @@ void nvim_buf_set_lines(uint64_t channel_id, Buffer buffer, Integer start, Integ
   FUNC_API_SINCE(1)
   FUNC_API_TEXTLOCK_ALLOW_CMDWIN
 {
-  buf_T *buf = require_loaded_buffer(buffer, err);
+  buf_T *buf = api_buf_ensure_loaded(buffer, err);
 
   if (!buf) {
     return;
@@ -490,7 +490,7 @@ void nvim_buf_set_text(uint64_t channel_id, Buffer buffer, Integer start_row, In
     replacement = scratch;
   }
 
-  buf_T *buf = require_loaded_buffer(buffer, err);
+  buf_T *buf = api_buf_ensure_loaded(buffer, err);
   if (!buf) {
     return;
   }
@@ -1116,7 +1116,7 @@ Boolean nvim_buf_set_mark(Buffer buffer, String name, Integer line, Integer col,
   FUNC_API_SINCE(8)
 {
   bool res = false;
-  buf_T *buf = require_loaded_buffer(buffer, err);
+  buf_T *buf = api_buf_ensure_loaded(buffer, err);
 
   if (!buf) {
     return res;