* lisp/org-agenda.el (org-agenda-switch-to): Widen org buffer only if point is
  outside the current restriction

Widen org buffer when visiting from agenda only if point is outside
current restriction.

Visiting a task with RET or TAB in the agenda should not affect the
org-mode buffer restriction unless the target task is not currently
visible due to the restriction.
---
 lisp/org-agenda.el |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index f240f5e..b009faf 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7033,7 +7033,9 @@ at the text of the entry itself."
           (pos (marker-position marker)))
       (org-pop-to-buffer-same-window buffer)
       (and delete-other-windows (delete-other-windows))
-      (widen)
+      (when (or (< pos (point-min))
+               (> pos (point-max)))
+       (widen))
       (goto-char pos)
       (when (eq major-mode 'org-mode)
        (org-show-context 'agenda)
-- 
1.7.8.247.g10f4e


Reply via email to