Patch 1004 (http://patchwork.newartisans.com/patch/1004/) is now "Accepted".
Maintainer comment: none This relates to the following submission: http://mid.gmane.org/%3Cm2bot77c1a.fsf%40pluto.luannocracy.com%3E Here is the original message containing the patch: > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Subject: [O] Patch: maintain window configuration when > org-agenda-follow-indirect is set > Date: Mon, 24 Oct 2011 00:17:37 -0000 > From: Dave Abrahams <d...@boostpro.com> > X-Patchwork-Id: 1004 > Message-Id: <m2bot77c1a....@pluto.luannocracy.com> > To: emacs-orgmode@gnu.org > > > > > >From 5adafd491f520908c8ee180c1b0d63d877fa8547 Mon Sep 17 00:00:00 2001 > From: Dave Abrahams <d...@boostpro.com> > Date: Sun, 23 Oct 2011 14:41:44 -0400 > Subject: [PATCH] Maintain stable window configuration when > org-agenda-follow-indirect is set > > Without this change, org-agenda-follow-indirect tends to cause the > window configration to bounce around chaotically as you move from item > to item. > --- > lisp/org-agenda.el | 17 +++++++++++++++++ > 1 files changed, 17 insertions(+), 0 deletions(-) > > diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el > index e4b1ba5..639ee23 100644 > --- a/lisp/org-agenda.el > +++ b/lisp/org-agenda.el > @@ -7168,6 +7168,23 @@ With numerical prefix arg ARG, go up to this level and > then take that tree. > With a \\[universal-argument] prefix, make a separate frame for this tree > (i.e. don't > 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)) > + (indirect-window (get-buffer-window org-last-indirect-buffer))) > + (save-window-excursion (org-agenda-do-tree-to-indirect-buffer)) > + (unwind-protect > + (progn > + (unless 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 agenda-window))))) > + > +(defun org-agenda-do-tree-to-indirect-buffer () > + "Implements org-agenda-tree-to-indirect-buffer, but > +doesn't attempt to manage stability of the window configuration." > (org-agenda-check-no-diary) > (let* ((marker (or (org-get-at-bol 'org-marker) > (org-agenda-error))) > -- > 1.7.6.1 > >