Commit f274311c authored by Paul Eggert's avatar Paul Eggert

* eval.c (Fprogn): Check that BODY is a proper list.

parent a048c295
......@@ -538,6 +538,14 @@ file using `set-file-extended-attributes'.
** `visited-file-modtime' now returns -1 for nonexistent files.
Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous
in the presence of files with negative time stamps.
** 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.
* Lisp Changes in Emacs 24.4
......
2013-07-23 Paul Eggert <eggert@cs.ucla.edu>
* eval.c (Fprogn): Check that BODY is a proper list.
Tune UNEVALLED functions by using XCAR instead of Fcar, etc.
* data.c (Fsetq_default):
* eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar)
......
......@@ -454,6 +454,12 @@ usage: (progn BODY...) */)
body = XCDR (body);
}
if (!NILP (body))
{
/* This can happen if functions like Fcond are the caller. */
wrong_type_argument (Qlistp, body);
}
UNGCPRO;
return val;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment