[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:05130] iso-8859-1 の判別



 便利に使わせていただいています。

 htmlでiso-8859-1を指定して開くのが面倒なので、

http://www.asahi-net.or.jp/~ez3k-msym/comp/mule-ucs.htm

の益山さんの<meta>タグによる自動判別の真似ができないかと

(defvar html-xml-charset-decl-alist
  '(("\\.html?$" nil
     "<meta\\b[^>]+content-type[^>]+charset *= *\\([a-zA-Z0-9_.-]+\\)")
    ("\\.xml$" utf-8
     "<\\?xml\\b[^>]+encoding=['\"]\\([a-zA-Z0-9_.-]+\\)")))
(defvar html-xml-auto-coding-chain)
(defun html-xml-auto-coding (filename size)
  (or (funcall html-xml-auto-coding-chain filename size)
      (let ((case-fold-search t) (alist html-xml-charset-decl-alist)
            search-limit pat cs string)
        (while (and alist (not pat))
          (if (string-match (car (car alist)) filename)
              (setq pat (cdr (car alist))))
          (setq alist (cdr alist)))
        (when pat
          (goto-char (point-min))
          (setq search-limit (+ (min size 4096) (point)))
          (if (not (search-forward-regexp (cadr pat) search-limit t))
              (car pat)
            (setq string (downcase (match-string 1)))
            (while (string-match "^x-" string)
              (setq string (substring string 2)))
            (setq cs (intern string))
            (if (coding-system-p cs) cs))))))
(setq html-xml-auto-coding-chain set-auto-coding-function
      set-auto-coding-function 'html-xml-auto-coding)

を持ってきてみたのですが、うまくxyzzy化できません。直接には最後のfunctionが
not-foundになっています。
 何かヒントをいただけないでしょうか?

                                      
  高橋誠

Index Home