Subject: Re: 回复： bug#26635: 25.1; elisp docs bug
From: Andreas Schwab <[email-masked]>
To: "zhangjg" <[email-masked]>
Cc: 26635 <[email-masked]>
Date: Mon, 24 Apr 2017 12:50:20 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Apr 24 2017, "zhangjg" <[email-masked]> wrote:

> Like the fellow code:
>
>   (= 1 1 t) ; error
>   (= 1 2 t) ; nil
>
> t is a symbol, (= 1 1 t) signal a error, that is what we expect. 
> But in the second form there is no error, because  "=" get the
> result before to eval the third argument "t". 

All arguments are evaluated, by the caller.  Try (= 1 2 (foo)), for
example.

> So "=" not to eval all arguments, that is  a "sepecial form" activation.

It may _ignore_ some of its arguments, but that's not what `special
form' is about.  Any function is free to ignore arguments.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."