Tengo una pregunta sobre Emacs Lisp. ¿Cuál es la diferencia entre setq y setq-default ?
Los tutoriales dicen que setq tiene efecto en el búfer local, mientras que setq-default afecta a todos los búferes.
Por ejemplo, si escribí (setq a-var a-vars-value) en init.el , encontré después de iniciar Emacs y abrir un nuevo búfer, el a-var también está allí y su valor es a-vars-value . Pensé que no se suponía que estuviera allí. Parece que no hay diferencia entre setq y setq-default .
¿Hay algún problema con mi comprensión?
Por ejemplo:
Escribí (setq hello 123) en el archivo init.el , y ejecuto emacs abuffer en el shell, luego ingresé "hello Cx Ce" , muestra "123". Lo mismo sucede cuando ejecuto esto en todos los búferes nuevos.
Escribí (setq tab-width 4) en el archivo init.el. Cuando ejecuto Cx Ce de ancho de tabulación , muestra "8" (el modo actual es 'Texto'). Sin embargo, cuando uso (setq-default tab-width 4) , muestra "4". No puedo explicar este fenómeno.