我经常在一个目录中修改foo.cpp
和bar.cpp
(或foo.tex
和bar.tex
)。
在这些编辑会话期间,我多次运行make foo
和make bar
。
在Emacs 23的某些时候,我需要在相应的缓冲区上输入make foo
和make bar
一次。任何后续调用compile
命令都将重用上次在该缓冲区上使用的命令。
现在使用Emacs 24.3.50.1,这个设置变得更糟(使用Emacs 21/22?)。在那里,每个目录保存了一个编译命令。现在它是所有缓冲区的一个命令。
如何恢复以前的设置?我不对polluting每个.cpp
和.tex
文件本地变量感兴趣。
答案 0 :(得分:1)
只需将适用的变量设为buffer-local。
(eval-after-load 'compile
'(progn (make-variable-buffer-local 'compile-command)
(make-variable-buffer-local 'compile-history)))