【发布时间】:2012-06-15 11:23:15
【问题描述】:
我正在使用 Dave Love 的 noweb-mode 编辑一个混合了 LaTeX 和 C 代码的文件。 Love的模式使用他的multi-mode在模式之间来回切换。 这种切换是通过间接缓冲区完成的。
在 Emacs 21 中,该模式似乎运行良好。但是强制升级到 Emacs 23 却发现了一些问题:
在模式之间进行转换时,标记会丢失。
在两个不同的可见窗口中查看同一个缓冲区时,在窗口 A 中的移动偶尔会导致窗口 B 的移动,同时也会导致窗口 B 的
point移动。
我正在尝试诊断和修复这些故障。我设法通过在(region-active-p) 时关闭所有缓冲区/模式切换来解决问题 1。但是问题 2 让我完全难住了。我什至不知道如何诊断。
我正在寻求任何帮助,尤其是这两个问题的答案:
我应该如何尝试诊断这个问题?
在哪里可以找到关于间接缓冲区语义的更清晰、更完整的解释? GNU Emacs Lisp 参考手册没有说太多,我不确定阅读源代码是不是最好的下一步。
【问题讨论】:
-
如果它解决了问题,我建议尝试一下刚刚正式发布的 Emacs 24。
-
@phils 我正在等待它被添加到 Debian
-
在这种情况下,我只能建议
M-x report-emacs-bug,如果您断定这是间接缓冲机制本身的问题。从emacs -Q复制问题的方法肯定会很有用。
标签: elisp emacs23 literate-programming