每个缓冲区一个编译命令,而不是目录

时间:2014-04-10 17:40:11

标签: emacs emacs24 emacs23

我经常在一个目录中修改foo.cppbar.cpp(或foo.texbar.tex)。

在这些编辑会话期间,我多次运行make foomake bar

在Emacs 23的某些时候,我需要在相应的缓冲区上输入make foomake bar一次。任何后续调用compile命令都将重用上次在该缓冲区上使用的命令。

现在使用Emacs 24.3.50.1,这个设置变得更糟(使用Emacs 21/22?)。在那里,每个目录保存了一个编译命令。现在它是所有缓冲区的一个命令。

如何恢复以前的设置?我polluting每个.cpp.tex文件本地变量感兴趣。

1 个答案:

答案 0 :(得分:1)

只需将适用的变量设为buffer-local。

(eval-after-load 'compile
  '(progn (make-variable-buffer-local 'compile-command)
          (make-variable-buffer-local 'compile-history)))