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

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

[nongnu] elpa/geiser-guile 0d62495 048/284: Fix autodoc support for mult


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile 0d62495 048/284: Fix autodoc support for multiline arities in documentation.
Date: Sun, 1 Aug 2021 18:29:13 -0400 (EDT)

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

    Fix autodoc support for multiline arities in documentation.
---
 geiser/doc.scm | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/geiser/doc.scm b/geiser/doc.scm
index f446fde..175fe19 100644
--- a/geiser/doc.scm
+++ b/geiser/doc.scm
@@ -143,9 +143,10 @@
 
 (define (doc->args doc)
   (define proc-rx "-- Scheme Procedure: ([^[\n]+)\n")
-  (define proc-rx2 "-- Scheme Procedure: ([^[\n]+\\[[^\n]*(\n[\n]+]+)?)")
+  (define proc-rx2 "-- Scheme Procedure: ([^[\n]+\\[[^\n]*(\n[^\n]+\\]+)?)")
   (and doc
-       (let ((match (or (string-match proc-rx doc) (string-match proc-rx2 
doc))))
+       (let ((match (or (string-match proc-rx doc)
+                        (string-match proc-rx2 doc))))
          (and match (parse-signature-string (match:substring match 1))))))
 
 (define (parse-signature-string str)
@@ -155,11 +156,12 @@
     (if (< (length tokens) 2)
         '()
         (let loop ((tokens (cdr tokens)) (req '()) (opt '()) (rest #f))
-          (cond ((null? tokens) `((required ,@(map string->symbol (reverse! 
req)))
-                                  (optional ,@(map string->symbol (reverse! 
opt)))
-                                  ,@(if rest
-                                        (list (cons 'rest (string->symbol 
rest)))
-                                        '())))
+          (cond ((null? tokens)
+                 `((required ,@(map string->symbol (reverse! req)))
+                   (optional ,@(map string->symbol (reverse! opt)))
+                   ,@(if rest
+                         (list (cons 'rest (string->symbol rest)))
+                         '())))
                 ((string=? "." (car tokens))
                  (if (not (null? (cdr tokens)))
                      (loop (cddr tokens) req opt (cadr tokens))
@@ -167,7 +169,10 @@
                 ((or (string-match opt-arg-rx (car tokens))
                      (string-match opt-arg-rx2 (car tokens)))
                  => (lambda (m)
-                      (loop (cdr tokens) req (cons (match:substring m 1) opt) 
rest)))
+                      (loop (cdr tokens)
+                            req
+                            (cons (match:substring m 1) opt)
+                            rest)))
                 (else (loop (cdr tokens) (cons (car tokens) req) opt 
rest)))))))
 
 (define (generic-args gen)



reply via email to

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