diff --git a/LOG b/LOG index 4cf4be8000..4544c9465a 100644 --- a/LOG +++ b/LOG @@ -1137,3 +1137,12 @@ generated config.h. Instead removed InstallPrefix entirely so it isn't an attractive hazzard. configure, makefiles/Mf-install.in +- fixed bug in inline-lists: wasn't setting multiply-referenced flag + on p to account for the procedure? check at optimize-level 2. + cpletrec.ss +- fixed bug in check-prelex-flags: was hardwiring $cpcheck-prelex-flags + "after" argument to 'uncprep rather than passing along its argument. + compile.ss +- commented out local definition of sorry! so that problems detected + by $cpcheck-prelex-flags actually result in a raised exception. + cprep.ss diff --git a/s/compile.ss b/s/compile.ss index f71afffc1d..9e9e003cd1 100644 --- a/s/compile.ss +++ b/s/compile.ss @@ -548,7 +548,7 @@ (define check-prelex-flags (lambda (x after) (when ($enable-check-prelex-flags) - ($pass-time 'cpcheck-prelex-flags (lambda () (do-trace $cpcheck-prelex-flags x 'uncprep)))))) + ($pass-time 'cpcheck-prelex-flags (lambda () (do-trace $cpcheck-prelex-flags x after)))))) (define compile-file-help (lambda (op hostop wpoop machine sfd do-read outfn) diff --git a/s/cp0.ss b/s/cp0.ss index c680292523..3c544b0f47 100644 --- a/s/cp0.ss +++ b/s/cp0.ss @@ -3610,7 +3610,7 @@ (if (null? ls*) (and (apply = (map length e**)) (or (not all-quoted?) (fx<= (length (car e**)) 4)) - (let ([p (cp0-make-temp (fx> (length (car e**)) 1))] + (let ([p (cp0-make-temp (or (fx= lvl 2) (fx> (length (car e**)) 1)))] [temp** (map (lambda (e*) (map (lambda (x) (cp0-make-temp #f)) e*)) e**)]) diff --git a/s/cprep.ss b/s/cprep.ss index 4be34de771..5513d6f89e 100644 --- a/s/cprep.ss +++ b/s/cprep.ss @@ -257,7 +257,7 @@ (define-pass cpcheck-prelex-flags : Lsrc (ir) -> Lsrc () (definitions - (define sorry! + #;(define sorry! (lambda (who str . arg*) (apply fprintf (console-output-port) str arg*) (newline (console-output-port))))