General cleanup & refector; update TODO.org

This commit is contained in:
Henrik Lissner 2017-05-12 12:14:17 +02:00
parent 9cfdd9a413
commit 7fbaf2ced1
5 changed files with 23 additions and 11 deletions

View file

@ -153,6 +153,7 @@ See `doom-real-buffer-p' for what 'real' means."
(let* ((buffer (or buffer (current-buffer)))
(buffer-win (get-buffer-window buffer))
(only-buffer-window-p (= 1 (length (get-buffer-window-list buffer nil t)))))
;; deal with unsaved buffers
(when (and only-buffer-window-p
(buffer-file-name buffer)
(buffer-modified-p buffer))
@ -161,10 +162,12 @@ See `doom-real-buffer-p' for what 'real' means."
(yes-or-no-p "Buffer is unsaved, save it?"))
(save-buffer)
(set-buffer-modified-p nil))))
;; deal with dedicated windows
(if (window-dedicated-p buffer-win)
(unless (window--delete buffer-win t t)
(split-window buffer-win)
(window--delete buffer-win t t))
;; cycle to a real buffer
(doom--cycle-real-buffers -1)
(when buffer-win
(unrecord-window-buffer buffer-win buffer))