缩短 Emacs 读取 ~/.emacs 的超时时间

缩短 Emacs 读取 ~/.emacs 的超时时间

我的~/.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 中设置超时可能没有效果。

相关内容