[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] emacs-w3m-1.2.6 doesn't work without MULE
>>>>> In [emacs-w3m : No.03061]
>>>>> Katsumi Yamaoka <yamaoka@jpl.org> wrote:
山岡> とりあえず XEmacs 21.4 で
山岡> mule: ○ × ×
山岡> file-coding: ○ ○ ×
山岡> の 3本を実戦配備しました。
僭越ながら (というかぼくにも責任があるので ^^;;)、幹の emacs-w3m
を 3種の XEmacs で動くようにしてみました。パッチを添付します。
>>>>> In [emacs-w3m : No.03060]
>>>>> ari@mbf.sphere.ne.jp (ARISAWA Akihiro) wrote:
山岡> mm-util.el でやっているように、目的の関数が存在するかどうかを直
山岡> 接調べて判断するのも良いかもしれません。
有沢さん> XEmacs with Mule でも、mule-base package を入れてなければ
有沢さん> detect-coding-with-priority は無かったりしそうですし。
有沢さん> ;; って、with Mule で mule-base 無しで動くのだろうか?
逆に w/o Mule でも mule-base があると mule-base/auto-autoloads.el
で定義された detect-coding-with-priority が存在する (*) ので、こ
ちらは Nix さんの macro をそのまま (でもほんの少し修正して) 使っ
てみました。
(*) すみません、ぼくは xemacs-packages と mule-packages をごっちゃ
にして install してあるのでこういうことが起こります。^^;;
そのうち直そうと思いますが。
2002-03-26 Katsumi Yamaoka <yamaoka@jpl.org>
* w3m-xmas.el (w3m-find-coding-system): Alias to ignore if the
function `find-coding-system' is not available.
(w3m-make-ccl-coding-system): Check whether the function
`make-ccl-coding-system' is available instead of checking the
feature `mule' to determine what function should be aliased to.
(coding-system-list): Alias to ignore if it is not available.
(define-ccl-program): Check whether it is available instead of
checking the feature `mule' to determine if it is aliased to
`ignore'.
(w3m-detect-coding-with-priority): Quote
`w3m-default-coding-system'.
2002-03-24 Nix <nix@esperi.demon.co.uk>
* w3m-xmas.el (w3m-detect-coding-with-priority): New macro, handle
non-MULE XEmacsen.
* w3m-xmas.el (w3m-detect-coding-region): Use it.
--- w3m-xmas.el~ 2002-03-19 03:31:31.000000000 +0000
+++ w3m-xmas.el 2002-03-26 03:52:37.000000000 +0000
@@ -1,6 +1,6 @@
;;; w3m-xmas.el --- The stuffs to use emacs-w3m on XEmacs
-;; Copyright (C) 2001 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
+;; Copyright (C) 2001, 2002 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
;; Authors: Yuuichi Teranishi <teranisi@gohome.org>,
;; TSUCHIYA Masatoshi <tsuchiya@namazu.org>,
@@ -65,14 +65,32 @@
(require 'pccl)
;;; Handle coding system:
-(defalias 'w3m-find-coding-system 'find-coding-system)
-(defalias 'w3m-make-ccl-coding-system (if (featurep 'mule)
+(defalias 'w3m-find-coding-system (if (fboundp 'find-coding-system)
+ 'find-coding-system
+ 'ignore))
+
+(defalias 'w3m-make-ccl-coding-system (if (fboundp 'make-ccl-coding-system)
'make-ccl-coding-system
'ignore))
-(unless (featurep 'mule)
- (defalias 'coding-system-category 'ignore)
+
+(unless (fboundp 'coding-system-category)
+ (defalias 'coding-system-category 'ignore))
+
+(unless (fboundp 'coding-system-list)
+ (defalias 'coding-system-list 'ignore))
+
+(unless (fboundp 'define-ccl-program)
(defmacro define-ccl-program (&rest args)))
+(defmacro w3m-detect-coding-with-priority (from to priority-list)
+ (cond
+ ((featurep 'mule)
+ `(detect-coding-with-priority ,from ,to ,priority-list))
+ ((featurep 'file-coding)
+ `(detect-coding-region ,from ,to))
+ (t
+ 'w3m-default-coding-system)))
+
(defun w3m-detect-coding-region (start end &optional priority-list)
"Detect coding system of the text in the region between START and END.
Return the first possible coding system.
@@ -83,7 +101,7 @@
(setq category (coding-system-category codesys))
(unless (assq category categories)
(push (cons category codesys) categories)))
- (if (consp (setq codesys (detect-coding-with-priority
+ (if (consp (setq codesys (w3m-detect-coding-with-priority
start end (nreverse categories))))
(car codesys)
codesys)))