diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 00:32:28 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 00:32:28 +0200 |
commit | b8573ff1667349e87980fd1b37f48512d99449cf (patch) | |
tree | 5481647dfdddf9a26048d1b7db2b2cecf9cc5148 /scheme/plt | |
parent | 3b849eb2312f5ecc0ecb5a20fe574f8f69d4deb4 (diff) | |
download | geiser-chez-b8573ff1667349e87980fd1b37f48512d99449cf.tar.gz geiser-chez-b8573ff1667349e87980fd1b37f48512d99449cf.tar.bz2 |
PLT: Ignoring errors during argument name scanning for autodoc.
Diffstat (limited to 'scheme/plt')
-rw-r--r-- | scheme/plt/geiser/autodoc.ss | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/scheme/plt/geiser/autodoc.ss b/scheme/plt/geiser/autodoc.ss index 7fbdb0c..1bec9fd 100644 --- a/scheme/plt/geiser/autodoc.ss +++ b/scheme/plt/geiser/autodoc.ss @@ -74,28 +74,29 @@ result)) (define (parse-datum! datum store) - (match datum - ((list 'module name lang forms ...) - (for-each (lambda (f) (parse-datum! f store)) forms)) - ((list 'define (list (list name formals ...) other ...) body ...) - (add-signature! name formals store)) - ((list 'define (list name formals ...) body ...) - (add-signature! name formals store)) - ((list 'define name (list 'lambda formals body ...)) - (add-signature! name formals store)) - ((list 'define name (list 'case-lambda clauses ...)) - (for-each (lambda (c) (add-signature! name (car c) store)) (reverse clauses))) - ((list 'define-for-syntax (list name formals ...) body ...) - (add-signature! name formals store)) - ((list 'define-for-syntax name (list 'lambda formals body ...)) - (add-signature! name formals store)) - ((list 'define-syntax-rule (list name formals ...) body ...) - (add-signature! name formals store)) - ((list 'define-syntax name (list 'syntax-rules specials clauses ...)) - (for-each (lambda (c) - (add-signature! name (cdar c) store)) - (reverse clauses))) - (_ void))) + (with-handlers ((exn? (lambda (_) void))) + (match datum + ((list 'module name lang forms ...) + (for-each (lambda (f) (parse-datum! f store)) forms)) + ((list 'define (list (list name formals ...) other ...) body ...) + (add-signature! name formals store)) + ((list 'define (list name formals ...) body ...) + (add-signature! name formals store)) + ((list 'define name (list 'lambda formals body ...)) + (add-signature! name formals store)) + ((list 'define name (list 'case-lambda clauses ...)) + (for-each (lambda (c) (add-signature! name (car c) store)) (reverse clauses))) + ((list 'define-for-syntax (list name formals ...) body ...) + (add-signature! name formals store)) + ((list 'define-for-syntax name (list 'lambda formals body ...)) + (add-signature! name formals store)) + ((list 'define-syntax-rule (list name formals ...) body ...) + (add-signature! name formals store)) + ((list 'define-syntax name (list 'syntax-rules specials clauses ...)) + (for-each (lambda (c) + (add-signature! name (cdar c) store)) + (reverse clauses))) + (_ void)))) (define (add-signature! name formals store) (when (symbol? name) |