Changeset 11794
- Timestamp:
- 04/28/09 21:09:29 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/precompiler.lisp
r11788 r11794 707 707 rv)))))) 708 708 709 (defun precompile-lambda-list (form) 710 (let (new) 711 (dolist (arg form (nreverse new)) 712 (if (or (atom arg) (> 2 (length arg))) 713 (push arg new) 714 ;; must be a cons of more than 1 cell 715 (let ((new-arg (copy-list arg))) 716 (setf (second new-arg) 717 (precompile1 (second arg))) 718 (push new-arg new)))))) 719 709 720 (defun precompile-lambda (form) 710 721 (setq form (maybe-rewrite-lambda form)) 711 722 (let ((body (cddr form)) 723 (precompiled-lambda-list 724 (precompile-lambda-list (cadr form))) 712 725 (*inline-declarations* *inline-declarations*)) 713 726 (process-optimization-declarations body) 714 (list* 'LAMBDA (cadr form) (mapcar #'precompile1 body)))) 727 (list* 'LAMBDA precompiled-lambda-list 728 (mapcar #'precompile1 body)))) 715 729 716 730 (defun precompile-named-lambda (form) … … 718 732 (setf lambda-form (maybe-rewrite-lambda lambda-form)) 719 733 (let ((body (cddr lambda-form)) 734 (precompiled-lambda-list 735 (precompile-lambda-list (cadr lambda-form))) 720 736 (*inline-declarations* *inline-declarations*)) 721 737 (process-optimization-declarations body) 722 (list* 'NAMED-LAMBDA (cadr form) (cadr lambda-form)738 (list* 'NAMED-LAMBDA (cadr form) precompiled-lambda-list 723 739 (mapcar #'precompile1 body))))) 724 740
Note: See TracChangeset
for help on using the changeset viewer.