[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ftp
の失敗
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxxxxxxxxxx>
- Date: Wed, 09 Jan 2002 19:33:05 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 02533
寺西さんの http://www.gohome.org/elpoint/ を読んで感動して、導入
しようと思い、上記のページの
<a href="ftp://ftp.gohome.org/pub/elisp/elpoint/elpoint-0.1.0.tar.gz">elpoint-0.1.0.tar.gz</a>
でリターンしたところエラーになりました。調べていったところ(途中
の簡単な問題(*1)はおいといて)、最終的に w3m-goto-ftp-url() で
(file-directory-p "/anonymous@ftp.gohome.org:/pub/elisp/elpoint/elpoint-0.1.0.tar.gz")
=> t
となるのが大問題だということがわかりました。Emacs21, Meadow とも
に 't' になります。
XEmacs だと 'nil' になるので ange-ftp より efs の方が賢いのはわ
かったのですが ^^;;
もしかして、こうなるのはぼくだけかしら?
いろいろ試したところ、以下のようにすればうまくいくようなのですが、
危なそうなパターンで追試して貰えませんでしょうか?
(defun w3m-file-directory-p (file)
(when (file-exists-p file)
(let (dirp (i 10))
(catch 'loop
(while (> i 0)
(setq dirp (car (file-attributes file)))
(if (stringp dirp)
(setq file (expand-file-name
dirp
(file-name-directory (directory-file-name file)))
i (1- i))
(throw 'loop dirp)))))))
(w3m-file-directory-p "/anonymous@ftp.gohome.org:/pub/elisp/elpoint/elpoint-0.1.0.tar.gz")
=> nil
(w3m-file-directory-p "/anonymous@ftp.gohome.org:/pub/elisp/elpoint/")
=> t
(w3m-file-directory-p "/anonymous@ftp.m17n.org:/pub/linux-sh")
=> t
(w3m-file-directory-p "/anonymous@ftp.mew.org:/pub/Mew/mew-current.tar.gz")
=> nil
(w3m-file-directory-p "/anonymous@ftp.mew.org:/pub/Mew/incm-0.5.tar.gz")
=> nil
(w3m-file-directory-p "/anonymous@ftp.gnu.org:/non-gnu")
=> t
(w3m-file-directory-p "/anonymous@ftp.gnu.org:/non-gnu/")
=> t
ちなみに、file-chase-links() を使っていないのは、Meadow で動かな
かったからです。うーむ。
# gohome を例にあげているのは他意はありません。(_ _)
# 他のところでもこうなります。
## おいら XTT なんて動かないぞ、ってちょっと悔しいだけです ^^;;
--
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)
(*1) 以下のようにしておかないとだめ、このパターン、ほかにもないかなぁ。
(defun w3m-local-content-type (url)
(if (file-directory-p
(if (w3m-url-local-p url)
(w3m-url-to-file-name url)
url))
"text/html"
(catch 'type-detected