projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.13.36: global policy / null-lexenv confusion fix
[sbcl.git]
/
src
/
compiler
/
locall.lisp
diff --git
a/src/compiler/locall.lisp
b/src/compiler/locall.lisp
index
8d34d60
..
f480fcf
100644
(file)
--- a/
src/compiler/locall.lisp
+++ b/
src/compiler/locall.lisp
@@
-832,7
+832,8
@@
(depart-from-tail-set clambda)
(let* ((home (node-home-lambda call))
(depart-from-tail-set clambda)
(let* ((home (node-home-lambda call))
- (home-physenv (lambda-physenv home)))
+ (home-physenv (lambda-physenv home))
+ (physenv (lambda-physenv clambda)))
(aver (not (eq home clambda)))
(aver (not (eq home clambda)))
@@
-841,6
+842,11
@@
(setf (lambda-home clambda) home)
(setf (lambda-physenv clambda) home-physenv)
(setf (lambda-home clambda) home)
(setf (lambda-physenv clambda) home-physenv)
+ (when physenv
+ (setf (physenv-nlx-info home-physenv)
+ (nconc (physenv-nlx-info physenv)
+ (physenv-nlx-info home-physenv))))
+
;; All of CLAMBDA's LETs belong to HOME now.
(let ((lets (lambda-lets clambda)))
(dolist (let lets)
;; All of CLAMBDA's LETs belong to HOME now.
(let ((lets (lambda-lets clambda)))
(dolist (let lets)