[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 メーリングリストの案内