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 13 năm trước cách đây
mục cha
commit
c41a6f5a33
1 tập tin đã thay đổi với 9 bổ sung8 xóa
  1. 9 8
      lisp/org-agenda.el

+ 9 - 8
lisp/org-agenda.el

@@ -7877,14 +7877,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."