From 666cb085ccea24fe1ec73ec25da13feff238d4d1 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Thu, 27 Jul 2006 05:23:35 +0000 Subject: [PATCH] avoid remembering bad links in case a manual that was not installed gets installed svn: r3834 --- collects/help/servlets/home.ss | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/collects/help/servlets/home.ss b/collects/help/servlets/home.ss index d0648c6903..daa3ad19b2 100644 --- a/collects/help/servlets/home.ss +++ b/collects/help/servlets/home.ss @@ -12,11 +12,12 @@ (define items `(("Help Desk" "How to get help" "/servlets/howtouse.ss") ("Software" "How to run programs" "/servlets/howtoscheme.ss" - ("Tour" ,(get-manual-index "tour")) + ,(lambda () `("Tour" ,(get-manual-index "tour"))) ("Languages" "/servlets/scheme/what.ss") ("Manuals" "/servlets/manuals.ss") ("Release" "/servlets/releaseinfo.ss") - ,(manual-entry "drscheme" "frequently asked questions" "FAQ")) + ,(lambda () + (manual-entry "drscheme" "frequently asked questions" "FAQ"))) ("Program Design" "Learning to program in Scheme" "/servlets/howtoprogram.ss" ("Teachpacks" "/servlets/teachpacks.ss") ("Why DrScheme?" "/servlets/research/why.ss")) @@ -26,21 +27,20 @@ ("Mailing Lists" "/servlets/resources/maillist.ss")))) (define (item i) + (define (item->xexpr item) + (cond [(and (pair? item) (symbol? (car item))) item] + [(procedure? item) (item->xexpr (item))] + [else `(A ([HREF ,(cadr item)]) ,(car item))])) (let ([title (car i)] [subtitle (cadr i)] [url (caddr i)] [subs (cdddr i)]) `(LI (B (A ([HREF ,url]) ,title)) ": " ,subtitle - ,@(if (null? subs) - '() - `((BR) nbsp nbsp nbsp nbsp nbsp nbsp - (FONT ([SIZE "-2"]) - ,@(apply append - (map (lambda (s) - (let ([s (if (and (pair? s) (symbol? (car s))) - s - `(A ([HREF ,(cadr s)]) ,(car s)))]) - `(,s ", "))) - subs)) - "..."))) - (BR) (BR)))) + ,@(if (null? subs) + '() + `((BR) nbsp nbsp nbsp nbsp nbsp nbsp + (FONT ([SIZE "-2"]) + ,@(apply append + (map (lambda (s) `(,(item->xexpr s) ", ")) subs)) + "..."))) + (BR) (BR)))) (define (start initial-request) (report-errors-to-browser send/finish)