Tenho uma pergunta sobre o Emacs Lisp. Qual é a diferença entre setq e setq-default ?
Os tutoriais dizem que setq tem efeito no buffer local, enquanto setq-default afeta todos os buffers.
Por exemplo, se eu escrevi (setq a-var a-vars-value) em init.el , descobri depois de iniciar o Emacs e abrir um novo buffer, o a-var também está lá e seu valor é a-vars-value . Achei que não deveria estar lá. Parece que não há diferença entre setq e setq-default .
Há algo de errado com meu entendimento?
Por exemplo:
Escrevi (setq hello 123) no arquivo init.el e executo o emacs abuffer no shell, depois insiro "hello Cx Ce" , ele mostra "123". O mesmo acontece quando eu executo isso em todos os novos buffers.
Eu escrevi (setq tab-width 4) no arquivo init.el. Quando executo o Cx Ce de largura de tabulação , ele mostra "8" (o modo atual é 'Texto'). No entanto, quando eu uso (setq-default tab-width 4) , ele mostra "4". Não consigo explicar esse fenômeno.