[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

r4200 で ange-ftp 不可



水口@京都 と申します。

Netinstall した Meadow-3.00-dev を r4200-1 にバージョンアップしたら、
ange-ftp が動かなくなってしまいました。

見たところ、 LF改行を求める ftp.exe に対して、
process-coding-system-alist の指定に反して CRLF改行を送るのが直接の原因
の様です。

以下のとおり判断材料が多すぎて整理がつかないのですが、どうすれば良いで
しょうか?


=======================================================================
バージョンアップ前に正常だった設定

以前は、多分 r4177-1 です。

(setq ange-ftp-binary-file-name-regexp "")
(setq ange-ftp-try-passive-mode t)
(setq ange-ftp-ftp-program-name "c:/usr/cygwin/bin/ftp.exe")
(eval-after-load "ange-ftp" '(add-to-list 'ange-ftp-ftp-program-args "-p"))


使用する ftp.exe は少し古い、改行コードの扱い変更前の Cygwin のものです。

c:\usr\cygwin\bin\bash-3.00$ uname -a
CYGWIN_NT-5.1 asdf 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown Cygwin
c:\usr\cygwin\bin\bash-3.00$ ftp --version
ftp (GNU inetutils) 1.3.2


=======================================================================
r4200 にバージョンアップ後の現象

 /ftp:user@host:/ を find-file すると、パスワード入力の後に Unknown
 host と言われ、下記内容の *ftp バッファが現われます。 このバッファは、
 process が無いとやらで操作できません。

ftp> ?Invalid help command foo
ftp> open host
: Unknown host
ftp> 


=======================================================================
調査1

(modify-coding-system-alist 'process "ftp" '(undecided . shift_jis-unix))

を追加してMeadow を再起動しましたが、状況が変りません。


=======================================================================
調査2

ange-ftp-fatal-msgs から "unknown host" を除き、*ftp バッファ を操作し
てみました。

試してみると、空行も Invalid command と言われる他、入力行末尾に空白を入
れると反応が変るコマンドがあります。 以下、# が行末の空白です。

ftp> 
?Invalid command
ftp> open host
: Unknown host
ftp> open host#
host: bad port number-- 
usage: open host-name [port]
ftp> open host 21
Connected to host.domain
220 host FTP server (Version wu-2.6.1-18) ready.
ftp> user user1
331 Password required for user1
Password: password

230 User user1 logged in.
ftp> pwd
?Invalid command
ftp> pwd#
257 "/home/user1" is current directory.


=======================================================================
調査3

.emacs に以下を追加し、 M-x ftp を試してみました。

(setq ftp-program "c:/usr/cygwin/bin/ftp.exe")
(setq ftp-program-options (list "-p"))


結果は以下のとおりです。

(modify-coding-system-alist 'process "ftp" '(undecided . shift_jis-unix))
があれば正常。 続けて ange-ftp を試しても、やはり異常。

(modify-coding-system-alist 'process "ftp" '(undecided . shift_jis-dos))
があれば ange-ftp と同様の異常。


=======================================================================

やはり、 ange-ftp が ftpプロセスを起動するとき、coding-system-alist の
値に反してMeadow から ftpプロセスへのパイプが CRLF改行になる様に思える
のですが。

# 以下は、無関係ですよね?

mw32-process-wrapper-alist is a variable defined in `mw32misc.el'.
Its value is 
(("/\\(bash\\|tcsh\\|svn\\|ssh\\|gpg[esvk]?\\)\\.exe" nil "fakecygpty.exe" . set-process-connection-type-pty))



                                                  よろしくお願いします。
--
水口 元彦 (みなくち もとひこ)
zxcv3794@xxxxxxxxxxxxxxxxx