Changeset 11829 for trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
- Timestamp:
- 05/04/09 19:43:30 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
r11828 r11829 1021 1021 1022 1022 (let* ((lambda-list (cadr form)) 1023 (body (cddr form))) 1024 1025 (let* ((closure (make-closure `(lambda ,lambda-list nil) nil)) 1026 (syms (sys::varlist closure)) 1027 (vars nil)) 1028 (dolist (sym syms) 1029 (let ((var (make-variable :name sym 1030 :special-p (special-variable-p sym)))) 1031 (push var vars) 1032 (push var *all-variables*))) 1033 (setf (compiland-arg-vars compiland) (nreverse vars)) 1034 (let ((*visible-variables* *visible-variables*)) 1035 (dolist (var (compiland-arg-vars compiland)) 1036 (push var *visible-variables*)) 1037 (let ((free-specials (process-declarations-for-vars body *visible-variables*))) 1038 (dolist (var free-specials) 1039 (push var *visible-variables*))) 1040 (setf (compiland-p1-result compiland) 1041 (list* 'LAMBDA lambda-list (p1-body body)))))))) 1023 (body (cddr form)) 1024 (*visible-variables* *visible-variables*) 1025 (closure (make-closure `(lambda ,lambda-list nil) nil)) 1026 (syms (sys::varlist closure)) 1027 (vars nil)) 1028 (dolist (sym syms) 1029 (let ((var (make-variable :name sym 1030 :special-p (special-variable-p sym)))) 1031 (push var vars) 1032 (push var *all-variables*) 1033 (push var *visible-variables*))) 1034 (setf (compiland-arg-vars compiland) (nreverse vars)) 1035 (let ((free-specials (process-declarations-for-vars body vars))) 1036 (setf (compiland-free-specials compiland) free-specials) 1037 (dolist (var free-specials) 1038 (push var *visible-variables*))) 1039 (setf (compiland-p1-result compiland) 1040 (list* 'LAMBDA lambda-list (p1-body body)))))) 1042 1041 1043 1042 (provide "COMPILER-PASS1")
Note: See TracChangeset
for help on using the changeset viewer.