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