【发布时间】:2014-11-12 16:46:00
【问题描述】:
启用错误时调试后,Backtrace 缓冲区中的文本已损坏。 像这样。
示例
它用日语说也许。但是,我无法理解该消息。 有谁知道解决方法?我可以用英文显示消息。 任何帮助,将不胜感激。提前致谢。
条件
操作系统:Ubuntu 14.10
emacs 版本:24.4.1(x86_64-unknown-linux-gnu,GTK+ 版本 3.12.2)
【问题讨论】:
启用错误时调试后,Backtrace 缓冲区中的文本已损坏。 像这样。
示例
它用日语说也许。但是,我无法理解该消息。 有谁知道解决方法?我可以用英文显示消息。 任何帮助,将不胜感激。提前致谢。
条件
操作系统:Ubuntu 14.10
emacs 版本:24.4.1(x86_64-unknown-linux-gnu,GTK+ 版本 3.12.2)
【问题讨论】:
是的,它是字节码。不,它不应该显示在回溯中。或者至少应该有一个用户选项不在回溯中显示它。
我是 Emacs bug #6991,这是 4 年前报道的。
遗憾的是,它尚未修复,只是被移至“Wishlist”(实际上又名/dev/null)。
(Bug #15789 还抱怨回溯中的字节码。)
【讨论】:
正如其他答案所说,这是字节码。您会看到这一点,因为 emacs 尚未评估源代码。这种效用可能值得商榷。不过,有时字节码可以提示正在发生的事情。
要解决此问题,您应该访问 helm 源代码(只需单击其中一个函数,例如 helm-update,然后单击 M-x eval-buffer)。之后,您应该看到更有意义的回溯。 (但我无法对此进行测试:我通过 package-install 安装了 helm,在 debug-on-entry helm-apropos 和 helm-apropos 之后,我没有看到任何字节码。你是如何安装 helm 的?)
【讨论】:
这不是任何人类语言的文本,而是从 Emacs Lisp 编译的 Emacs 字节码。 (我不确定为什么它会显示在回溯缓冲区中——它也可能默认隐藏,因为它不太可能有助于解决任何问题。)
您可以从上面了解到,函数 helm-mp-highlight-region 正在使用 nil 参数调用 re-search-forward,但 re-search-forward 需要一个字符串。这可能是 Helm 中的一个错误。
【讨论】: