summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-12-12 23:04:15 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2010-12-12 23:04:15 -0500
commitf07a954eeb0930029104402e706165bf89853576 (patch)
tree143d5c5a95904a0559d555ae6fe97eaed7839211 /lisp/subr.el
parent2c302df3a13236bfbf8ea1b771d13618fcda8d71 (diff)
downloademacs-f07a954eeb0930029104402e706165bf89853576.tar.gz
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.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index c79a69b221e..99f632fb586 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -427,11 +427,11 @@ Non-strings in LIST are ignored."
(setq list (cdr list)))
list)
-(defmacro with-lexical-binding (&rest body)
- "Execute the statements in BODY using lexical binding."
- `(let ((internal-interpreter-environment internal-interpreter-environment))
- (setq internal-interpreter-environment '(t))
- ,@body))
+;; Remove this since we don't know how to handle it in the byte-compiler yet.
+;; (defmacro with-lexical-binding (&rest body)
+;; "Execute the statements in BODY using lexical binding."
+;; `(let ((internal-interpreter-environment '(t)))
+;; ,@body))
(defun assq-delete-all (key alist)
"Delete from ALIST all elements whose car is `eq' to KEY.