1

我总是得到

Error during redisplay: (wrong-type-argument sequencep 42) [22 times]

在 emacs消息缓冲区中。整个消息缓冲区就是这个错误消息。

即使我使用基本模式,错误仍然计算在内。

当我保存缓冲区,更改缓冲区时发生时间计数。但是,只要在一个缓冲区中简单地输入字符或移动光标,时间就不会改变。

我应该怎么做才能找出根本原因?一个更好的方法可以方便地找出这个问题,就像在emacs启动时添加一个--debug-init一样。至少,它可以告诉我哪一行引发错误。

我的设置:emacs 24.1、24.2(当前)。架构Linux。

4

2 回答 2

0

Error during redisplay意味着错误出现在重新显示期间运行的 Elisp 代码中,因此 Emacs 无法方便地为您提供太多信息,因为这需要显示某些内容,而这已经是它正在尝试做的事情。

于 2012-09-01T13:33:36.997 回答
0

这是一个半疯狂的猜测:您的一些代码正试图对模式行文本做一些事情,重新显示试图经常更新。42 作为一个字符是*,而一个字符串是一个序列。这是另一个半疯狂的猜测:您加载的一些代码试图摆弄模式行,尝试将字符 *处理为 string *,对该(预期的)字符串执行序列操作。

无论如何,要找到问题,~/.emacs递归地一分为二,直到找到罪魁祸首代码。(我假设您在没有初始化文件的情况下启动 Emacs 时没有问题:emacs -Q。)

于 2013-10-28T01:29:00.353 回答