为什么dired-do-shell-command不能运行'。'要么 '..'?

时间:2012-10-24 18:59:15

标签: emacs

emacs上使用cygwin,我经常使用dired缓冲区使用的一个shell命令使用绑定到dired-do-shell-command {{1 。,。eg打开Word文档或Visual Studio项目或其他任何内容。

但在当前目录条目cygstart上点击!会导致错误.。或Cannot operate on

我想在绕过它之前发现并允许命令在当前和父目录上运行。 这个限制有什么理由吗?

2 个答案:

答案 0 :(得分:1)

dired-do-shell-command来电dired-get-filename

如果您查看dired-get-filename文档,您将看到

(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)
  

在Dired中,返回此行中提到的文件名。

     

...

     

可选arg NO-ERROR-IF-NOT-FILEP意味着将.' and ..'视为常规文件名,如果此行没有文件名,则返回nil。   否则,在这些情况下会发生错误。

没有dired-get-filename参数

的情况下调用

NO-ERROR-IF-NOT-FILEP

答案 1 :(得分:0)

自提出问题以来,这一限制已被取消。

在当前稳定版的Emacs(24.3)中,您可以使用dired-do-shell-command上的...