From e509e38f20ea79a3b874a7c723abc75c2b88798c Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 21 Apr 2008 17:26:35 +0000 Subject: [PATCH] dictionaries svn: r9383 original commit: a0f65ba33efbd2f7e5f6c2fa549d55117a986946 --- collects/scribble/eval.ss | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/collects/scribble/eval.ss b/collects/scribble/eval.ss index 19d56d23..f73ddabb 100644 --- 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)