diff --git a/collects/swindle/html-doc.txt b/collects/swindle/html-doc.txt index db9a35698e..73349c6799 100644 --- a/collects/swindle/html-doc.txt +++ b/collects/swindle/html-doc.txt @@ -1788,9 +1788,10 @@ expects a list of HTML objects as its first arguments (and again, optionally more keywords/values). Finally, a convenient function is `make-defined-htmls' -- when called (with no arguments or keywords/values), it will go over all HTML objects in `*defined-htmls*', -collected by `defhtml' forms, and create their files. (Actually, it -will check `*defined-html*' once it is done, since more HTML objects may -be defined while creating pages.) +collected by `defhtml' forms, and create their files. Actually, it will +empty `*defined-htmls*', and recheck it once it is done, since more HTML +objects may be defined while creating pages. `*all-html*' contains all +html object and is never emptied. The following example is a complete script that will create three HTML files in the directory you run it from. (The evaluation delay trick diff --git a/collects/swindle/html.ss b/collects/swindle/html.ss index 49f9b9c85a..cfa606b769 100644 --- a/collects/swindle/html.ss +++ b/collects/swindle/html.ss @@ -746,6 +746,7 @@ (defwrapper* ins: ) (defwrapper* del: ) (defwrapper* nobr: ) +(defwrapper* nowrap: ) (defwrapper* big: ) (defwrapper* big~: recform: ::tag 'big: ::1st-args ::n) @@ -1097,8 +1098,10 @@ ;; Website creation (define* *defined-htmls* '()) +(define* *all-htmls* '()) (define* (add-defined-html html) - (set! *defined-htmls* (cons html *defined-htmls*))) + (push! html *defined-htmls*) + (push! html *all-htmls*)) (defsyntax* (html-obj! stx) (syntax-case stx () @@ -1218,7 +1221,7 @@ [val (namespace-variable-value sym #f (lambda () #f))]) (if (and val (list? val) (getarg val :name)) val - (let loop ([hs *defined-htmls*]) + (let loop ([hs *all-htmls*]) (and (pair? hs) (let ([name (getarg (car hs) :name)]) (if (or (equal? str name) (equal? str (html-file-name name))