我在Arch Linux上运行图形化Emacs 24.3.1(在使用控制台版本时也存在此问题).我正在尝试使用TRAMP通过SSH使用需要密码的私钥在远程Fedora系统上打开文件.身份验证工作正常,文件列表也是如此.当我尝试打开文件时,我的Emacs会话挂起了"Tramp:Inserting`/{filename我正试图打开}'...完成".ESC ESC ESC或Cg无法中止.有人有解决方案吗?
题:
如何在前提条件上禁用隐式规则搜索,同时又确保前提条件确实存在?
背景:
考虑以下初始Makefile:
b: a
@echo MAKING B
cp a b
Run Code Online (Sandbox Code Playgroud)
a是制作所需的文件b。如果文件a存在,则make b运行成功。如果不存在,则会出现以下错误:
make: *** No rule to make target `a', needed by `b'. Stop.`
Run Code Online (Sandbox Code Playgroud)
这正是我们所期望的,但是,在检查的输出时make --debug=a b,我们发现即使a存在,也make正在搜索适合的预定义隐式规则a,以查看是否可以重新生成它。例如,如果文件a.c恰好存在,make则将尝试编译a.c以生成文件a。为避免这种情况,我们为a带有空配方的定义了明确的规则。这给了我们更新的Makefile:
a: ;
b: a
@echo MAKING B
cp a b
Run Code Online (Sandbox Code Playgroud)
现在的问题是make b即使a不存在运行方法,这也会导致失败。a在没有寻找要建立的隐式规则的同时,还有其他方法表明应该存在a吗?我想这样做而不给出a检查其存在的方法。