Top / 質問集 / 143

dired で表示できないディレクトリがある

  • ページ: 質問集
  • 投稿者: こう?
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー: Emacs
  • 投稿日: 2010-07-22 (木) 19:09:58
  • バージョン: 23

メッセージ

NEemacs23 を使用しています "表"というファイル名(拡張子なし、" もなし)のファイルがあるディレクトリを指定してdired を実行すると "Format specifier doesn't match argument type" というエラーが発生してディレクトリが表示されません。 NTemacs22 ではディレクトリは表示されるのですが、"表"というファイルは表示されません。さらに、"s" (sort) するとエラーになります。(エラーはメモしてません。すみません) Meadow3 ではちゃんと動作していました。 Meadow3 は Network Install したものです。 ls-lisp.el を Meadow3 から試しにコピーしてもエラーは同じでした。 NTemacs でも .emacs に (setq ls-lisp-use-insert-directory-program t) を設定するとディレクトリは表示可能になりますが、"表"ファイル上で e しても "File no longer exists" になります。Meadow のネタでなくて申し訳ありませんが原因などがわかる方がいらっしゃればよろしくお願いします。


  • DiredのバッファはShift-JISでしょうか?「表」っていわゆるダメ文字ですよね。 -- masutaka? 2010-07-22 (木) 21:35:23
  • いわゆるダメ文字問題? -- 2010-07-22 (木) 22:56:42
  • はい。Shift-JISです。表とか貼とかがだめなのですが、ファイル名の途中にあってもOKなのにファイル名の最後にあるときだけ変な挙動になります。 -- こう? 2010-09-06 (月) 17:17:35
  • そういうこともあるかもしれませんね。UTF-8 にするのが無難かもしれません。試していませんが、Cygwin を最新にして(default localeがUTF-8なはず)、(prefer-coding-system 'utf-8) でどうでしょう? -- masutaka? 2010-09-06 (月) 21:15:15
  • Cygwin 1.7 にしてもだめでした。DiredのバッファはUTF8になるのですが、挙動は同じ(表という名前のファイルでeしても"File no longer exists")でした。 -- こう? 2010-09-16 (木) 20:03:58
  • なんかの役に立つかもしれないので、Cygwin 1.7 にした時の注意事項を書いておきます。 -- こう? 2010-09-16 (木) 20:05:42
  • ls -l した時のグループ名がデフォルトでは'なし'となり、これがSJISで表示されるため、Diredバッファーの表示が変になる。 --> /etd/group の'なし'を'None'に変える -- こう? 2010-09-16 (木) 20:07:46
  • file-name-coding-system が 'cp932-dos だと dired バッファーが文字化けするので nil にする -- こう? 2010-09-16 (木) 20:09:04
  • file-name-coding-system を nil にすると Fiber.exe に変なファイル名を渡されてしまうので、結局 file-name-coding-system を 'cp932-dos に戻し、prefer-coding-system の設定をやめ、元に戻しました。色々ご助言いただいたのにすみません。 -- こう? 2010-09-16 (木) 20:11:55
  • 文字コードの設定は (set-language-environment "Japanese") (prefer-coding-system 'utf-8) だけで OK なはず。それで Shift-JIS とか考えなくてよくなると思います。Fiber.exe っては UTF-8 に対応していましたっけ? -- masutaka? 2010-09-16 (木) 21:57:20

お名前:

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Thu, 16 Sep 2010 21:57:20 JST (2566d)