[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] trunk r113503: * eval.c (Fprogn): Check that BODY is a
Re: [Emacs-diffs] trunk r113503: * eval.c (Fprogn): Check that BODY is a proper list.
Tue, 23 Jul 2013 09:12:56 -0400
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)
> +** Special forms with implied progn now check for proper lists.
> +Starting in Emacs 21.4, a special form with an implied progn of an
> +improper list ignored the trailing value, treating it as nil. For
> +example, (cond (t (message "hello") . "there")) ignored the "there".
> +This inadvertent change to Emacs's behavior has been reverted, and
> +Emacs now signals an error for these improper forms, as it did in
> +version 21.3 and earlier.
I don't think it's a change worthy of documentation since it's probably
not even 100% true (I'd be surprised if the byte-compiler really
consistently signals an error in all those cases).
I don't even think it's a good change: it's good for the compiler to
have such checks and signal errors, but the interpreter should mostly
aim to be fast for correct code and safe for all code, so those extra
checks are just a waste of time (and code space).
- Re: [Emacs-diffs] trunk r113503: * eval.c (Fprogn): Check that BODY is a proper list.,
Stefan Monnier <=