[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Should `auto-coding-functions' be mode-specific?
From: |
Romain Francoise |
Subject: |
Re: Should `auto-coding-functions' be mode-specific? |
Date: |
Sun, 07 Jan 2007 14:47:26 +0100 |
Juri Linkov <address@hidden> writes:
> The reported bug can occur even without my change because "<html"
> was not anchored at the beginning of the buffer and can match
> "<html" in the presented HTML snippet near the top.
Right.
> But then why not to go further and use the same regexp as used for
> detecting HTML files in `magic-mode-alist'? It seems reasonable
> to detect the HTML encoding exactly in the same files that later
> recognized as HTML according to the file contents.
I think it's a good idea, and it is easy to do (see below).
But it would reopen your original issue: that encoding detection
doesn't work in Mozilla bookmark files.
Index: lisp/international/mule.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/mule.el,v
retrieving revision 1.250
diff -c -r1.250 mule.el
*** lisp/international/mule.el 5 Jan 2007 17:58:02 -0000 1.250
--- lisp/international/mule.el 7 Jan 2007 13:43:29 -0000
***************
*** 2292,2309 ****
;; In case of no header, search only 10 lines.
(forward-line 10))
(point))))
! ;; Make sure that the buffer really contains an HTML document, by
! ;; checking that it starts with a doctype or a <HTML> start tag
! ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is
! ;; useful for Mozilla bookmark files.
! (when (and (re-search-forward
"\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)"
size t)
! (re-search-forward
"<meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*charset=\\(.+?\\)[\"']"
size t))
! (let* ((match (match-string 1))
! (sym (intern (downcase match))))
! (if (coding-system-p sym)
! sym
! (message "Warning: unknown coding system \"%s\"" match)
! nil))))
;;;
(provide 'mule)
--- 2292,2311 ----
;; In case of no header, search only 10 lines.
(forward-line 10))
(point))))
! ;; Make sure that the buffer really contains an HTML document. We
! ;; assume that the first entry that associates itself to html-mode in
! ;; `magic-mode-alist' is good enough to detect HTML documents
! ;; reliably.
! (let ((html-re (car (rassoc 'html-mode magic-mode-alist))))
! (when (and html-re
! (re-search-forward (concat "\\`" html-re) size t)
! (re-search-forward
"<meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*charset=\\(.+?\\)[\"']"
size t))
! (let* ((match (match-string 1))
! (sym (intern (downcase match))))
! (if (coding-system-p sym)
! sym
! (message "Warning: unknown coding system \"%s\"" match)
! nil)))))
;;;
(provide 'mule)
--
Romain Francoise <address@hidden> | The sea! the sea! the open
it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the
| ever free! --Bryan W. Procter
- Re: Should `auto-coding-functions' be mode-specific?, (continued)
- Re: Should `auto-coding-functions' be mode-specific?, Vincent Lefevre, 2007/01/03
- Re: Should `auto-coding-functions' be mode-specific?, Richard Stallman, 2007/01/03
- Re: Should `auto-coding-functions' be mode-specific?, Kenichi Handa, 2007/01/03
- Re: Should `auto-coding-functions' be mode-specific?, Romain Francoise, 2007/01/04
- Re: Should `auto-coding-functions' be mode-specific?, Richard Stallman, 2007/01/04
- Re: Should `auto-coding-functions' be mode-specific?, Romain Francoise, 2007/01/05
Re: Should `auto-coding-functions' be mode-specific?, Kevin Rodgers, 2007/01/03