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

Re: ;;; sb-fau.el --- Freie ArbeiterInnen Union shimbun backend



Katsumi Yamaoka writes:

> The value of `shimbun-fau-coding-system' is passed to
> `detect-coding-with-priority' as the topmost of the priority
> list by way of `w3m-decode-buffer'.  However, Emacs doesn't
> always decode the contents correctly because Latin-1 is superior
> to `windows-1252' there.  I think the best solution is to fetch
> the raw contents and to decode them by itself.  The patch is

手元では windows-1252 の priority を高くするだけで、期待通りに
デコードされたのですが、これは coding-category-ccl を設定していた
ためでした。
試してみたところ、どうも Emacs 22 の detect-coding-with-priority 
には bug が潜んでいるような感じです。

(with-temp-buffer 
  (set-buffer-multibyte nil)
  (dolist (range (coding-system-get 'windows-1252 'valid-codes))
    (let ((i (car range)))
      (while (<= i (cdr range))
	(insert i)
	(setq i (1+ i)))))
  (let ((coding-category-ccl nil))
    (detect-coding-with-priority (point-min) (point-max)
				 '((coding-category-ccl . windows-1252)))))
 => (raw-text no-conversion)

(with-temp-buffer 
  (set-buffer-multibyte nil)
  (dolist (range (coding-system-get 'windows-1252 'valid-codes))
    (let ((i (car range)))
      (while (<= i (cdr range))
	(insert i)
	(setq i (1+ i)))))
  (let ((coding-category-ccl 'windows-1252))
    (detect-coding-with-priority (point-min) (point-max)
				 '((coding-category-ccl . windows-1252)))))
 => (windows-1252 raw-text no-conversion)

coding-category-ccl によらずに windows-1252 が detect されることが
期待されるのですが、実際には coding-category-ccl に依存しています。
(しかも、前回の設定にひきずられたりも…)
;; 後程 mule-ja に投げてみます。

> +(luna-define-method shimbun-article ((shimbun shimbun) header
                                                 ^^^^^^^
クラス名は shimbun-fau の typo ではないでしょうか?

-- 
有沢 明宏