[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26635: 回复: bug#26635: 25.1; elisp docs bug
From: |
Andreas Schwab |
Subject: |
bug#26635: 回复: bug#26635: 25.1; elisp docs bug |
Date: |
Mon, 24 Apr 2017 12:50:20 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
On Apr 24 2017, "zhangjg" <jinguozhang@qq.com> 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, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."