Emacs 为什么dired do shell命令不能在';上运行';或'';?

Emacs 为什么dired do shell命令不能在';上运行';或'';?,emacs,Emacs,在cygwin上使用emacs,我经常从dired缓冲区使用一个shell命令!绑定到dired do shell命令的是cygstart,例如打开Word文档或Visual Studio项目等 但是点击导致错误无法在或上操作。 我想在绕过它并允许在当前目录和父目录上运行该命令之前找到答案这个限制有什么原因吗?dired do shell命令调用dired get filename 如果您查看dired get filename文档,您将看到 (dired-get-filename &o

cygwin
上使用
emacs
,我经常从
dired
缓冲区使用一个shell命令!绑定到
dired do shell命令
的是
cygstart
,例如打开Word文档或Visual Studio项目等

但是点击
导致错误
无法在
上操作。


我想在绕过它并允许在当前目录和父目录上运行该命令之前找到答案这个限制有什么原因吗?

dired do shell命令
调用
dired get filename

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

(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)
在Dired中,返回此行中提到的文件名

可选arg NO-ERROR-IF-NOT-FILEP表示处理
,并且
。”作为常规文件名,如果此行没有文件名,则返回nil。 否则,在这些情况下会发生错误


调用
dired-get-filename
时不带
NO-ERROR-IF-NOT-FILEP
参数

dired-do-shell命令
调用
dired-get-filename

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

(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)
在Dired中,返回此行中提到的文件名

可选arg NO-ERROR-IF-NOT-FILEP表示处理
,并且
。”作为常规文件名,如果此行没有文件名,则返回nil。 否则,在这些情况下会发生错误


dired get filename
在没有
NO-ERROR-IF-NOT-FILEP
参数的情况下调用

自提出问题以来,此限制已解除


在Emacs(24.3)的当前稳定版本中,您可以在
上使用
dired do shell命令

自提出问题以来,此限制已解除


在当前Emacs(24.3)的稳定版本中,您可以在
上使用
dired do shell命令

这就是我的问题……为什么调用
dired get filename
时没有
无错误-IF-NOT-FILEP
参数?因为它是从dired get-marked文件调用的。此功能通常用于复制/删除/etc标记的文件,这对您来说毫无意义。和。。我不同意这种逻辑,尽管你可能是对的。为什么要惩罚
dired-do-shell命令
,有时是为了方便复制/删除标记的文件。这就是我的问题……为什么调用
dired-get-filename
时没有
NO-ERROR-IF-NOT-FILEP
参数?因为它是从dired-get-marked文件调用的。此功能通常用于复制/删除/etc标记的文件,这对您来说毫无意义。和。。我不同意这种逻辑,尽管你可能是对的。为什么要惩罚
dired do shell命令
,以方便复制/删除标记文件。感谢您的跟进,按照您在我的cygwin Emacs 24.3.1上的描述工作感谢您的跟进,按照您在我的cygwin Emacs 24.3.1上的描述工作