Node:Truth & Falsehood, Next:save-excursion, Previous:else, Up:Writing Defuns
There is an important aspect to the truth test in an if
expression. So far, we have spoken of `true' and `false' as values of
predicates as if they were new kinds of Emacs Lisp objects. In fact,
`false' is just our old friend nil. Anything else--anything
at all--is `true'.
The expression that tests for truth is interpreted as true
if the result of evaluating it is a value that is not nil. In
other words, the result of the test is considered true if the value
returned is a number such as 47, a string such as "hello", or a
symbol (other than nil) such as flowers, or a list, or
even a buffer!
nil has two meanings.