在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")))
答案 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合作。