hooks – ¿Cuál es la diferencia entre setq-mode-local y setq-local?

Pregunta:

No entiendo cómo funciona setq-mode-local (mode-local es un paquete de cedet). La documentación de la macro dice:

setq-mode-local es una macro Lisp en `mode-local.el '.

(setq-mode-local MODE y resto ARGS)

Asignar nuevos valores a las variables locales en MODE.
MODE debe ser un símbolo de modo principal.
ARGS es una lista (SYM VAL SYM VAL …).
Los símbolos SYM son variables; son literales (no evaluados).
Los valores VAL son expresiones; son evaluados.
Establezca cada SYM en el valor de su VAL, localmente en búferes que ya están en
MODE, o en búferes cambiados a ese modo.
Devuelve el valor del último VAL.

  1. ¿Es necesario cargar el modo?
  2. ¿En qué se diferencia esto de simplemente agregar una llamada setq-local a un mode-hook?

Respuesta:

La diferencia inmediata es que setq-mode-local también afectará a los búferes ya existentes, mientras que agregar un setq-local al gancho de modo solo afectará a los búferes futuros.

Por supuesto, hay otras diferencias debido a los mecanismos subyacentes utilizados, pero creo que, en una primera aproximación, esta es la única diferencia real.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım