[My apologies, but I'm afraid my first attempt at this patch mistook a necessary second check for redundancy. Here is an improved version.]
* lisp/org-agenda.el (org-prepare-agenda): If the agenda is called from within the agenda via an elisp link, such as [[elisp:(org-agenda-list)]], org-prepare-agenda erases the buffer of the file containing the link, since that buffer is current during org-prepare agenda (due to a with-current-buffer in org-agenda-open-link). An additional test now ensures that the agenda buffer is in fact current when the buffer is erased and local variables for the agenda are set. --- lisp/org-agenda.el | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 9f94fa6..7458076 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -2829,7 +2829,11 @@ the global options and expect it to be applied to the entire view.") (switch-to-buffer-other-frame abuf)) ((equal org-agenda-window-setup 'reorganize-frame) (delete-other-windows) - (org-switch-to-buffer-other-window abuf)))) + (org-switch-to-buffer-other-window abuf))) + ;; additional test in case agenda is invoked from within agenda + ;; buffer via elisp link + (unless (equal (current-buffer) abuf) + (switch-to-buffer abuf))) (setq buffer-read-only nil) (let ((inhibit-read-only t)) (erase-buffer)) (org-agenda-mode) -- 1.7.2.3 _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode