compiled before they are evaluated.
Change compiled-code-block/dbg-info to correctly handle compiled code
blocks whose debugging slot holds a dbg-info structure.
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/infutl.scm,v 1.20 1991/02/15 18:05:49 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/infutl.scm,v 1.21 1991/04/15 20:47:29 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(define (compiled-code-block/dbg-info block demand-load?)
(let ((old-info (compiled-code-block/debugging-info block)))
- (if (and (pair? old-info) (dbg-info? (car old-info)))
- (car old-info)
- (and demand-load?
- (let ((dbg-info (read-debugging-info old-info)))
- (if dbg-info (memoize-debugging-info! block dbg-info))
- dbg-info)))))
+ (cond ((dbg-info? old-info)
+ old-info)
+ ((and (pair? old-info) (dbg-info? (car old-info)))
+ (car old-info))
+ (demand-load?
+ (let ((dbg-info (read-debugging-info old-info)))
+ (if dbg-info (memoize-debugging-info! block dbg-info))
+ dbg-info))
+ (else
+ false))))
(define (discard-debugging-info!)
(without-interrupts
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/load.scm,v 14.20 1991/02/15 18:06:13 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/load.scm,v 14.21 1991/04/15 20:47:37 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(= 250 (char->ascii fasl-marker)))
(begin
(close-input-port port)
- (scode-eval
+ (extended-scode-eval
(let ((scode
(fasload/internal true-pathname
load/suppress-loading-message?)))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.100 1991/04/11 03:24:25 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.101 1991/04/15 20:47:45 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(files "xeval")
(parent ())
(export ()
- extended-scode-eval)
+ extended-scode-eval
+ hook/extended-scode-eval)
(initialization (initialize-package!)))
(define-package (runtime file-input)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/Attic/syntax.scm,v 14.14 1991/02/15 18:07:07 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/Attic/syntax.scm,v 14.15 1991/04/15 20:47:52 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
keyword))
(define-integrable (syntax-eval scode)
- (scode-eval scode syntaxer/default-environment))
+ (extended-scode-eval scode syntaxer/default-environment))
\f
;;;; FLUID-LET
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.115 1991/04/11 03:24:32 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.116 1991/04/15 20:47:59 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
'()))
(add-system! microcode-system)
(add-event-receiver! event:after-restore snarf-microcode-version!)
- (add-identification! "Runtime" 14 115))
+ (add-identification! "Runtime" 14 116))
(define microcode-system)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/xeval.scm,v 1.3 1991/02/15 18:08:01 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/xeval.scm,v 1.4 1991/04/15 20:48:03 jinx Exp $
Copyright (c) 1989-91 Massachusetts Institute of Technology
(declare (usual-integrations))
\f
+(define hook/extended-scode-eval)
+
+(define (default/extended-scode-eval expression environment)
+ (scode-eval expression environment))
+
(define (extended-scode-eval expression environment)
(cond ((interpreter-environment? environment)
- (scode-eval expression environment))
+ (hook/extended-scode-eval expression environment))
((scode-constant? expression)
expression)
(else
(with-values (lambda () (split-environment environment))
(lambda (bound-names interpreter-environment)
- (scode-eval
+ (hook/extended-scode-eval
(cond ((null? bound-names)
expression)
((or (definition? expression)
(THE-ENVIRONMENT ,rewrite/the-environment)
(UNASSIGNED? ,rewrite/unassigned?)
(VARIABLE ,rewrite/variable))))
+ (set! hook/extended-scode-eval default/extended-scode-eval)
unspecific)
\f
(define (rewrite/variable expression environment bound-names)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/infutl.scm,v 1.20 1991/02/15 18:05:49 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/infutl.scm,v 1.21 1991/04/15 20:47:29 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(define (compiled-code-block/dbg-info block demand-load?)
(let ((old-info (compiled-code-block/debugging-info block)))
- (if (and (pair? old-info) (dbg-info? (car old-info)))
- (car old-info)
- (and demand-load?
- (let ((dbg-info (read-debugging-info old-info)))
- (if dbg-info (memoize-debugging-info! block dbg-info))
- dbg-info)))))
+ (cond ((dbg-info? old-info)
+ old-info)
+ ((and (pair? old-info) (dbg-info? (car old-info)))
+ (car old-info))
+ (demand-load?
+ (let ((dbg-info (read-debugging-info old-info)))
+ (if dbg-info (memoize-debugging-info! block dbg-info))
+ dbg-info))
+ (else
+ false))))
(define (discard-debugging-info!)
(without-interrupts
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/load.scm,v 14.20 1991/02/15 18:06:13 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/load.scm,v 14.21 1991/04/15 20:47:37 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(= 250 (char->ascii fasl-marker)))
(begin
(close-input-port port)
- (scode-eval
+ (extended-scode-eval
(let ((scode
(fasload/internal true-pathname
load/suppress-loading-message?)))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.100 1991/04/11 03:24:25 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.101 1991/04/15 20:47:45 jinx Exp $
Copyright (c) 1988-91 Massachusetts Institute of Technology
(files "xeval")
(parent ())
(export ()
- extended-scode-eval)
+ extended-scode-eval
+ hook/extended-scode-eval)
(initialization (initialize-package!)))
(define-package (runtime file-input)