From d44b56e81e7cf2f0afd03e1e1962b996ffa61305 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 24 Aug 2012 15:54:58 +0200 Subject: [PATCH] org-agenda.el: Fix bug about restoring existing window conf * org-agenda.el (org-prepare-agenda-window): Use `org-pre-agenda-window-conf' if already set. (org-agenda-Quit): Set `org-pre-agenda-window-conf' to nil when quitting. (org-agenda-quit): Ditto. Thanks to Moritz Ulrich for reporting a bug about this. --- lisp/org-agenda.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 20c06ec41..98fb9e25d 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -3334,7 +3334,8 @@ generating a new one." ;; buffer via elisp link (unless (equal (current-buffer) abuf) (org-pop-to-buffer-same-window abuf)) - (setq org-pre-agenda-window-conf wconf))) + (setq org-pre-agenda-window-conf + (or org-pre-agenda-window-conf wconf)))) (defun org-prepare-agenda (&optional name) (if (org-agenda-use-sticky-p) @@ -6470,7 +6471,8 @@ If ERROR is non-nil, throw an error, otherwise just return nil." (and org-agenda-restore-windows-after-quit (not (eq org-agenda-window-setup 'other-frame)) org-pre-agenda-window-conf - (set-window-configuration org-pre-agenda-window-conf)))) + (set-window-configuration org-pre-agenda-window-conf) + (setq org-pre-agenda-window-conf nil)))) (defun org-agenda-quit () "Exit agenda by killing agenda buffer or burying it when @@ -6492,7 +6494,8 @@ If ERROR is non-nil, throw an error, otherwise just return nil." (and org-agenda-restore-windows-after-quit (not (eq org-agenda-window-setup 'other-frame)) org-pre-agenda-window-conf - (set-window-configuration org-pre-agenda-window-conf)))) + (set-window-configuration org-pre-agenda-window-conf) + (setq org-pre-agenda-window-conf nil)))) (org-agenda-Quit)))) (defun org-agenda-exit () -- 2.11.4.GIT