Fix bug in `scan-defines' in which an open-block whose body was
authorChris Hanson <org/chris-hanson/cph>
Tue, 17 Nov 1987 00:25:34 +0000 (00:25 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 17 Nov 1987 00:25:34 +0000 (00:25 +0000)
another open-block was not being scanned correctly.  This resulted in
`sf' creating weird output when there were declarations being passed
to the compiler, that subsequently confused the compiler into
signalling an error.

v7/src/runtime/scan.scm

index 9847bea7c7397341fd6120b2fee3e1aad176d42e..8bbc62d3381fd6c3e84fc42c2c8ddfad5865eb9c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/scan.scm,v 13.41 1987/01/23 00:18:56 jinx Rel $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/scan.scm,v 13.42 1987/11/17 00:25:34 cph Rel $
 ;;;
 ;;;    Copyright (c) 1987 Massachusetts Institute of Technology
 ;;;
           (if (and (vector? first)
                    (not (zero? (vector-length first)))
                    (eq? (vector-ref first 0) open-block-tag))
-              (lambda (names declarations body)
-                (receiver (append (vector-ref first 1) names)
-                          (append (vector-ref first 2) declarations)
-                          (cons-sequence (&triple-third expression)
-                                         body)))
+              (scan-loop
+               (&triple-third expression)
+               (lambda (names declarations body)
+                 (receiver (append (vector-ref first 1) names)
+                           (append (vector-ref first 2) declarations)
+                           body)))
               (scan-loop (&triple-third expression)
                          (scan-loop (&triple-second expression)
                                     (scan-loop first
           (receiver names
                     declarations
                     (cons-sequence expression body))))))
-
+\f
 (define (cons-sequence action sequence)
   (cond ((primitive-type? sequence-2-type sequence)
         (&typed-triple-cons sequence-3-type
            (&triple-third open-block))))
 
 ;;; end LET
-)
+)
\ No newline at end of file