TL; DR
Antes de establecer cualquier variable, debe saber cómo se debe interpretar esa variable. Del mismo modo, antes de llamar a cualquier función (incluidas las utilizadas para alternar modos menores), debe saber cómo se interpretan los argumentos de esa función.
Use C-hfy C-hvpara ver la documentación de la función o variable en cuestión. Debe especificar los valores que se esperan.
"No nulo" significa literalmente todo lo que no es nil
. Esto incluye 0
y números negativos.
Modos menores
Tomemos un ejemplo específico. Escriba C-hfblink-cursor-mode
y presione RETpara ver la documentación de la función para blink-cursor-mode
:
(modo de cursor parpadeante y ARG opcional)
Alternar el cursor parpadeando (modo de cursor de parpadeo). Con un argumento de prefijo ARG, active el modo de parpadeo del cursor si ARG es positivo, y desactívelo de lo contrario. Si se llama desde Lisp, habilite el modo si se omite ARG o es nulo.
Podemos habilitar el modo Cursor de parpadeo de cualquiera de las siguientes maneras:
(blink-cursor-mode) ; Omitted argument
(blink-cursor-mode 1) ; Positive argument
(blink-cursor-mode t) ; True argument
(blink-cursor-mode nil) ; nil argument (don't use this)
Tenga en cuenta que un argumento de t
funcionará, aunque la cadena de documentación no lo mencione específicamente. Si bien este suele ser el caso, su apuesta más segura es usar lo que la cadena de documentos le indica que use, que en este caso es un valor positivo.
Además, observe que un argumento de nil
funcionará. Recomiendo encarecidamente que nil
no lo haga de esta manera porque deja en claro su intención. Si estuviera hojeando su código lisp y viera un nil
argumento, supondría que desea deshabilitar el modo menor.
También podemos desactivarlo blink-cursor-mode
de las siguientes maneras:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Observe nuevamente que esa nonil
es una de las formas de deshabilitar este modo menor. Esto es cierto para casi cualquier modo menor que encuentre.
Variables
Ahora veamos un ejemplo de una variable. Escriba C-hvtruncate-lines
y presione RETpara ver la documentación de la variable truncate-lines
:
truncate-lines es una variable definida en el 'código fuente C'.
No nulo significa no mostrar líneas de continuación. En su lugar, asigne a cada línea de texto una sola línea de pantalla.
Puede activar el truncamiento de cualquiera de las siguientes maneras:
(setq truncate-lines t) ; Boolean true value (non-nil)
(setq truncate-lines 1) ; Positive value (non-nil)
(setq truncate-lines 0) ; Zero value (non-nil)
(setq truncate-lines -1) ; Negative value (non-nil)
Puede sorprenderte que el 0
y el -1
funcionen. Una vez más, recomendaría no usarlos porque deja en claro sus intenciones.
La única forma de deshabilitar el truncamiento es esta:
(setq truncate-lines nil) ; nil value
En otras palabras, puede establecer truncate-lines
números iguales, letras, cadenas, listas o cualquier otra cosa que desee, siempre y cuando no se evalúe nil
, permitirá el truncamiento. (Pero realmente deberías quedarte con t
o 1
).