if
式における真理値判定には、重要な側面があります。これまで、「真」と「偽」を、あたかも新しい種類の Emacs Lisp
オブジェクトであるかのように、述語の値として扱ってきました。実際には、「偽」とは単にお馴染みの nil にすぎません。それ以外のもの――文字通りあらゆるもの――が「真」となるのです。
真偽を判定する式は、評価結果がnil以外の値である場合に真と解釈されます。言い換えれば、返される値が47のような数値、"hello"のような文字列、flowersのようなシンボル(nilを除く)、リスト(空でない限り)、あるいはバッファであってもよいということです!