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

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

[nongnu] elpa/geiser-gauche 98c52e6 023/119: Deal with complex key argum


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-gauche 98c52e6 023/119: Deal with complex key arguments
Date: Sun, 1 Aug 2021 18:27:50 -0400 (EDT)

branch: elpa/geiser-gauche
commit 98c52e662fcea85e0b7af2ddf5ccd2ee36a2ad0f
Author: András Simonyi <andras.simonyi@gmail.com>
Commit: András Simonyi <andras.simonyi@gmail.com>

    Deal with complex key arguments
---
 geiser.scm | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/geiser.scm b/geiser.scm
index 031ae4c..a6841e1 100644
--- a/geiser.scm
+++ b/geiser.scm
@@ -112,16 +112,18 @@
     ("module" user)))
 
 (define (process-normal-arg-info arg-info)
-  (let* ((required '("required"))
-        (optional '("optional"))
-        (key '("key"))
-        (section :required))
+  (let ((required '("required"))
+       (optional '("optional"))
+       (key '("key"))
+       (section :required))
     (dolist (x arg-info)
            (if (memq x '(:optional :key :rest))
                (set! section x)
                (case section
                  ((:optional) (push! optional x))
-                 ((:key) (push! key x))
+                 ((:key) (push! key
+                                (let1 sym (if (pair? x) (car x) x)
+                                      (symbol-append ': sym))))
                  ((:rest) (push! required "..."))
                  (else (push! required x)))))
     (map (cut reverse <>)



reply via email to

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