浏览代码

Fix bug when old clock task list contains bad pointers

Carsten Dominik 15 年之前
父节点
当前提交
50645b5699
共有 2 个文件被更改,包括 19 次插入15 次删除
  1. 3 0
      lisp/ChangeLog
  2. 16 15
      lisp/org-clock.el

+ 3 - 0
lisp/ChangeLog

@@ -1,5 +1,8 @@
 2009-11-23  Carsten Dominik  <carsten.dominik@gmail.com>
 
+	* org-clock.el (org-clock-insert-selection-line): Catch error when
+	an old tasks no longer exists.
+
 	* org-latex.el (org-export-as-pdf): Remove also the .idx file.
 	(org-export-as-pdf): Don't remove the old PDF file before making
 	the new one.

+ 16 - 15
lisp/org-clock.el

@@ -360,21 +360,22 @@ pointing to it."
 	(save-excursion
 	  (save-restriction
 	    (widen)
-	    (goto-char marker)
-	    (setq file (buffer-file-name (marker-buffer marker))
-		  cat (or (org-get-category)
-			  (progn (org-refresh-category-properties)
-				 (org-get-category)))
-		  heading (org-get-heading 'notags)
-		  prefix (save-excursion
-			   (org-back-to-heading t)
-			   (looking-at "\\*+ ")
-			   (match-string 0))
-		  task (substring
-			(org-fontify-like-in-org-mode
-			 (concat prefix heading)
-			 org-odd-levels-only)
-			(length prefix))))))
+	    (ignore-errors
+	      (goto-char marker)
+	      (setq file (buffer-file-name (marker-buffer marker))
+		    cat (or (org-get-category)
+			    (progn (org-refresh-category-properties)
+				   (org-get-category)))
+		    heading (org-get-heading 'notags)
+		    prefix (save-excursion
+			     (org-back-to-heading t)
+			     (looking-at "\\*+ ")
+			     (match-string 0))
+		    task (substring
+			  (org-fontify-like-in-org-mode
+			   (concat prefix heading)
+			   org-odd-levels-only)
+			  (length prefix)))))))
       (when (and cat task)
 	(insert (format "[%c] %-15s %s\n" i cat task))
 	(cons i marker)))))