Index: /branches/ide-1.0/ccl/compiler/PPC/ppc2.lisp
===================================================================
--- /branches/ide-1.0/ccl/compiler/PPC/ppc2.lisp	(revision 6622)
+++ /branches/ide-1.0/ccl/compiler/PPC/ppc2.lisp	(revision 6623)
@@ -3728,5 +3728,7 @@
           (setq val (ppc2-dynamic-extent-form seg curstack val))))
       (if (%ilogbitp $vbitspecial bits)
-        (ppc2-dbind seg val sym)
+        (progn
+          (ppc2-dbind seg val sym)
+          (ppc2-set-var-ea seg var (ppc2-vloc-ea (- *ppc2-vstack* *ppc2-target-node-size*))))
         (let ((puntval nil))
           (flet ((ppc2-puntable-binding-p (var initform)
@@ -3785,4 +3787,5 @@
       (progn
         (ppc2-dbind seg addr (var-name var))
+        (ppc2-set-var-ea seg var (ppc2-vloc-ea (- *ppc2-vstack* *ppc2-target-node-size*)))
         t)
       (progn
@@ -3816,9 +3819,9 @@
 (defun ppc2-close-var (seg var)
   (let ((bits (nx-var-bits var)))
-    (when (and *ppc2-record-symbols* 
-         (%izerop (%ilogand (%ilogior (ash -1 $vbitspecial)
-                                      (%ilsl $vbitpunted 1)) bits)))
+    (when (and *ppc2-record-symbols*
+               (or (logbitp $vbitspecial bits)
+                   (not (logbitp $vbitpunted bits))))
       (let ((endnote (%car (%cdddr (assq var *ppc2-recorded-symbols*)))))
-        (unless endnote (error "ppc2-close-var ?"))
+        (unless endnote (error "ppc2-close-var for ~s ?" (var-name var)))
         (setf (vinsn-note-class endnote) :end-variable-scope)
         (append-dll-node (vinsn-note-label endnote) seg)))))
