Browse Source

Honour existing restrictions when clocking in from the agenda

* lisp/org-agenda.el (org-agenda-clock-in): Save restriction when clocking in from the agenda

Narrowed org buffers are now retained when clocking in from the agenda.
We only widen the buffer when the task to clock in is outside the existing
restriction.
Bernt Hansen 8 years ago
parent
commit
fc1f01c54e
1 changed files with 9 additions and 8 deletions
  1. 9 8
      lisp/org-agenda.el

+ 9 - 8
lisp/org-agenda.el

@@ -7797,14 +7797,15 @@ The cursor may be at a date in the calendar, or in the Org agenda."
 	   newhead)
       (org-with-remote-undo (marker-buffer marker)
         (with-current-buffer (marker-buffer marker)
-	  (widen)
-	  (goto-char pos)
-	  (org-show-context 'agenda)
-	  (org-show-entry)
-	  (org-cycle-hide-drawers 'children)
-	  (org-clock-in arg)
-	  (setq newhead (org-get-heading)))
-	(org-agenda-change-all-lines newhead hdmarker)))))
+	  (save-restriction
+	    (widen)
+	    (goto-char pos)
+	    (org-show-context 'agenda)
+	    (org-show-entry)
+	    (org-cycle-hide-drawers 'children)
+	    (org-clock-in arg)
+	    (setq newhead (org-get-heading)))
+	  (org-agenda-change-all-lines newhead hdmarker))))))
 
 (defun org-agenda-clock-out ()
   "Stop the currently running clock."