From a1c2400f272533e9f5cefa8ce59732c355950fd8 Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Wed, 1 Jun 2011 19:09:42 -0500 Subject: [PATCH] * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail buffer isn't killed before making it current. --- lisp/ChangeLog | 5 +++++ lisp/calc/calc.el | 27 ++++++++++++++------------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 71d927e9692..92b125dd1b0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-06-02 Jay Belanger + + * calc/calc.el (calc-kill-stack-buffer): Make sure that the trail + buffer isn't killed before making it current. + 2011-06-01 Stefan Monnier Silence various byte-compiler warnings. diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 41f549cbe2c..55ac412b435 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -1293,19 +1293,20 @@ the trail buffer." (if (not info-list) (progn (setq calc-buffer-list (delete cb calc-buffer-list)) - (with-current-buffer calc-trail-buffer - (if (eq cb calc-main-buffer) - ;; If there are other Calc stacks, make another one - ;; the calc-main-buffer ... - (if calc-buffer-list - (setq calc-main-buffer (car calc-buffer-list)) - ;; ... otherwise kill the trail and its windows. - (let ((wl (get-buffer-window-list calc-trail-buffer))) - (while wl - (delete-window (car wl)) - (setq wl (cdr wl)))) - (kill-buffer calc-trail-buffer) - (setq calc-trail-buffer nil)))) + (if (buffer-live-p calc-trail-buffer) + (with-current-buffer calc-trail-buffer + (if (eq cb calc-main-buffer) + ;; If there are other Calc stacks, make another one + ;; the calc-main-buffer ... + (if calc-buffer-list + (setq calc-main-buffer (car calc-buffer-list)) + ;; ... otherwise kill the trail and its windows. + (let ((wl (get-buffer-window-list calc-trail-buffer))) + (while wl + (delete-window (car wl)) + (setq wl (cdr wl)))) + (kill-buffer calc-trail-buffer))))) + (setq calc-trail-buffer nil) t)))) (defun calc-mode () -- 2.39.5