TL; DR
Antes de definir qualquer variável, você deve saber como essa variável deve ser interpretada. Da mesma forma, antes de chamar qualquer função (incluindo as usadas para alternar entre modos menores), você deve saber como os argumentos dessa função são interpretados.
Use C-hfe C-hvconsulte a documentação da função ou variável em questão. Ele deve especificar os valores que são esperados.
"Não nulo" significa literalmente qualquer coisa que não seja nil
. Isso inclui 0
números negativos.
Modos menores
Vamos dar um exemplo específico. Digite C-hfblink-cursor-mode
e pressione RETpara ver a documentação da função para blink-cursor-mode
:
(modo de cursor intermitente e ARG opcional)
Alterna o cursor a piscar (modo Cursor intermitente). Com um argumento de prefixo ARG, ative o modo Cursor intermitente se ARG for positivo e desative-o caso contrário. Se chamado do Lisp, ative o modo se o ARG for omitido ou nulo.
Podemos ativar o modo Cursor intermitente de qualquer uma das seguintes maneiras:
(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)
Observe que um argumento de t
funcionará, mesmo que a sequência de documentos não o tenha mencionado especificamente. Embora esse seja geralmente o caso, sua aposta mais segura é usar o que a sequência de documentos diz para você usar, o que, nesse caso, é um valor positivo.
Além disso, observe que um argumento de nil
funcionará. Eu recomendaria fortemente contra nil
dessa maneira, porque torna sua intenção pouco clara. Se eu estivesse examinando seu código lisp e vi um nil
argumento, presumiria que você desejava desativar o modo secundário.
Também podemos desativar blink-cursor-mode
das seguintes maneiras:
(blink-cursor-mode 0) ; Non-positive argument
(blink-cursor-mode -1) ; Negative argument
Observe novamente que essa nãonil
é uma das maneiras de desativar esse modo secundário. Isso é verdade em quase todos os modos menores que você encontrará.
Variáveis
Agora vamos ver um exemplo de variável. Digite C-hvtruncate-lines
e pressione RETpara consultar a documentação da variável truncate-lines
:
truncate-lines é uma variável definida em `C source code '.
Meios diferentes de zero não exibem linhas de continuação. Em vez disso, dê a cada linha de texto apenas uma linha da tela.
Você pode ativar o truncamento de qualquer uma das seguintes maneiras:
(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)
Pode surpreendê-lo que o 0
e o -1
irá funcionar. Novamente, eu recomendaria não usá-los, pois isso torna suas intenções pouco claras.
A única maneira de desativar o truncamento é esta:
(setq truncate-lines nil) ; nil value
Em outras palavras, você pode definir truncate-lines
igual a números, letras, strings, listas, ou qualquer outra coisa que você quiser, desde que não avalia a nil
ele vai permitir truncagem. (Mas você realmente deve ficar com t
ou 1
).