emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-racket c03596d 013/191: Wee refactoring.


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket c03596d 013/191: Wee refactoring.
Date: Sun, 1 Aug 2021 18:31:51 -0400 (EDT)

branch: elpa/geiser-racket
commit c03596d49a0cf31ee2fa2d1ee9e88edfdd34e32f
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Wee refactoring.
---
 geiser/autodoc.rkt | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/geiser/autodoc.rkt b/geiser/autodoc.rkt
index a62bc24..9eb732d 100644
--- a/geiser/autodoc.rkt
+++ b/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 '_)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]