如何修复* Backtrace * buffer(emacs)中损坏的文本

时间:2014-11-12 16:46:00

标签: emacs elisp

启用debug-on-error时,我在 Backtrace 缓冲区中的文本损坏时遇到问题。 像这样。

示例 enter image description here

它说可能是日语。但是,我无法理解这个消息。 有谁知道解决方法?我可以用英语显示信息。 任何帮助,将不胜感激。提前谢谢。

条件

操作系统:Ubuntu 14.10

emacs版本:24.4.1(x86_64-unknown-linux-gnu,GTK +版本3.12.2)

3 个答案:

答案 0 :(得分:3)

是的,它是字节码。不,它不应该在回溯中显示。或者至少应该有一个用户选项,不要在回溯中显示它。

这是4年前报道的Emacs bug #6991

可悲的是,它尚未修复,只是简单地转移到“ Wishlist ”(实际上又名/dev/null)。

Bug #15789也抱怨回溯中的字节码。)

答案 1 :(得分:3)

正如其他答案所说,这是字节码。你看到了这个,因为emacs没有评估源代码。这种效用可能是值得商榷的;但有时字节代码可以提供有关正在发生的事情的提示。

要解决此问题,您应该使用helm源代码(只需单击其中一个函数,例如helm-update然后M-x eval-buffer)。在那之后,你应该看到一个更有意义的回溯。 (我无法测试这个:我通过package-install安装了helm,在debug-on-entry helm-aproposhelm-apropos之后,我没有看到任何字节代码。你是如何安装helm的? ?)

答案 2 :(得分:1)

这不是任何人类语言的文本,而是从Emacs Lisp编译的Emacs字节代码。 (我不确定为什么这会显示在回溯缓冲区中 - 默认情况下它也可能被隐藏,因为它不太可能有助于解决任何问题。)

您可以从上面看到的是,函数helm-mp-highlight-region使用re-search-forward参数调用nil,但re-search-forward需要字符串。这可能是Helm中的一个错误。