guix-commits
[Top][All Lists]
Advanced

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

17/17: read-print: Add 'case' and 'cond' special forms.


From: guix-commits
Subject: 17/17: read-print: Add 'case' and 'cond' special forms.
Date: Mon, 8 Aug 2022 05:55:11 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 6db3b34d7203639ef4286c237a6e536259f92352
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Aug 8 11:49:44 2022 +0200

    read-print: Add 'case' and 'cond' special forms.
    
    * guix/read-print.scm (%special-forms): Add 'case' and 'cond'.
    * tests/read-print.scm: Add tests.
---
 guix/read-print.scm  |  2 ++
 tests/read-print.scm | 15 +++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/guix/read-print.scm b/guix/read-print.scm
index df25eb0f50..9d666d7f70 100644
--- a/guix/read-print.scm
+++ b/guix/read-print.scm
@@ -255,6 +255,8 @@ expressions and blanks that were read."
   ;; symbol must appear within a (modify-phases ...) expression.
   (vhashq
    ('begin 1)
+   ('case 2)
+   ('cond 1)
    ('lambda 2)
    ('lambda* 2)
    ('match-lambda 1)
diff --git a/tests/read-print.scm b/tests/read-print.scm
index 004fcff19f..b484e28022 100644
--- a/tests/read-print.scm
+++ b/tests/read-print.scm
@@ -141,6 +141,21 @@ expressions."
   (let ((z (+ x y)))
     (* z z)))")
 
+(test-pretty-print "\
+(case x
+  ((1)
+   'one)
+  ((2)
+   'two))")
+
+(test-pretty-print "\
+(cond
+  ((zero? x)
+   'zero)
+  ((odd? x)
+   'odd)
+  (else #f))")
+
 (test-pretty-print "\
 #~(string-append #$coreutils \"/bin/uname\")")
 



reply via email to

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