summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/hi-lock.el12
2 files changed, 10 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index df7a4b270ea..f1e29e1bdbd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2005-07-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * hi-lock.el (hi-lock-find-patterns): Protect also against invalid
+ values for the pattern lists which are `read'able but not
+ `append'able (like symbols).
+
2005-07-06 Richard M. Stallman <rms@gnu.org>
* progmodes/flymake.el (flymake-float-time): Instead of
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index c649ed8d465..d7aec9112bc 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -557,14 +557,10 @@ Optional argument END is maximum excursion."
(beginning-of-line)
(while (and (re-search-forward target-regexp (+ (point) 100) t)
(not (looking-at "\\s-*end")))
- (let ((patterns
- (condition-case nil
- (read (current-buffer))
- (error (message
- (format "Could not read expression at %d"
- (hi-lock-current-line))) nil))))
- (if patterns
- (setq all-patterns (append patterns all-patterns)))))))
+ (condition-case nil
+ (setq all-patterns (append (read (current-buffer)) all-patterns))
+ (error (message "Invalid pattern list expression at %d"
+ (hi-lock-current-line)))))))
(when hi-lock-mode (hi-lock-set-file-patterns all-patterns))
(if (interactive-p)
(message (format "Hi-lock added %d patterns." (length all-patterns)))))))