Jelajahi Sumber

Check argument is a string before calling string-match

* lisp/org-html.el (org-export-as-html): Check string-match argument
(org-html-handle-time-stamps): Check string-match argument

Avoid wrong-type-argument errors during exporting.
Bernt Hansen 13 tahun lalu
induk
melakukan
106993d310
1 mengubah file dengan 16 tambahan dan 14 penghapusan
  1. 16 14
      lisp/org-html.el

+ 16 - 14
lisp/org-html.el

@@ -1598,7 +1598,8 @@ lang=\"%s\" xml:lang=\"%s\">
 	  (setq line (org-html-handle-links line opt-plist))
 	  (setq line (org-html-handle-links line opt-plist))
 
 
 	  ;; TODO items
 	  ;; TODO items
-	  (if (and (string-match org-todo-line-regexp line)
+	  (if (and org-todo-line-regexp
+		   (string-match org-todo-line-regexp line)
 		   (match-beginning 2))
 		   (match-beginning 2))
 
 
 	      (setq line
 	      (setq line
@@ -2213,19 +2214,20 @@ for further information."
   "Format time stamps in string S, or remove them."
   "Format time stamps in string S, or remove them."
   (catch 'exit
   (catch 'exit
     (let (r b)
     (let (r b)
-      (while (string-match org-maybe-keyword-time-regexp s)
-	(or b (setq b (substring s 0 (match-beginning 0))))
-	(setq r (concat
-		 r (substring s 0 (match-beginning 0))
-		 " @<span class=\"timestamp-wrapper\">"
-		 (if (match-end 1)
-		     (format "@<span class=\"timestamp-kwd\">%s @</span>"
-			     (match-string 1 s)))
-		 (format " @<span class=\"timestamp\">%s@</span>"
-			 (substring
-			  (org-translate-time (match-string 3 s)) 1 -1))
-		 "@</span>")
-	      s (substring s (match-end 0))))
+      (when org-maybe-keyword-time-regexp
+	(while (string-match org-maybe-keyword-time-regexp s)
+	  (or b (setq b (substring s 0 (match-beginning 0))))
+	  (setq r (concat
+		   r (substring s 0 (match-beginning 0))
+		   " @<span class=\"timestamp-wrapper\">"
+		   (if (match-end 1)
+		       (format "@<span class=\"timestamp-kwd\">%s @</span>"
+			       (match-string 1 s)))
+		   (format " @<span class=\"timestamp\">%s@</span>"
+			   (substring
+			    (org-translate-time (match-string 3 s)) 1 -1))
+		   "@</span>")
+		s (substring s (match-end 0)))))
       ;; Line break if line started and ended with time stamp stuff
       ;; Line break if line started and ended with time stamp stuff
       (if (not r)
       (if (not r)
 	  s
 	  s