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

Re: can't byte-compile without w3m



>>>>> In [emacs-w3m : No.03625] 白井秀行さん wrote:

白井さん> ## 夜の部に強い Moderator 募集 ^^;;;

;; 朝は強いけど。:)

鍋谷さん> emacs-w3m-1.3になってから、以下のように、一部のファイルが
鍋谷さん> byte-compile 出来ません。
鍋谷さん> !! Wrong type argument ((stringp nil))

すみません、実は make のときに無駄に w3m コマンドを呼ばないよう
に変更したときに同じエラーに遭遇したので、仮に w3m-command の値
を "w3m" にしたのですが、それが有効なのは現に "w3m" コマンドが存
在している環境でだけだったのですね。

白井さん> えっと、emacs-w3m 側の問題だと思います。w3m.el の 166行目付
白井さん> 近を

(if noninteractive
    ;; Don't call the external command when compiling.
    (setq w3m-command (or w3m-command
			  (w3m-which-command "w3m")
			  (w3m-which-command "w3mmee")
			  (w3m-which-command "w3m-m17n")))
  (when command

白井さん> でどうでしょうか。

うーむ、これも例えば w3m-0.3+cvs-1.999 なんて名前だったらダメな
ので (^^;;)、make 時に (noninteractive が t のときに) ぜったいに
w3m コマンドの実体を探さないようにしてみました。CVS 幹と 1_3 枝
です。

;; defcustom の `:type' で対策しましたが、そういうものは byte-
;; compile されないので (というのも問題じゃないかと思うが)、
;; make 時に w3m コマンドが無くても、その情報は .elc ファイルに
;; 記録されません。

それから、リリース版の w3m_el-1.3 に当たるパッチを添付しますね。

白井さん> ## ということは w3m が無いと byte-compile できないのか。。。。

たぶん今は大丈夫だと思うのですが。
--- w3m_el-1.3/w3m.el~	2002-07-07 09:30:14 +0000
+++ w3m_el-1.3/w3m.el	2002-07-09 23:06:25 +0000
@@ -787,19 +787,20 @@
   (` ((gzip "gzip" ("-d"))	;; Don't use "gunzip" and "bunzip2"
       (bzip "bzip2" ("-d"))	;; for broken OS & environment
       (deflate
-	(, (let ((file
-		  (expand-file-name
-		   (concat "../lib/"
-			   (file-name-nondirectory w3m-command)
-			   "/"
-			   (if (memq system-type '(windows-nt OS/2 emx))
-			       "inflate.exe"
-			     "inflate"))
-		   (file-name-directory
-		    (w3m-which-command w3m-command)))))
-	     (if (file-executable-p file)
-		 file
-	       "inflate")))
+	(, (if (not noninteractive)
+	       (let ((file
+		      (expand-file-name
+		       (concat "../lib/"
+			       (file-name-nondirectory w3m-command)
+			       "/"
+			       (if (memq system-type '(windows-nt OS/2 emx))
+				   "inflate.exe"
+				 "inflate"))
+		       (file-name-directory
+			(w3m-which-command w3m-command)))))
+		 (if (file-executable-p file)
+		     file
+		   "inflate"))))
 	nil)))
   "Associative list of DECODER."
   :group 'w3m
@@ -1003,12 +1004,13 @@
   :group 'w3m
   :type (` (choice (const :tag "w3m internal CGI" nil)
 		   (file :tag "path of 'dirlist.cgi'"
-			 (, (expand-file-name
-			     (concat "../lib/"
-				     (file-name-nondirectory w3m-command)
-				     "/dirlist.cgi")
-			     (file-name-directory
-			      (w3m-which-command w3m-command))))))))
+			 (, (if (not noninteractive)
+				(expand-file-name
+				 (concat "../lib/"
+					 (file-name-nondirectory w3m-command)
+					 "/dirlist.cgi")
+				 (file-name-directory
+				  (w3m-which-command w3m-command)))))))))
 
 (defcustom w3m-add-referer-regexps
   (when (or (not (boundp 'w3m-add-referer))
-- 
Katsumi Yamaoka <yamaoka@jpl.org>