我使用Dave Love的noweb-mode来编辑LaTeX和C代码混合的文件。爱的模式使用他的multi-mode在模式之间来回切换。 这种切换是通过间接缓冲区完成的。如何诊断涉及间接缓冲区的emacs lisp问题?
在Emacs 21中,该模式似乎运行良好。但强制升级到Emacs 23已经揭示了一些问题:
在模式之间转换时,标记会丢失。
当在两个不同的可见窗口中查看相同的缓冲区时,窗口A中的移动偶尔会导致窗口B中的移动,并且还会导致窗口B的
point
移动。
我试图诊断和修复这些故障。我设法通过关闭所有缓冲区/模式切换来解决问题1,而(region-active-p)
。但问题2让我完全陷入困境。我甚至不知道如何诊断它。
我期待的任何帮助,尤其是回答以下两种问题:
我应该如何设法弄清这个问题?
我在哪里可以找到一个清晰和更完整的间接缓冲区语义解释? GNU Emacs Lisp参考手册没有多说,我不确定阅读源代码是最好的下一步。
为了解决问题,我建议尝试Emacs 24,它刚刚正式发布。 – phils
@phils我在等待它被添加到Debian –
在这种情况下,我可以建议的是'M-x report-emacs-bug',如果你认为这是间接缓冲机制本身的问题。从'emacs -Q'复制问题的配方肯定会有用。 – phils