为什么我的emacs漫画缓冲区有时似乎共享相同的历史?

为什么我的emacs漫画缓冲区有时似乎共享相同的历史?,emacs,Emacs,我经常会同时打开几个comint缓冲区,例如,我会在数据库中打开一个SQLi缓冲区,在不同的地方打开一组shell缓冲区。有时,由于我无法检测到的原因,所有这些缓冲区开始共享一个公共缓冲区命令历史记录,这样M-p将在shell模式缓冲区中调出我的最后一个SQL命令,以此类推 我怎样才能解决这个问题?到底是什么原因造成的?听起来你的系统中还有一些你没有意识到的事情。一种可能是您的内存中有某种东西。emacs在您不知情的情况下在缓冲区之间混合。另一种可能是您无意中在复制和粘贴系统中移动了数据。您是否

我经常会同时打开几个comint缓冲区,例如,我会在数据库中打开一个SQLi缓冲区,在不同的地方打开一组shell缓冲区。有时,由于我无法检测到的原因,所有这些缓冲区开始共享一个公共缓冲区命令历史记录,这样M-p将在shell模式缓冲区中调出我的最后一个SQL命令,以此类推


我怎样才能解决这个问题?到底是什么原因造成的?

听起来你的系统中还有一些你没有意识到的事情。一种可能是您的内存中有某种东西。emacs在您不知情的情况下在缓冲区之间混合。另一种可能是您无意中在复制和粘贴系统中移动了数据。

您是否已退出任何Shell或SQL会话?我使用emacs已经很久了,但我似乎还记得当shell终止时,命令将成为“全局命令历史列表”的一部分


注意-shell可以退出,但缓冲区仍将存在于emacs中。

历史记录存储在comint输入环中,这是一个缓冲区局部变量。我无法重现你的问题。你能提供一个每次都重现问题的测试用例吗;发生这种情况时没有明显的模式。Emacs 23.1.1,Mac OSX(来自的版本)您可能还需要检查~/.history~/.bash_历史和~/.sh_历史文件当出现此问题时,查看您在shell中看到的内容是否与其中一个历史文件中的内容匹配。我使用的版本是Mac本机版本;Emacs的mac本机版本已经存在多年了,这是一长串版本中的最新版本。X11没有进入这个等式(事实上,我唯一使用它的应用程序是wireshark:/)。Aquamacs对Emacs作为Emacs进行交互的方式改变太多,我无法使用。我试过但讨厌(两次!)