[Date Prev][Date Next][Thread Prev][][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)))