projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.19.11:
[sbcl.git]
/
src
/
code
/
eval.lisp
diff --git
a/src/code/eval.lisp
b/src/code/eval.lisp
index
7b3764e
..
9bd74e2
100644
(file)
--- a/
src/code/eval.lisp
+++ b/
src/code/eval.lisp
@@
-128,7
+128,7
@@
(if (and (legal-fun-name-p name)
(not (consp (let ((sb!c:*lexenv* lexenv))
(sb!c:lexenv-find name funs)))))
(if (and (legal-fun-name-p name)
(not (consp (let ((sb!c:*lexenv* lexenv))
(sb!c:lexenv-find name funs)))))
- (fdefinition name)
+ (%coerce-name-to-fun name)
(%eval original-exp lexenv))))
((quote)
(unless (= n-args 1)
(%eval original-exp lexenv))))
((quote)
(unless (= n-args 1)
@@
-144,8
+144,8
@@
((null (cddr args))
;; We duplicate the call to SET so that the
;; correct value gets returned.
((null (cddr args))
;; We duplicate the call to SET so that the
;; correct value gets returned.
- (set (first args) (eval (second args))))
- (set (first args) (eval (second args)))))
+ (set (first args) (eval-in-lexenv (second args) lexenv)))
+ (set (first args) (eval-in-lexenv (second args) lexenv))))
(let ((symbol (first name)))
(case (info :variable :kind symbol)
(:special)
(let ((symbol (first name)))
(case (info :variable :kind symbol)
(:special)
@@
-245,6
+245,7
@@
(defun values (&rest values)
#!+sb-doc
"Return all arguments, in order, as values."
(defun values (&rest values)
#!+sb-doc
"Return all arguments, in order, as values."
+ (declare (dynamic-extent values))
(values-list values))
(defun values-list (list)
(values-list values))
(defun values-list (list)