Changeset 11831


Ignore:
Timestamp:
05/05/09 06:36:02 (13 years ago)
Author:
ehuelsmann
Message:

P2: Parse and publicize free specials in FLET/LABELS bodies
Precompile: Make sure declarations in trimmed FLET/LABELS bodies don't get ignored

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

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

    r11830 r11831  
    50215021        (when variable
    50225022          (push variable *visible-variables*))))
     5023    (dolist (special (process-special-declarations body))
     5024      (push (make-variable :name special :special-p t)
     5025            *visible-variables*))
    50235026    (do ((forms body (cdr forms)))
    50245027        ((null forms))
     
    50415044    (dolist (local-function local-functions)
    50425045      (p2-labels-process-compiland local-function))
     5046    (dolist (special (process-special-declarations body))
     5047      (push (make-variable :name special :special-p t)
     5048            *visible-variables*))
    50435049    (do ((forms body (cdr forms)))
    50445050        ((null forms))
  • trunk/abcl/src/org/armedbear/lisp/precompiler.lisp

    r11805 r11831  
    790790                  (if new-locals
    791791                      (list* operator new-locals body)
    792                       (list* 'PROGN body))))
     792                      (list* 'LOCALLY body))))
    793793            (return-from precompile-flet/labels (precompile1 new-form))))))
    794794    (list* (car form)
Note: See TracChangeset for help on using the changeset viewer.