"Juanma Barranquero" <[EMAIL PROTECTED]> writes: > image.el already defines `image-type-header-regexps' and > `image-type-from-buffer', so it seems wasteful to recreate that. It > would be better IMHO to simply use `image-type-from-buffer' from > `set-auto-mode'. Other than changes to docstrings and info files, the > path is as simple as this, and works quite well.
I think your idea is really good -- and simple! Another way is the following one which does exactly the same as your patch, but in a more generic way: *** files.el 11 Dec 2006 09:41:20 +0100 1.868 --- files.el 17 Dec 2006 01:24:31 +0100 *************** *** 2115,2121 **** associated with that interpreter in `interpreter-mode-alist'.") (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 "\\(?:[^-]\\|-[^-]\\)") --- 2115,2122 ---- associated with that interpreter in `interpreter-mode-alist'.") (defvar magic-mode-alist ! `((image-type-from-buffer . image-mode) ! ;; 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 "\\(?:[^-]\\|-[^-]\\)") *************** *** 2134,2143 **** ("%![^V]" . ps-mode) ("# xmcd " . conf-unix-mode)) "Alist of buffer beginnings vs. corresponding major mode functions. ! Each element looks like (REGEXP . FUNCTION). After visiting a file, ! if REGEXP matches the text at the beginning of the buffer, ! `normal-mode' will call FUNCTION rather than allowing `auto-mode-alist' ! to decide the buffer's major mode. If FUNCTION is nil, then it is not called. (That is a way of saying \"allow `auto-mode-alist' to decide for these files.\")") --- 2135,2145 ---- ("%![^V]" . ps-mode) ("# xmcd " . conf-unix-mode)) "Alist of buffer beginnings vs. corresponding major mode functions. ! Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION). ! After visiting a file, if REGEXP matches the text at the beginning of the ! buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will ! call FUNCTION rather than allowing `auto-mode-alist' to decide the buffer's ! major mode. If FUNCTION is nil, then it is not called. (That is a way of saying \"allow `auto-mode-alist' to decide for these files.\")") *************** *** 2224,2230 **** (+ (point-min) magic-mode-regexp-match-limit))) (assoc-default nil magic-mode-alist (lambda (re dummy) ! (looking-at re)))))) (set-auto-mode-0 done keep-mode-if-same) ;; Compare the filename against the entries in auto-mode-alist. (if buffer-file-name --- 2226,2234 ---- (+ (point-min) magic-mode-regexp-match-limit))) (assoc-default nil magic-mode-alist (lambda (re dummy) ! (if (functionp re) ! (funcall re) ! (looking-at re))))))) (set-auto-mode-0 done keep-mode-if-same) ;; Compare the filename against the entries in auto-mode-alist. (if buffer-file-name -- Kim F. Storm <[EMAIL PROTECTED]> http://www.cua.dk _______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug