commit e509e38f20ea79a3b874a7c723abc75c2b88798c parent ea0eea3f295b58495d799380d472648c6cd7568b Author: Matthew Flatt <mflatt@racket-lang.org> Date: Mon, 21 Apr 2008 17:26:35 +0000 dictionaries svn: r9383 original commit: a0f65ba33efbd2f7e5f6c2fa549d55117a986946 Diffstat:
| M | collects/scribble/eval.ss | | | 12 | ++++++++++++ |
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/collects/scribble/eval.ss b/collects/scribble/eval.ss @@ -195,6 +195,18 @@ (hash-set! ht v v2) (set-box! v2 (copy-value (unbox v) ht)) v2)] + [(hash? v) (let ([ph (make-placeholder #f)]) + (hash-set! ht v ph) + (let ([a (hash-map v (lambda (k v) + (cons (copy-value k ht) + (copy-value v ht))))]) + (placeholder-set! + ph + ((if (hash-eq? v) + make-hasheq-placeholder + make-hash-placeholder) + a))) + ph)] [else v])) (define (strip-comments stx)