TL; DR
Avant de définir une variable, vous devez savoir comment cette variable doit être interprétée. De même, avant d'appeler une fonction (y compris celles utilisées pour basculer entre les modes mineurs), vous devez savoir comment les arguments de cette fonction sont interprétés.
Utilisez C-hfet C-hvpour consulter la documentation de la fonction ou variable en question. Il doit spécifier les valeurs attendues.
"Non nul" signifie littéralement tout ce qui ne l'est pas nil
. Cela inclut 0
les nombres négatifs.
Modes mineurs
Prenons un exemple spécifique. Tapez C-hfblink-cursor-mode
et appuyez RETpour voir la documentation de la fonction pour blink-cursor-mode
:
(mode curseur clignotant et ARG en option)
Basculer le curseur clignotant (mode curseur clignotant). Avec un argument de préfixe ARG, activez le mode Blink Cursor si ARG est positif et désactivez-le autrement. Si appelé depuis Lisp, activez le mode si ARG est omis ou nul.
Nous pouvons activer le mode Curseur Blink de l'une des manières suivantes:
(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)
Notez qu'un argument de t
va fonctionner, même si la chaîne doc ne le mentionne pas spécifiquement. Bien que ce soit souvent le cas, votre pari le plus sûr est d'utiliser ce que la chaîne de doc vous dit d'utiliser, ce qui dans ce cas est une valeur positive.
Notez également qu'un argument de nil
fonctionnera. Je déconseille fortement nil
de cette façon car cela rend votre intention peu claire. Si je survolais votre code lisp et que je voyais un nil
argument, je supposerais que vous vouliez désactiver le mode mineur.
Nous pouvons également désactiver blink-cursor-mode
de la manière suivante:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Notez à nouveau que ce nil
n'est pas l' une des façons de désactiver ce mode mineur. Cela est vrai de presque tous les modes mineurs que vous rencontrerez.
Variables
Voyons maintenant un exemple de variable. Tapez C-hvtruncate-lines
et appuyez RETpour consulter la documentation de la variable truncate-lines
:
truncate-lines est une variable définie dans le «code source C».
Les valeurs non nulles n'affichent pas les lignes de continuation. Au lieu de cela, donnez à chaque ligne de texte une seule ligne d'écran.
Vous pouvez activer la troncature de l'une des manières suivantes:
(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)
Cela peut vous surprendre que le 0
et le -1
fonctionnent. Encore une fois, je vous déconseille de les utiliser car cela rend vos intentions peu claires.
La seule façon de désactiver la troncature est la suivante:
(setq truncate-lines nil) ; nil value
En d'autres termes, vous pouvez définir truncate-lines
un nombre égal à des chiffres, des lettres, des chaînes, des listes ou tout ce que vous voulez, tant qu'il ne sera pas évalué, nil
il activera la troncature. (Mais vous devriez vraiment vous en tenir à t
ou 1
).