Changeset 11644


Ignore:
Timestamp:
02/08/09 14:00:03 (14 years ago)
Author:
vvoutilainen
Message:

Further cleanup for p1-flet/labels.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp

    r11643 r11644  
    408408      ,@body1)))
    409409      (setf ,local-functions-var (nreverse ,local-functions-var))
     410      ;; Make the local functions visible.
     411      (dolist (local-function ,local-functions-var)
     412        (push local-function *local-functions*)
     413        (let ((variable (local-function-variable local-function)))
     414    (when variable
     415      (push variable *visible-variables*))))
    410416      ,@body2)))
    411417
     
    431437       (push variable *all-variables*)))
    432438   (push local-function local-functions)))
    433       ;; Make the local functions visible.
    434       ((dolist (local-function local-functions)
    435    (push local-function *local-functions*)
    436    (let ((variable (local-function-variable local-function)))
    437      (when variable
    438        (push variable *visible-variables*))))
    439        (with-saved-compiler-policy
     439      ((with-saved-compiler-policy
    440440     (process-optimization-declarations (cddr form))
    441441   (list* (car form) local-functions (p1-body (cddr form)))))))
     
    454454   (push variable *all-variables*)
    455455   (push local-function local-functions)))
    456       ;; Make the local functions visible.
    457456      ((dolist (local-function local-functions)
    458    (push local-function *local-functions*)
    459    (push (local-function-variable local-function) *visible-variables*))
    460        (dolist (local-function local-functions)
    461457   (let ((*visible-variables* *visible-variables*)
    462458         (*current-compiland* (local-function-compiland local-function)))
Note: See TracChangeset for help on using the changeset viewer.