improve scribble memory use (a little bit)

svn: r9601

original commit: 52581d024b42ad472d8cd0cae807948325771511
This commit is contained in:
Matthew Flatt 2008-05-02 19:48:57 +00:00
parent 1032bb867b
commit 0bf463f500
3 changed files with 29 additions and 23 deletions

View File

@ -12,7 +12,8 @@
net/base64 net/base64
scheme/serialize scheme/serialize
(prefix-in xml: xml/xml) (prefix-in xml: xml/xml)
(for-syntax scheme/base)) (for-syntax scheme/base)
"search.ss")
(provide render-mixin (provide render-mixin
render-multi-mixin) render-multi-mixin)
@ -203,8 +204,8 @@
(let ([p (path->main-collects-relative p)]) (let ([p (path->main-collects-relative p)])
(if (path? p) (if (path? p)
(path->root-relative p) (path->root-relative p)
p)) (intern-taglet p)))
p))) (intern-taglet p))))
(define (relative->path p) (define (relative->path p)
(let ([p (main-doc-relative->path p)]) (let ([p (main-doc-relative->path p)])

View File

@ -424,21 +424,22 @@
id) id)
(exporting-libraries-libs e) (exporting-libraries-libs e)
(exporting-libraries-source-libs e))] (exporting-libraries-source-libs e))]
[tag (list (if sig [tag (intern-taglet
(case sym (list (if sig
[(def) 'sig-val] (case sym
[(form) 'sig-def]) [(def) 'sig-val]
sym) [(form) 'sig-def])
(append sym)
(list lib-taglet) (append
(if sig (list (syntax-e (sig-id sig))) null) (list lib-taglet)
(list (syntax-e id))))]) (if sig (list (syntax-e (sig-id sig))) null)
(list (syntax-e id)))))])
(if (or sig (not dep?)) (if (or sig (not dep?))
(list (mk tag)) (list (mk tag))
(list (make-target-element (list (make-target-element
#f #f
(list (mk tag)) (list (mk tag))
`(dep ,(list lib-taglet (syntax-e id))))))) (intern-taglet `(dep ,(list lib-taglet (syntax-e id))))))))
content))) content)))
(lambda () (car content)) (lambda () (car content))
(lambda () (car content)))))) (lambda () (car content))))))
@ -462,7 +463,7 @@
(make-redirect-target-element (make-redirect-target-element
#f #f
null null
(list kind (list taglet id)) (intern-taglet (list kind (list taglet id)))
path path
anchor))]) anchor))])
(make-element (make-element
@ -1029,14 +1030,15 @@
(list (make-hover-element (list (make-hover-element
#f #f
(list e) (list e)
(string-append (intern-taglet
"Provided from: " (string-append
(let loop ([from from]) "Provided from: "
(if (null? (cdr from)) (let loop ([from from])
(format "~s" (car from)) (if (null? (cdr from))
(format "~s, ~a" (format "~s" (car from))
(car from) (format "~s, ~a"
(loop (cdr from)))))))) (car from)
(loop (cdr from)))))))))
(list e)))) (list e))))
(lambda () e) (lambda () e)
(lambda () e))) (lambda () e)))

View File

@ -203,7 +203,10 @@
"serialization failed (wrong resolve info? delayed element never rendered?); ~a" "serialization failed (wrong resolve info? delayed element never rendered?); ~a"
(exn-message exn)))]) (exn-message exn)))])
(vector (vector
(make-element #f (delayed-element-content d ri)))))) (let ([l (delayed-element-content d ri)])
(if (and (pair? l) (null? (cdr l)))
(car l)
(make-element #f l)))))))
#'deserialize-delayed-element #'deserialize-delayed-element
#f #f
(or (current-load-relative-directory) (current-directory)))) (or (current-load-relative-directory) (current-directory))))