adjust htdp so missing teachpacks just print error messages
and continue, rather than raising exceptions
This commit is contained in:
parent
b93cd5288b
commit
1a1c1feabc
|
@ -109,15 +109,8 @@
|
||||||
(memq (cdr x) '(left top top-no-label right)))))
|
(memq (cdr x) '(left top top-no-label right)))))
|
||||||
|
|
||||||
(drr:set-default 'drracket:htdp:last-set-teachpacks
|
(drr:set-default 'drracket:htdp:last-set-teachpacks
|
||||||
'()
|
'()
|
||||||
(λ (x)
|
(listof (cons/c 'lib (listof string?))))
|
||||||
(and (list? x)
|
|
||||||
(andmap (λ (x)
|
|
||||||
(and (list? x)
|
|
||||||
(pair? x)
|
|
||||||
(eq? (car x) 'lib)
|
|
||||||
(andmap string? (cdr x))))
|
|
||||||
x))))
|
|
||||||
(drr:set-default 'drracket:defs/ints-horizontal #f boolean?)
|
(drr:set-default 'drracket:defs/ints-horizontal #f boolean?)
|
||||||
|
|
||||||
(drr:set-default 'drracket:child-only-memory-limit (* 1024 1024 128)
|
(drr:set-default 'drracket:child-only-memory-limit (* 1024 1024 128)
|
||||||
|
|
|
@ -98,12 +98,16 @@
|
||||||
;; syntax objects that require them (tagged
|
;; syntax objects that require them (tagged
|
||||||
;; with stepper-skip-completely)
|
;; with stepper-skip-completely)
|
||||||
(define (teachpacks->requires teachpacks)
|
(define (teachpacks->requires teachpacks)
|
||||||
(for/list ([tp (in-list teachpacks)])
|
(filter
|
||||||
(unless (file-exists? (build-path (apply collection-path (cddr tp))
|
values
|
||||||
(cadr tp)))
|
(for/list ([tp (in-list teachpacks)])
|
||||||
(error 'teachpack (missing-tp-message tp)))
|
(cond
|
||||||
(stepper-skip
|
[(file-exists? (build-path (apply collection-path (cddr tp))
|
||||||
(datum->syntax #f `(require ,tp)))))
|
(cadr tp)))
|
||||||
|
(stepper-skip
|
||||||
|
(datum->syntax #f `(require ,tp)))]
|
||||||
|
[else
|
||||||
|
(eprintf "~a\n" (missing-tp-message tp))]))))
|
||||||
|
|
||||||
(define (missing-tp-message x)
|
(define (missing-tp-message x)
|
||||||
(let* ([m (regexp-match #rx"/([^/]*)$" (cadr x))]
|
(let* ([m (regexp-match #rx"/([^/]*)$" (cadr x))]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user