适用于 Windows 的 Emacs 24.2。
case TYPE_LONG:
{ <------- 65383
traceCodePath(20);
tempLongVal = iterator_long(it);
tempLongVal = 10;
if (isBigEndian())
{
swap_endian64(&tempLongValCon, &tempLongVal);
traceCodePath(25); <------- 65601
if (i > 0)
{ <------ get weird from here /* ((substatement-open 65601)) */
} <------ this line aligns with the { below "case" /* ((block-close 65383)) */
} <------ the code afterward all align with { below "case" /* ((block-close 65383)) */
c-mode 缩进从一开始就很好,直到我添加了一些预处理器宏,#ifdef,#else,#end,然后,从代码中的某个点开始,所有之后的缩进都变得混乱。每一行的句法符号都是对的,但是锚的位置都错了,好像不能识别同级的{,而是锚定在上一级前面的某个{。
更奇怪的是,即使我再次删除了那些预处理器宏,缩进也不会再次恢复。
更奇怪的是,有时后来,它无缘无故地恢复了。我不知道是什么操作触发了这个,但我认为最有可能的是“保存”“恢复缓冲区”等。
希望有人能找出原因,在此先感谢。