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

Re: ange-ftpで fしたときの挙動。



Takashi Masuda (増田貴士) <masutaka@xxxxxxxxx> writes:
> シンボリックリンクには、@は付いていません。
> 開けないのはディレクトリだけです。

ううむ、そうですか。実行権のあるファイルはどうですか?
'*' は付いているでしょうか&開けますか。

> ネットワーク先のディレクトリには
> 
>   drwxrwxrwx   2 root     other        512 Jun 24  2001 cgi-bin
> 
> のように、/は付きません。

「手で ftp して ls -lF すると / が付く」けれども「ange-ftp した 
dired バッファでは / が付かない」という状況なんですよね? 謎だ。

あとはチェックすることというと

・リモートの環境は何か? 
  (それによっても振舞いが違うので、同じ環境じゃないと追試不能と思う)
・実行権のあるファイルはどうか? ('*' がついているか)
・dired バッファで dired-actual-switches 変数にちゃんと F が入っているか
・他に dired に関する設定は無いか? (meadow -q でも同じ症状か)

くらいかなあ。

> ↓ところで、自分がイタイ設定をしていることに気づきました。(*_*)
> (setq ls-lisp-use-insert-directory-program t)
> これって、lispで lsする設定ですよね?

これは関係ないと思うなあ。これは t にすると、外部コマンドの ls 
を使う、という設定です。ローカルのディレクトリしか関係ないと思い
ます。

増田さんの問題には関係ないと思いますが、誤解の無いように確認して
おくと、

・Meadow(NTEmacs)標準状態で
  すなわち ls-lisp-use-insert-directory-program が nil の状態で
・dired-listing-switches を "-alF" にして
・「ローカルのディレクトリ」(Windows 上の directory) に対して

dired を使うと、まさに増田さんの症状が起こります。この原因は、
Meadow の標準設定ではディレクトリのリスティングには ls-lisp.el
を使っていて、これは -F フラグには対応していないからです。
(see (describe-function 'insert-directory))

でこれを、UNIX 上の Emacs と同様に外部コマンドの ls を使うように
設定するのが
(setq ls-lisp-use-insert-directory-program t)
です。Cygwin などで ls コマンドが入っていればそれを使うので、そ
の ls が -F に対応していればちゃんと使えるようになります。

> 今のところ、Emacsでは確認していませんが、どうなのでしょうか?

ange-ftp の場合はリモートの環境の方が問題なのだと思います。

ちなみに、私の前のメールの問題(シンボリックリンクのファイル)は、
UNIX 上の Emacs でも NTEmacs 21 でも、同じリモートであれば同じ症
状が起こることは確認しています。

-- 
  Keisuke MORI