Просмотр исходного кода

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 13 лет назад
Родитель
Сommit
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)