From 6db3b34d7203639ef4286c237a6e536259f92352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Aug 2022 11:49:44 +0200 Subject: [PATCH] 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 @@ (define %special-forms ;; 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 @@ (define-syntax-rule (test-pretty-print/sequence str args ...) (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\")")