[Mew-dist 551] Anonymous FTP with proxy for 1.55
Osamu KURATI
kurati at example.com
1997年 3月 4日 (火) 16:07:13 JST
こんにちは、倉地@川崎重工です。
早速ですが Mew 1.55 がリリースされたので
http-proxy しか使えない人のための anonymous-ftp を行うパッチを作りました。
とりあえず
httpget.pl
emacs-w3
が使用可能です。
使用方法は .emacs などに
httpget.pl を使う場合
(setq mew-mime-external-ftp-program "httpget.pl")
emacs-w3 を使う場合
(setq mew-mime-external-ftp-program "emacs-w3")
と書いてください。
httpget.pl のありかはわかりません。 (1.54 には contrib/ のなかにあった)
emacs-w3 は
http://www.cs.indiana.edu/elisp/w3/docs.html
からとってください。
--
倉地 修 @ 川崎重工業株式会社 航空宇宙事業部 技術部 制御技術課
kurati_o at example.com , kurati at example.com , QWG02120 at example.com
-------------- next part --------------
--- mew-ext.el-dist Tue Mar 4 12:35:05 1997
+++ mew-ext.el Tue Mar 4 15:39:47 1997
@@ -259,6 +259,18 @@
(message "access-type TFTP is not supported yet")
)
+(defun mew-copy-remote-file (remotefile remoteurl localfile)
+ (cond ((string= "httpget" mew-mime-external-ftp-program)
+ (call-process mew-mime-external-ftp-program nil nil nil
+ remoteurl localfile))
+ ((string= "emacs-w3" mew-mime-external-ftp-program)
+ (progn
+ (if (not (featurep 'w3))
+ (require 'w3))
+ (w3-fetch remoteurl)))
+ (t
+ (ange-ftp-copy-file-internal remotefile localfile t nil nil nil t))))
+
(defun mew-ext-anon-ftp (begin end params &optional input-user)
(require 'ange-ftp)
(let* ((access-type (mew-syntax-get-member params "access-type"))
@@ -273,6 +285,7 @@
(ange-ftp-skip-msgs (concat mew-ext-prog-ftp-skip-msgs
ange-ftp-skip-msgs))
(username "") (filepath nil) (localfile nil) (remotefile nil)
+ (remoteurl nil)
(buffer-read-only nil))
(if directory
(if (string-match ".*/$" directory) ;; xxx Win95???
@@ -302,6 +315,7 @@
(setq username (read-string (format "User name at %s: " site)
(user-login-name))))
(setq remotefile (format "/%s@%s:%s" username site filepath))
+ (setq remoteurl (format "ftp://%s%s" site filepath))
(setq localfile
(expand-file-name
(read-file-name "Save to: "
@@ -311,8 +325,8 @@
(format "The local file exists. Overwrite? ")))
(message "The file wasn't retrieved")
(delete-file localfile)
- (ange-ftp-copy-file-internal remotefile localfile t nil nil nil t))
- (ange-ftp-copy-file-internal remotefile localfile t nil nil nil t))
+ (mew-copy-remote-file remotefile remoteurl localfile))
+ (mew-copy-remote-file remotefile remoteurl localfile))
)))
(defun mew-ext-mail-server (begin end params)
Mew-dist メーリングリストの案内