File 如何删除带有感叹号的文件!使用emacs';删除文件
我正在尝试使emacs的delete file函数删除名称中带有感叹号的文件 具体的用例是,我将emacs设置为将所有备份文件保存在单个目录中,并删除旧的备份文件。但是,当所有备份文件都放在一个目录中时,目录分隔符File 如何删除带有感叹号的文件!使用emacs';删除文件,file,emacs,File,Emacs,我正在尝试使emacs的delete file函数删除名称中带有感叹号的文件 具体的用例是,我将emacs设置为将所有备份文件保存在单个目录中,并删除旧的备份文件。但是,当所有备份文件都放在一个目录中时,目录分隔符/将替换为 当对名称中带有感叹号的文件调用delete file时,它将返回零,并且不会删除该文件。它没有发出任何错误的信号。通常,delete file返回nil。无论如何,emacs的备份系统使用delete file进行删除,我不希望仅仅为了更改一行而重新定义整个函数 我尝试过反
/
将替换为代码>
当对名称中带有感叹号的文件调用delete file时,它将返回零,并且不会删除该文件。它没有发出任何错误的信号。通常,delete file返回nil。无论如何,emacs的备份系统使用delete file进行删除,我不希望仅仅为了更改一行而重新定义整个函数
我尝试过反斜杠感叹号和shell引用文件名字符串,但两者都不起作用。我发现我的配置中有什么东西导致了这种情况,但我还没有弄清楚是什么原因。我已经跟踪了问题的根源,找到了我的自定义系统将文件移动到垃圾桶函数,现在我必须调试该函数
那么,我怎样才能让这一切顺利进行呢
Emacs版本:
GNU Emacs 23.1.50.1
emacs快照:
安装时间:1:20090730-1~1
M-x delete-file
然后只需输入文件名,不要转义任何内容,只需输入文件名
!home!blah!filename
而且它很有效。lisp调用也是如此
(delete-file "!home!blah!filename")
然后只需输入文件名,不要转义任何内容,只需输入文件名
!home!blah!filename
而且它很有效。lisp调用也是如此
(delete-file "!home!blah!filename")
我找到了答案。我的自定义系统将文件移动到垃圾桶
函数,删除文件将自动使用该函数,在文件名上不适当地调用了shell quote参数
。显然,使用调用进程运行的命令的参数不需要被shell引用。我找到了答案。我的自定义系统将文件移动到垃圾桶
函数,删除文件将自动使用该函数,在文件名上不适当地调用了shell quote参数
。显然,使用调用进程运行的命令的参数不需要被shell引用。您观察到的delete file是交互工作的,这为我提供了所需的线索。我怀疑我的一个自定义设置以某种微妙的方式破坏了完成读取,因此即使删除文件没有提示我输入文件,它也会以某种方式破坏。您观察到删除文件以交互方式工作,这为我提供了所需的线索。我怀疑我的一个自定义设置以某种微妙的方式破坏了完成读取,因此即使删除文件没有提示我输入文件,它也会以某种方式破坏。尝试使用Emacs的官方版本,可能问题出在这个中间版本中。对于阅读此文的任何人,问题是,您不应该对传递给调用进程
的字符串调用shell quote参数。显然,调用过程
绕过了shell,因此shell引用只会产生问题。尝试使用官方版本的Emacs,可能问题出在这个中间版本中。对于任何阅读本文的人,问题是,您不应该对传递给调用进程
的字符串调用shell quote参数。显然,调用过程
绕过了shell,因此shell引用只会产生问题。