summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2012-09-18 16:06:46 +0200
committerBastien Guerry <bzg@altern.org>2012-09-18 16:06:46 +0200
commitb81485d5ff0711dfd86e71a606aed539cfd80e6b (patch)
tree1405155dc72cacddf3d62eb204b4b1168f48a438
parent90565f2eded81a4a3f908ccce2993274a2618650 (diff)
downloadorg-mode-b81485d5ff0711dfd86e71a606aed539cfd80e6b.tar.gz
org-agenda.el: Fix bug when showing indirect agenda in another frame
* org-agenda.el (org-agenda-tree-to-indirect-buffer): Find the correct agenda buffer. Don't split the agenda window when the indirect buffer is displayed in another frame. Thanks Viktor Rosenfeld for reporting this.
-rw-r--r--lisp/org-agenda.el21
1 files changed, 12 insertions, 9 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 9d7d2fa..23ed73a 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7877,19 +7877,22 @@ use the dedicated frame)."
(interactive)
(if (and current-prefix-arg (listp current-prefix-arg))
(org-agenda-do-tree-to-indirect-buffer)
- (let ((agenda-window (selected-window))
+ (let ((agenda-buffer (buffer-name))
+ (agenda-window (selected-window))
(indirect-window
(and org-last-indirect-buffer
(get-buffer-window org-last-indirect-buffer))))
(save-window-excursion (org-agenda-do-tree-to-indirect-buffer))
- (unwind-protect
- (progn
- (unless (and indirect-window (window-live-p indirect-window))
- (setq indirect-window (split-window agenda-window)))
- (select-window indirect-window)
- (switch-to-buffer org-last-indirect-buffer :norecord)
- (fit-window-to-buffer indirect-window))
- (select-window (get-buffer-window org-agenda-buffer-name))))))
+ (unless (or (eq org-indirect-buffer-display 'new-frame)
+ (eq org-indirect-buffer-display 'dedicated-frame))
+ (unwind-protect
+ (progn
+ (unless (and indirect-window (window-live-p indirect-window)))
+ (setq indirect-window (split-window agenda-window)))
+ (and indirect-window (select-window indirect-window))
+ (switch-to-buffer org-last-indirect-buffer :norecord)
+ (fit-window-to-buffer indirect-window)))
+ (select-window (get-buffer-window agenda-buffer)))))
(defun org-agenda-do-tree-to-indirect-buffer ()
"Same as `org-agenda-tree-to-indirect-buffer' without saving window."