Make the effect of (defvar foo) local.
commitf07a954eeb0930029104402e706165bf89853576
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Dec 2010 04:04:15 +0000 (12 23:04 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Dec 2010 04:04:15 +0000 (12 23:04 -0500)
tree143d5c5a95904a0559d555ae6fe97eaed7839211
parent2c302df3a13236bfbf8ea1b771d13618fcda8d71
Make the effect of (defvar foo) local.
* src/eval.c (apply_lambda): Make static.  Remove eval_flag arg.
(Fsetq): Don't check declared_special.
(Fdefun, Fdefmacro): Use Ffunction.
(Fdefvar): Don't set declared_special for (defvar foo).
(FletX): Check locally-special vars.  Only do specbind once.
(Flet): Check locally-special vars.
(Feval): Don't check declared_special.
(funcall_lambda): Check locally-special vars.
* src/lisp.h (apply_lambda): Remove extern declaration.
* src/lread.c (readevalloop): CSE.
* lisp/subr.el (with-lexical-binding): Remove.
lisp/ChangeLog
lisp/subr.el
src/ChangeLog
src/eval.c
src/lisp.h
src/lread.c