mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
refactor: buffer_ensure_loaded()
Cherry-picked from Vim patch 8.1.1612.
This commit is contained in:
@@ -175,6 +175,19 @@ static int read_buffer(int read_stdin, exarg_T *eap, int flags)
|
||||
return retval;
|
||||
}
|
||||
|
||||
/// Ensure buffer "buf" is loaded. Does not trigger the swap-exists action.
|
||||
void buffer_ensure_loaded(buf_T *buf)
|
||||
{
|
||||
if (buf->b_ml.ml_mfp == NULL) {
|
||||
aco_save_T aco;
|
||||
|
||||
aucmd_prepbuf(&aco, buf);
|
||||
swap_exists_action = SEA_NONE;
|
||||
open_buffer(false, NULL, 0);
|
||||
aucmd_restbuf(&aco);
|
||||
}
|
||||
}
|
||||
|
||||
/// Open current buffer, that is: open the memfile and read the file into
|
||||
/// memory.
|
||||
///
|
||||
|
@@ -302,13 +302,8 @@ void f_bufload(typval_T *argvars, typval_T *unused, EvalFuncData fptr)
|
||||
{
|
||||
buf_T *buf = get_buf_arg(&argvars[0]);
|
||||
|
||||
if (buf != NULL && buf->b_ml.ml_mfp == NULL) {
|
||||
aco_save_T aco;
|
||||
|
||||
aucmd_prepbuf(&aco, buf);
|
||||
swap_exists_action = SEA_NONE;
|
||||
open_buffer(false, NULL, 0);
|
||||
aucmd_restbuf(&aco);
|
||||
if (buf != NULL) {
|
||||
buffer_ensure_loaded(buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user