Windows 上的 Dired 排序错误(使用 Cygwin Emacs)
Error in Dired sorting on Windows (with Cygwin Emacs)
在 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")))
尝试将 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
- 例如,使用自定义。)
总之,我建议您首先尝试使用 ls-lisp 而不是 Cygwin 的 ls
让 Dired 正常工作。这至少会给你一个坚实的 Dired 来工作。如果您愿意,您仍然可以按照所述继续解决您的问题,即让它与 Cygwin Emacs 一起工作。
在 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")))
尝试将 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
- 例如,使用自定义。)
总之,我建议您首先尝试使用 ls-lisp 而不是 Cygwin 的 ls
让 Dired 正常工作。这至少会给你一个坚实的 Dired 来工作。如果您愿意,您仍然可以按照所述继续解决您的问题,即让它与 Cygwin Emacs 一起工作。