• Stefan Monnier's avatar
    Make the effect of (defvar foo) local. · f07a954e
    Stefan Monnier authored
    * 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.
    f07a954e
lread.c 130 KB