setq чувствительности к регистру в .emacs не влияет

В моем файле .emacs есть много пользовательских вещей: шрифты, цвета, размер окна, привязки клавиш и т. д. Все это работает.

Затем в конце я просто добавил: (setq case-fold-search nil). Это переменная, которая при установке в nil должна сделать поиск чувствительным к регистру во всех режимах emacs. Это не для меня.

Установка case-fold-search в nil в отдельном буфере работает, но когда я устанавливаю его в .emacs, это не работает. Есть ли причина, по которой объявление setq в .emacs может иногда не работать? Как я должен попытаться отладить проблему?


person Alan Turing    schedule 17.03.2011    source источник
comment
я обнаружил, что мне нужно удалить ', иначе этот оператор не будет работать (в .emacs)   -  person Michael    schedule 11.07.2013


Ответы (1)


Это нормальное поведение для локальных переменных буфера. setq-default можно использовать, чтобы установить для них значение по умолчанию.

Вы можете определить, что переменная является буферной локальной, проверив ее документацию, используя Ch v case-fold-search (или Mx description-variable), который в этом случае сообщает (обратите внимание на 4-ю строку):

case-fold-search is a variable defined in `buffer.c'.
Its value is t

  Automatically becomes buffer-local when set in any fashion.

Documentation:
*Non-nil if searches and matches should ignore case.

You can customize this variable.
person geekosaur    schedule 17.03.2011
comment
Также обратите внимание, что C-h v case-fold-search RET сообщает вам, является ли переменная локальной для буфера. - person phils; 18.03.2011
comment
Спасибо, отличный ответ. Вы, ребята, рок. - person Alan Turing; 18.03.2011