¿Significa que la programación en C se ejecuta bajo prog-mode
y c-mode
?
No, porque, como luego citan:
Los modos principales son mutuamente excluyentes; cada búfer tiene uno y solo un modo principal en cualquier momento.
Por lo tanto, su búfer solo puede estar en uno u otro.
¿Es prog-mode
un modo universal para todos los programas?
No, es un modo primario universal para todos los modos de programación.
También implica que prog-mode
es un modo principal como c-mode
.
Sí, prog-mode
es un modo principal normal derivado de fundamental-mode
. Del mismo modo c-mode
es un modo mayor normal derivado de prog-mode
. La diferencia es que prog-mode
solo está bastante desnudo y no está destinado a habilitarse directamente.
¿Qué hace prog-mode
aquí? ¿Es un modo menor pero se menciona ampliamente en la parte del modo mayor?
No, es un modo mayor normal. Se proporciona como una convención para que los principales autores de modos deriven sus modos, y como una conveniencia para que los usuarios personalicen más fácilmente todos sus modos de programación.
Por ejemplo, si un usuario desea habilitar show-trailing-whitespace
en todos sus modos de programación, primero puede definir un enlace como el siguiente:
(defun my-show-trailing-space ()
"Enable `show-trailing-whitespace' in the current buffer."
(setq show-trailing-whitespace t))
En lugar de agregar esta función al enlace de modo de cada modo de programación que usan, así:
(mapc (lambda (hook)
(add-hook hook #'my-show-trailing-space))
'(c-mode-common-hook
emacs-lisp-mode-hook
perl-mode-hook
prolog-mode-hook
...))
En su lugar, simplemente pueden agregarlo al enlace de modo del modo principal, es decir prog-mode-hook
:
(add-hook 'prog-mode-hook #'my-show-trailing-space)
Como tal, prog-mode
proporciona configuraciones comunes para todos los modos de programación derivados de él.