У меня вопрос о Emacs Lisp. В чем разница между setq и setq-default? Я очень смущен.
Учебники говорят, что setq вступает в силу в локальном буфере, а setq-default влияет на все буферы.
Например, если я написал (setq a-var a-vars-value) в init.el, я обнаружил после запуска Emacs и открытия нового буфера, a-var также существует, а его значение a-vars-value. Я думал, что это не должно быть там. Кажется, нет разницы между setq и setq-default.
Что-то не так с моим пониманием?
Большое спасибо.
Например:
1) Я написал (setq hello 123) в файле init.el, и я запустил emacs abuffer в оболочке, затем введите "hello Cx Ce" , он показывает "123". То же самое происходит, когда я запускаю это во всех новых буферах.
2) Я написал (setq tab-width 4) в файле init.el. Когда я запускаю tab-width C-x C-e, он показывает "8" (текущий режим - "Текст" ). Однако, когда я использую (setq-default tab-width 4), он показывает "4". Я не могу объяснить это явление.