Can't integrate scode-eval any longer, since it's now a compound
authorChris Hanson <org/chris-hanson/cph>
Sat, 20 Apr 1991 06:10:10 +0000 (06:10 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 20 Apr 1991 06:10:10 +0000 (06:10 +0000)
procedure.  This was overlooked by accident because "usicon" used
scode-constant? to test whether the constants in "gconst" were
reasonable -- and this predicate returns true for compiled procedures.
Now the predicate used is something more discriminating, which should
not permit unreasonable values in the .bin file.

v7/src/sf/gconst.scm
v7/src/sf/usicon.scm

index 603a9581734bfd395f90bc011b6384aa63a2d61f..dab0582db9a3946855afd19e814478a78d14e802 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 4.9 1990/10/16 21:06:53 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/gconst.scm,v 4.10 1991/04/20 06:09:48 cph Exp $
 
-Copyright (c) 1987, 1989, 1990 Massachusetts Institute of Technology
+Copyright (c) 1987-91 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -204,7 +204,6 @@ MIT in each case. |#
     PROCESS-TIME-CLOCK
     READ-BITS!
     REAL-TIME-CLOCK
-    SCODE-EVAL
     SET-CAR!
     SET-CDR!
     SET-CELL-CONTENTS!
index 75903f20281b6bf7e46d9fc7277c34b7fddb7205..be231852d597ea6bb748a89bdc95292012a9851e 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usicon.scm,v 4.1 1988/06/13 12:30:46 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/usicon.scm,v 4.2 1991/04/20 06:10:10 cph Exp $
 
-Copyright (c) 1987 Massachusetts Institute of Technology
+Copyright (c) 1987-91 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -52,7 +52,27 @@ MIT in each case. |#
        (map (lambda (name)
               (let ((object
                      (lexical-reference system-global-environment name)))
-                (if (not (scode-constant? object))
+                (if (not (memq (microcode-type/code->name
+                                (object-type object))
+                               '(BIGNUM
+                                 CHARACTER
+                                 FIXNUM
+                                 FLONUM
+                                 INTERNED-SYMBOL
+                                 NULL
+                                 PAIR
+                                 PRIMITIVE
+                                 QUAD
+                                 RATNUM
+                                 RECNUM
+                                 RETURN-CODE
+                                 STRING
+                                 TRIPLE
+                                 TRUE
+                                 UNINTERNED-SYMBOL
+                                 VECTOR
+                                 VECTOR-16B
+                                 VECTOR-1B)))
                     (error "USUAL-INTEGRATIONS: not a constant" name))
                 (constant->integration-info object)))
             usual-integrations/constant-names))