aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+667e-11@users.noreply.github.com>2020-08-22 17:58:51 -0400
committerGravatar mitchell <70453897+667e-11@users.noreply.github.com>2020-08-22 17:58:51 -0400
commit37ead6cf4b781a3b3153cff4a2fb6ecddf41118d (patch)
treee5250c75b7d2c9cb8de158138bac4c10d44b384b /src
parent87af3a999ad376098e3c1ed8e7eab973474b3409 (diff)
Only switch buffers during `buffer:delete()` if necessary.
This is not necessary if deleting a non-visible buffer (e.g. in the dummy view).
Diffstat (limited to 'src')
-rw-r--r--src/textadept.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/textadept.c b/src/textadept.c
index aee6d173..fdbd07c1 100644
--- a/src/textadept.c
+++ b/src/textadept.c
@@ -1067,9 +1067,9 @@ static int delete_buffer_lua(lua_State *L) {
sptr_t doc = SS(view, SCI_GETDOCPOINTER, 0, 0);
if (lua_getfield(L, LUA_REGISTRYINDEX, "ta_buffers"), lua_rawlen(L, -1) == 1)
new_buffer(0);
- goto_doc(L, focused_view, -1, true);
- delete_buffer(doc);
- return (emit(L, "buffer_after_switch", -1), emit(L, "buffer_deleted", -1), 0);
+ if (view == focused_view)
+ goto_doc(L, focused_view, -1, true), emit(L, "buffer_after_switch", -1);
+ return (delete_buffer(doc), emit(L, "buffer_deleted", -1), 0);
}
/** `_G.buffer_new()` Lua function. */