Quellcode durchsuchen

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 vor 13 Jahren
Ursprung
Commit
211b137ef4
1 geänderte Dateien mit 12 neuen und 13 gelöschten Zeilen
  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)