From 99355e34b3e4eeb667692f8d3ae559e672ed45c7 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Thu, 17 Jun 2010 02:49:19 +0200 Subject: Wee refactoring. --- scheme/racket/geiser/autodoc.rkt | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'scheme') diff --git a/scheme/racket/geiser/autodoc.rkt b/scheme/racket/geiser/autodoc.rkt index a62bc24..9eb732d 100644 --- a/scheme/racket/geiser/autodoc.rkt +++ b/scheme/racket/geiser/autodoc.rkt @@ -147,17 +147,12 @@ [else (loop (cdr formals) (cons (car formals) req) opt keys)]))) (define (infer-signatures name) - (define syntax-tag (cons 1 0)) - (define error-tag (cons 1 1)) - (define generic-signature (signature '(...) '() '() #f)) - (let ([value (with-handlers ([exn:fail:syntax? (lambda (_) syntax-tag)] - [exn:fail:contract:variable? (lambda (_) - error-tag)]) - (namespace-variable-value name))]) - (cond [(procedure? value) (arity->signatures (procedure-arity value))] - [(eq? value syntax-tag) (list generic-signature)] - [(eq? value error-tag) #f] - [else 'variable]))) + (with-handlers ([exn:fail:syntax? (const `(,(signature '(...) '() '() #f)))] + [exn:fail:contract:variable? (const #f)]) + (let ([v (namespace-variable-value name)]) + (if (procedure? v) + (arity->signatures (procedure-arity v)) + 'variable)))) (define (arity->signatures arity) (define (args count) (build-list count (const '_))) -- cgit v1.2.3