Mercurial > emacs
diff lisp/files.el @ 68827:9e3243a12c5f
(magic-mode-alist): Don't use `\\s ' in regexps.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 12 Feb 2006 20:30:28 +0000 |
parents | 739ab5567adc |
children | 5340157fbfc2 |
line wrap: on
line diff
--- a/lisp/files.el Sun Feb 12 20:29:57 2006 +0000 +++ b/lisp/files.el Sun Feb 12 20:30:28 2006 +0000 @@ -2024,18 +2024,19 @@ (defvar magic-mode-alist `(;; The < comes before the groups (but the first) to reduce backtracking. ;; TODO: UTF-16 <?xml may be preceded by a BOM 0xff 0xfe or 0xfe 0xff. + ;; We use [ \t\n] instead of `\\s ' to make regex overflow less likely. (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)") - (comment-re (concat "\\(?:!--" incomment-re "*-->\\s *<\\)"))) - (concat "\\(?:<\\?xml\\s +[^>]*>\\)?\\s *<" + (comment-re (concat "\\(?:!--" incomment-re "*-->[ \t\n]*<\\)"))) + (concat "\\(?:<\\?xml[ \t\n]+[^>]*>\\)?[ \t\n]*<" comment-re "*" - "\\(?:!DOCTYPE\\s +[^>]*>\\s *<\\s *" comment-re "*\\)?" + "\\(?:!DOCTYPE[ \t\n]+[^>]*>[ \t\n]*<[ \t\n]*" comment-re "*\\)?" "[Hh][Tt][Mm][Ll]")) . html-mode) ;; These two must come after html, because they are more general: ("<\\?xml " . xml-mode) (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)") - (comment-re (concat "\\(?:!--" incomment-re "*-->\\s *<\\)"))) - (concat "\\s *<" comment-re "*!DOCTYPE ")) + (comment-re (concat "\\(?:!--" incomment-re "*-->[ \t\n]*<\\)"))) + (concat "[ \t\n]*<" comment-re "*!DOCTYPE ")) . sgml-mode) ("%![^V]" . ps-mode) ("# xmcd " . conf-unix-mode))