我的~/.emacs启动文件存储在我的AFS主目录中。 通常,当我login到Linux机器时,在尝试使用Emacs编辑本地(非AFS)文件之前,我将忘记更新我的AFS凭证。
当发生这种情况时,Emacs将尝试加载~./emacs但不能,因为它在AFS空间,我没有访问权限。 最终( ~./emacs一分钟后)Emacs将放弃尝试加载~./emacs并继续。 但等待Emacs超时是很烦人的(键入Ctrl-Z似乎不会中断这个超时)。
我想缩短Emacs在放弃之前等待的时间。 我已经尝试了在这个网站上的build议,说把下面的代码放在site-start.el文件中:
(with-timeout (4) (load remote-.emacs))
然而,当我这样做时,我得到了Error in init file: Symbol's value as variable is void: remote-\.emacs的错误Error in init file: Symbol's value as variable is void: remote-\.emacs每当启动Emacs。
我怎样才能缩短这个超时时间?
您的示例失败,因为remote-.emacs不被引用。 这将工作:
(有超时(4)
(加载“remote-.emacs”))
但是,从emacs文档 :
定时器只能在程序调用一个可以等待的原语时才能在Lisp程序中运行,而在计算过程中,超时不能停止执行正文。
我假设emacs被您的操作系统阻塞,等待远程文件通过AFS超时。 因此,我怀疑在emacs中设置超时可能不起作用。