【问题标题】:How do I disable warnings at initialization in Emacs?如何在 Emacs 初始化时禁用警告?
【发布时间】:2014-07-08 02:14:30
【问题描述】:

自从我安装了 emacs24 后,我的配置文件中的一些微小的无关紧要的部分就停止了工作。因为我并不真正关心这个错误并且它不会影响我我只想让 Emacs 关闭初始化警告并打开暂存缓冲区(因为它打开了带有一些错误内容的第二个缓冲区)。

有没有办法做到这一点,而不必花几个小时来调试我不懂的 lisp 代码?

我真的不能发布配置文件,因为它真的很大而且很乱,但这是我得到的警告:

警告(初始化):加载`/home/sofia/.emacs'时出错:

Symbol的函数定义为void:plist-to-alist

为确保正常运行,您应该调查并删除 初始化文件中的错误原因。启动 Emacs `--debug-init' 选项来查看完整的错误回溯。

简而言之,我不想保证正常运行,我只想要打开emacs时的一个缓冲区

【问题讨论】:

  • 这不会直接回答你的问题,但我认为this other answer 解释了如何修复错误而不是忽略它。
  • +1 修复或删除错误,而不是忽略或屏蔽它。一个好的程序员应该为他们的工具感到自豪。回溯的最高级别应该将您指向 .emacs 中的违规行 - 然后,如果您不想投资修复,您可以删除包含的 sexp。
  • 谢谢,解决了这个特殊问题,但总的来说,是的,这不是答案。我想摆脱那些警告,它经常发生,我真的不想每次发生时都坐下来修复 elisp 代码。
  • 您永远无法保证您现有的配置将与 Emacs 的新版本 100% 兼容,因此如果您无法解决配置问题,那么升级 Emacs 就会有风险。我强烈建议您恢复到您的配置工作的 Emacs 版本,而不是使用损坏的配置运行。推迟升级,直到您有时间解决问题。
  • 没有人提到明显的——即,在源文件中搜索术语plist-to-alist,你会确切地看到问题出在哪里——包含该函数定义的库尚未加载,或者该功能不再存在。 Carl Groner 上面的链接也提供了一个自己创建缺失函数的解决方案。

标签: emacs elisp


【解决方案1】:

我并不是说这样做是个好主意(事实上,我非常同意@Carl Groner 和@rashimoto 的观点,即掩盖错误而不是修复它们通常是一个坏主意™ ),但请您自担风险尝试将以下内容添加到您的 .emacs 文件的顶部:

(setq warning-minimum-level :emergency)

这告诉 Emacs 除了问题之外不要警告你

如果你不及时处理[它们],很快就会严重影响 Emacs 的运行。

相比之下,warning-minimum-level 的默认值是:warning,这会导致 Emacs 发出警告

本质上不是错误的数据或情况,但会引起对可能问题的怀疑。

有关警告和处理它们的选项的更多信息herehere

【讨论】:

    猜你喜欢
    • 2022-10-24
    • 2016-07-07
    • 2020-10-08
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多