branch: elpa/pacmacs
commit 609416d41a86de66bde19f8abeb24fc74b80a759
Author: rexim <[email protected]>
Commit: rexim <[email protected]>
Fix delete minibuffer or sole ordinary window error. Close #42
---
pacman.el | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/pacman.el b/pacman.el
index 47e9a73026..ced8f1a934 100644
--- a/pacman.el
+++ b/pacman.el
@@ -105,13 +105,18 @@
(cancel-timer pacman-timer)
(setq pacman-timer nil)))
+(defun pacman--kill-buffer-and-its-window (buffer-or-name)
+ (let ((buffer-window (get-buffer-window buffer-or-name)))
+ (if (and buffer-window
+ (window-parent buffer-window))
+ (with-current-buffer buffer-or-name
+ (kill-buffer-and-window))
+ (kill-buffer buffer-or-name))))
+
(defun pacman-quit ()
(interactive)
(when (get-buffer pacman-buffer-name)
- (with-current-buffer pacman-buffer-name
- (if (get-buffer-window pacman-buffer-name)
- (kill-buffer-and-window)
- (kill-buffer pacman-buffer-name)))))
+ (pacman--kill-buffer-and-its-window pacman-buffer-name)))
(defun pacman-step-object (game-object)
(let* ((row (plist-get game-object :row))