improve scribble memory use (a little bit)

svn: r9601
This commit is contained in:
Matthew Flatt 2008-05-02 19:48:57 +00:00
parent a995ba1304
commit 52581d024b
10 changed files with 42 additions and 32 deletions

View File

@ -25,7 +25,6 @@
(require scheme/private/contract
scheme/private/contract-guts
scheme/private/contract-ds
scheme/private/contract-opt-guts
scheme/private/contract-opt
scheme/private/contract-basic-opters)

View File

@ -13,7 +13,6 @@ differences from v3:
"private/contract-arrow.ss"
"private/contract-guts.ss"
"private/contract-ds.ss"
"private/contract-opt-guts.ss"
"private/contract-opt.ss"
"private/contract-basic-opters.ss")

View File

@ -19,7 +19,6 @@ it around flattened out.
(require "contract-guts.ss"
"contract-opt.ss"
"contract-ds-helpers.ss"
mzlib/etc)
(require (for-syntax scheme/base)
(for-syntax "contract-ds-helpers.ss")

View File

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

View File

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

View File

@ -203,7 +203,10 @@
"serialization failed (wrong resolve info? delayed element never rendered?); ~a"
(exn-message exn)))])
(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
#f
(or (current-load-relative-directory) (current-directory))))

View File

@ -1,6 +1,8 @@
#lang scribble/doc
@(require "mz.ss")
@(define w (make-will-executor))
@title{@bold{Reference}: PLT Scheme}
This manual defines the core PLT Scheme language and describes its

View File

@ -37,9 +37,11 @@
[(list 'module 'info
(or '(lib "infotab.ss" "setup") 'setup/infotab)
expr ...)
;; no need to set a reader-guard, since we checked it
;; No need to set a reader-guard, since we checked it
;; above (a guard will see other uses of #lang for stuff
;; that is required)
;; that is required).
;; We are, however, trusting that the bytecode form of the
;; file (if any) matches the source.
(dynamic-require file '#%info-lookup)]
[else (err "does not contain a module of the right shape")])))

View File

@ -420,8 +420,10 @@
expr
#;
(begin
(printf "... ~a ...\n" what)
(time expr)))
(collect-garbage) (collect-garbage) (printf "pre: ~a ~s\n" what (current-memory-use))
(begin0
(time expr)
(collect-garbage) (collect-garbage) (printf "post ~a ~s\n" what (current-memory-use)))))
(define (build-again! latex-dest info with-record-error)
(define doc (info-doc info))

View File

@ -1117,10 +1117,11 @@ static void print_tagged_value(const char *prefix,
char *t2;
int len2;
sprintf(buffer, "[%ld:%.100s]",
sprintf(buffer, "[%ld/%ld:%.100s]",
((Scheme_Env *)v)->phase,
((Scheme_Env *)v)->mod_phase,
(((Scheme_Env *)v)->module
? SCHEME_SYM_VAL(((Scheme_Env *)v)->module->modname)
? scheme_write_to_string(((Scheme_Env *)v)->module->modname, NULL)
: "(toplevel)"));
len2 = strlen(buffer);