emacs函数c-forward-sws:错误的类型参数:stringp,nil

Ann*_*nne 5 emacs elisp syntax-highlighting

每当在某些缓冲区中键入任何内容时,我都会在emacs中收到此错误:

c-forward-sws:错误的类型参数:stringp,nil

这似乎是语法上的突出显示;每当输入任何内容时,我都会在处于sh模式的缓冲区中获取它-甚至返回空行。我偶尔也会在C ++模式的缓冲区中获得它,但是我不记得具体的行,也无法在这种模式下重现它。

我最近没有更改过.emacs(我记得)。

任何想法是什么问题?该函数在cc-engine.el中定义,但是我很难弄清楚上下文。

Kir*_*sey 5

可能有个不错的选择,auto-fill-modeauto-fill-functionis是c-do-auto-fill,这对其他语言来说效果不佳。关闭自动筛选(M-x auto-fill-mode)或更改填充功能的值。

您应该能够auto-fill-mode使用M-x debug-on-entryRET 显式调试该条目,auto-fill-mode并查看正在调用什么。可能有一个挂钩将其打开,它将显示在堆栈跟踪中。

[更新]

我发现auto-fill-function正在设置的全局值(应该始终是局部于缓冲区的)。结果是所有缓冲区默认都使用该函数自动填充。我尚未确定如何设置全局值,但可以使用清除它(setq-default auto-fill-function nil)