瀏覽代碼

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 年之前
父節點
當前提交
fc1f01c54e
共有 1 個文件被更改,包括 9 次插入8 次删除
  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."