瀏覽代碼

org-agenda.el (org-agenda-skip): Correctly handle commented out scheduled/deadline lines

* org-agenda.el (org-agenda-skip): Correctly handle commented
out scheduled/deadline lines.  Refactor.

Thanks to Rainer Stengele for reporting this and to Nick Dokos for
investigating further.  This fix will not slow down the agenda as checking
for a text property seems equally fast (and perhaps even slightly faster)
than checking the character after.
Bastien Guerry 12 年之前
父節點
當前提交
211b137ef4
共有 1 個文件被更改,包括 12 次插入13 次删除
  1. 12 13
      lisp/org-agenda.el

+ 12 - 13
lisp/org-agenda.el

@@ -3728,19 +3728,18 @@ A good way to set it is through options in `org-agenda-custom-commands'.")
 Also moves point to the end of the skipped region, so that search can
 Also moves point to the end of the skipped region, so that search can
 continue from there."
 continue from there."
   (let ((p (point-at-bol)) to)
   (let ((p (point-at-bol)) to)
-    (when (org-in-src-block-p t) (throw :skip t))
-    (and org-agenda-skip-archived-trees (not org-agenda-archives-mode)
-	 (get-text-property p :org-archived)
-	 (org-end-of-subtree t)
-	 (throw :skip t))
-    (and org-agenda-skip-comment-trees
-	 (get-text-property p :org-comment)
-	 (org-end-of-subtree t)
-	 (throw :skip t))
-    (if (equal (char-after p) ?#) (throw :skip t))
-    (when (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global)
-		       (org-agenda-skip-eval org-agenda-skip-function)))
-      (goto-char to)
+    (when (or
+	   (eq (get-text-property p 'face) 'font-lock-comment-face)
+	   (and org-agenda-skip-archived-trees (not org-agenda-archives-mode)
+		(get-text-property p :org-archived)
+		(org-end-of-subtree t))
+	   (and org-agenda-skip-comment-trees
+		(get-text-property p :org-comment)
+		(org-end-of-subtree t))
+	   (and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global)
+			     (org-agenda-skip-eval org-agenda-skip-function)))
+		(goto-char to))
+	   (org-in-src-block-p t))
       (throw :skip t))))
       (throw :skip t))))
 
 
 (defun org-agenda-skip-eval (form)
 (defun org-agenda-skip-eval (form)