diff options
author | mitchell <70453897+667e-11@users.noreply.github.com> | 2020-08-22 17:58:51 -0400 |
---|---|---|
committer | mitchell <70453897+667e-11@users.noreply.github.com> | 2020-08-22 17:58:51 -0400 |
commit | 37ead6cf4b781a3b3153cff4a2fb6ecddf41118d (patch) | |
tree | e5250c75b7d2c9cb8de158138bac4c10d44b384b /src | |
parent | 87af3a999ad376098e3c1ed8e7eab973474b3409 (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.c | 6 |
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. */ |