Only clean up after eshell window if visible

Killing buried eshell windows shouldn't delete windows or restore any
wconfs.
This commit is contained in:
Henrik Lissner 2018-06-28 14:47:14 +02:00
parent dc8c01f17f
commit 7bb9adc6bd
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -259,16 +259,17 @@ delete."
"Close window (or workspace) on quit." "Close window (or workspace) on quit."
(let ((buf (current-buffer))) (let ((buf (current-buffer)))
(when (+eshell--remove-buffer buf) (when (+eshell--remove-buffer buf)
(+eshell--setup-window (get-buffer-window buf) nil) (when-let* ((win (get-buffer-window buf)))
(cond ((and (one-window-p) (+eshell--setup-window win nil)
(window-configuration-p (frame-parameter nil 'saved-wconf))) (cond ((and (one-window-p t)
(set-window-configuration (frame-parameter nil 'saved-wconf)) (window-configuration-p (frame-parameter nil 'saved-wconf)))
(set-frame-parameter nil 'saved-wconf nil)) (set-window-configuration (frame-parameter nil 'saved-wconf))
((one-window-p) (set-frame-parameter win 'saved-wconf nil))
(let ((prev (save-window-excursion (previous-buffer)))) ((one-window-p)
(unless (and prev (doom-real-buffer-p prev)) (let ((prev (save-window-excursion (previous-buffer))))
(switch-to-buffer (doom-fallback-buffer))))) (unless (and prev (doom-real-buffer-p prev))
((or (and (fboundp '+popup-window-p) (+popup-window-p)) (switch-to-buffer (doom-fallback-buffer)))))
+eshell-kill-window-on-exit) ((or (and (fboundp '+popup-window-p) (+popup-window-p))
(delete-window)))))) +eshell-kill-window-on-exit)
(delete-window win)))))))