【问题标题】:Emacs calc minibuffer blank face---how to debug?Emacs calc minibuffer 空白面---如何调试?
【发布时间】:2014-11-08 22:39:44
【问题描述】:

运行 emacs calc 时,输入前缀键,例如“m”,然后是“?”应该在 minibuffer 中显示所有与模式相关的命令,作为一种快速帮助工具。

几年来,我注意到这对我不起作用。当我点击'? minibuffer 会在几分之一秒内闪烁帮助,然后变为空白。有时我可以看到渲染的帮助文本的一部分,但通常它空白得太快而无法看到它。

当我运行 emacs -Q 跳过我的 init 文件时,不会发生这种情况,因此它是 init 文件中的一部分,即 cuplprit。

我的初始化文件很大。我想在我的 init 文件的不同位置放置类似 '(exit)' 的内容,以停止处理 init 文件并查看是否可以确定导致问题的原因。

(1) 这样做的正确方法是什么?

(2) 其他人看到 calc 中的 minibuffer 有这个问题吗?

【问题讨论】:

    标签: emacs initialization calc


    【解决方案1】:

    好问题。答案很简单:递归地一分为二

    通过注释掉其中的 1/2,然后是 3/4,然后是 7/8,来做到这一点……这是一个二分搜索,它非常快,尽管一开始可能看起来不是这样。它是系统的,本质上是盲目的(没有思想的)。

    要注释掉一段文本,请使用命令comment-region。要取消注释文本块,请使用 C-u 和相同的命令。

    相信我 - 无论您的 init 文件有多大,您都将很快识别出罪魁祸首代码。如果您从初始化文件加载其他库,并且执行上述练习表明罪魁祸首代码在其中一个库中,那么对该库代码(副本)执行相同的操作:递归地平分它。

    【讨论】:

    • 德鲁,谢谢。我做了二等分并将其缩小到一个 elpa 包。由于这些似乎是自动需要的,我唯一的选择是一次卸载一个包,或者你能想出更好的办法。
    • 不知道 - 我不是 package.el 方面的专家。尝试将库文件(副本)放入您的 load-pathrequire 库中。您可以将副本修改为注释掉的部分等,将其一分为二 - 就像您对 init 文件所做的一样。或者,联系图书馆所有者/作者/维护者。糟糕 - 我现在看到您已经找到了问题所在。
    【解决方案2】:

    经过几个小时试图缩小问题范围,我找到了罪魁祸首。

    当在 calc 中设置 key-chord-mode 时,key help 工具会显示我上面提到的症状。

    希望保持全局启用键和弦并在 calc-mode 中禁用它,但在 calc-mode-hook 中关闭它会为所有模式关闭它。有什么想法吗?

    无论如何,我更接近于弄清楚这个长期的刺激物。

    【讨论】:

    • 我会亲自联系 key-chord 维护者 - 除非您很容易找到答案。
    • 联系了维护者,但他还没有准备好修复。如果calc 窗口获得焦点时有一个钩子会触发会很好,然后我可以直接关闭keychord-mode 然后而不用全局关闭它。
    • 这也发生在我身上。有一个修复就好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2012-01-11
    • 1970-01-01
    • 2019-04-21
    • 2014-03-14
    相关资源
    最近更新 更多