Windows上的Dired排序出错(使用Cygwin Emacs)

时间:2015-06-08 14:58:14

标签: windows emacs cygwin dired

在Windows上的Cygwin Emacs中,在Dired中,如果我尝试按时间排序(例如),我会收到错误:

insert-directory: Listing directory failed but `access-file' worked

在Windows上的Windows Emacs二进制文件中,我没有任何问题,但Emacs使用自己的ls IIUC实现。

我不明白的是,Cygwin ls了解--dired-t等选项(按修改时间排序)。

我当前的配置:

;; Switches passed to `ls' for Dired.
(setq dired-listing-switches
      (cond ((eq system-type 'windows-nt) ; Native Windows version of Emacs.
             "-a -F -l")
            (t                            ; Cygwin version of Emacs or ...
             "-a -F --group-directories-first -l --time-style=long-iso")))

1 个答案:

答案 0 :(得分:0)

尝试将dired-listing-switches设置为"-aFl"而不是"-a -F -l"。也许这会产生一些影响(但它不会改变我的任何事情)。

ls-lisp-use-insert-directory-program的价值是多少?如果不是nil,请尝试将其设置为nil,以便您使用ls-lisp而不是Cygwin的ls。 (至少这样做是为了试验,也许你会想坚持下去。)

您对期权ls-lisp-emulation的价值是多少?如果是其他内容,请尝试将其自定义为MS-Windows。 (请务必阅读C-h v以了解此选项 - 例如,使用自定义。)

总而言之,我建议您首先尝试让Dired使用ls-lisp工作,而不是使用Cygwin的ls。这至少会给你一个坚实的潜水工作。如果你愿意,你仍然可以按照规定处理你的问题,即让它与Cygwin Emacs合作。