"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
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug