Emacs - require-final-newline本地值覆盖全局值

时间:2015-10-02 10:42:08

标签: emacs emacs24 emacs-prelude

我想将每个缓冲区的require-final-newline设置为nil。 在我的配置文件中,我有:

(setq require-final-newline nil)
(setq-default require-final-newline nil)

似乎正确设置了全局值。但是,在我打开的每个缓冲区中,本地值仍为t。使用describe-variable,我得到:

require-final-newline is a variable defined in `files.el'.
Its value is t
Original value was nil
Local in buffer myfile.js; global value is nil

files.el位于/usr/local/Cellar/emacs/24.5/share/emacs/24.5/lisp/,所以我想我不应该修改它。 如何将此本地值设置为nil

1 个答案:

答案 0 :(得分:3)

首先,有些模式会强制设置require-final-newline,因为这些文件需要最终换行符。但是,我不相信js-mode就是其中之一。

据推测,您有一些导致此问题的自定义配置,可能是通过js-mode-hookprog-mode-hook设置的。

使用emacs -Q确认这不是默认行为,然后您可以设置跟踪罪魁祸首(我只会{el}文件中M-x rgrep的{​​{1}}。