undo revision 16179, which had some junk included by mistake

svn: r16180
This commit is contained in:
Eli Barzilay 2009-09-30 03:57:08 +00:00
parent 38388b1d34
commit ac39ffe739
3 changed files with 22 additions and 21 deletions

View File

@ -151,28 +151,29 @@
;; A traced-proc struct instance acts like a procedure, ;; A traced-proc struct instance acts like a procedure,
;; but preserves the original, too. ;; but preserves the original, too.
(define-values (struct:traced-proc make-traced-proc traced-proc? (define-values (struct:traced-proc make-traced-proc traced-proc? traced-proc-ref traced-proc-set!)
traced-proc-ref traced-proc-set!)
(make-struct-type 'traced-proc #f 2 0 #f null (current-inspector) 0)) (make-struct-type 'traced-proc #f 2 0 #f null (current-inspector) 0))
(define-struct traced-proc (proc orig)
)
;; Install traced versions of a given set of procedures. The traced ;; Install traced versions of a given set of procedures. The traced
;; versions are also given, so that they can be constructed to have ;; versions are also given, so that they can be constructed to have
;; a nice name. ;; a nice name.
(define (set-traced! ids procs setters traced-procs) (define (do-trace ids procs setters traced-procs)
(for ([id (in-list ids)] [proc (in-list procs)]) (for-each (lambda (id proc)
(unless (procedure? proc) (unless (procedure? proc)
(error 'trace "the value of ~s is not a procedure: ~e" id proc))) (error 'trace
(for ([proc (in-list procs)] "the value of ~s is not a procedure: ~e" id proc)))
[setter (in-list setters)] ids procs)
[traced-proc (in-list traced-procs)]) (for-each (lambda (proc setter traced-proc)
(unless (traced-proc? proc) (unless (traced-proc? proc)
(setter (make-traced-proc (setter (make-traced-proc
(let-values ([(a) (procedure-arity proc)] (let-values ([(a) (procedure-arity proc)]
[(req allowed) (procedure-keywords proc)]) [(req allowed) (procedure-keywords proc)])
(procedure-reduce-keyword-arity traced-proc a req allowed)) (procedure-reduce-keyword-arity traced-proc
proc))))) a
req
allowed))
proc))))
procs setters traced-procs))
;; Key used for a continuation mark to indicate ;; Key used for a continuation mark to indicate
;; the nesting depth: ;; the nesting depth:
@ -246,7 +247,7 @@
(for/list ([id (in-list (syntax->list #'(id ...)))]) (for/list ([id (in-list (syntax->list #'(id ...)))])
(let ([tid (format "traced-~a" (syntax-e id))]) (let ([tid (format "traced-~a" (syntax-e id))])
(datum->syntax id (string->symbol tid) #f)))]) (datum->syntax id (string->symbol tid) #f)))])
#'(set-traced! #'(do-trace
'(id ...) '(id ...)
(list id ...) (list id ...)
(list (lambda (v) (set! id v)) ...) (list (lambda (v) (set! id v)) ...)

View File

@ -21,7 +21,7 @@ it will be found automatically when loading the source. Use the
subdirectory, where it will be found automatically when loading the subdirectory, where it will be found automatically when loading the
source file. source file.
The @DFlag{c-source}/@Flag{c} mode for @|mzc| is like the The @DFlag{--c-source}/@Flag{c} mode for @|mzc| is like the
@DFlag{extension}/@Flag{e} mode, except that compilation stops with @DFlag{extension}/@Flag{e} mode, except that compilation stops with
the generation of C code. the generation of C code.

View File

@ -296,11 +296,11 @@ flags:
If at least one command-line argument is provided, and if the first If at least one command-line argument is provided, and if the first
one after any @tech{configuration option} is not a flag, then a one after any @tech{configuration option} is not a flag, then a
@Flag{u}/@DFlag{require-script} flag is implicitly added before the @Flag{u}/@DFlag{--require-script} flag is implicitly added before the
first non-flag argument. first non-flag argument.
If no command-line arguments are supplied other than If no command-line arguments are supplied other than
@tech{configuration options}, then the @Flag{i}/@DFlag{repl} flag is @tech{configuration options}, then the @Flag{i}/@DFlag{--repl} flag is
effectively added. effectively added.
For MrEd under X11, the follow flags are recognized when they appear For MrEd under X11, the follow flags are recognized when they appear