Changeset 12099
- Timestamp:
- 08/13/09 13:17:06 (14 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
r12097 r12099 341 341 ;; However, p1 transforms the forms being processed, so, we 342 342 ;; need to copy the forms to create a second copy. 343 (let* ((block (make- block-node '(UNWIND-PROTECT)))343 (let* ((block (make-unwind-protect-node :name '(UNWIND-PROTECT))) 344 344 ;; a bit of jumping through hoops... 345 345 (unwinding-forms (p1-body (copy-tree (cddr form)))) … … 349 349 (*blocks* (cons block *blocks*)) 350 350 (protected-form (p1 (cadr form)))) 351 (setf ( block-form block)351 (setf (unwind-protect-form block) 352 352 `(unwind-protect ,protected-form 353 353 (progn ,@unwinding-forms) -
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r12097 r12099 7784 7784 7785 7785 (defun p2-unwind-protect-node (block target) 7786 (let ((form ( block-form block)))7786 (let ((form (unwind-protect-form block))) 7787 7787 (when (= (length form) 2) ; No cleanup form. 7788 7788 (compile-form (second form) target nil)
Note: See TracChangeset
for help on using the changeset viewer.