aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-12-15 21:27:31 +0100
committerMarius Bakke <mbakke@fastmail.com>2019-12-18 22:36:37 +0100
commitab7010af1f1077c056529769a53a380147c3933f (patch)
tree3bd5460ce10b6e0205206a70026e925a8b0ca0c8
parentfe3110ac58364aceff71391b984e8056a6db9395 (diff)
downloadguix-ab7010af1f1077c056529769a53a380147c3933f.tar.gz
guix-ab7010af1f1077c056529769a53a380147c3933f.zip
gexp: Allow character literals in GEXP->SEXP.
Fixes <https://bugs.gnu.org/38628>. * tests/gexp.scm ("lower-gexp, character literal"): New test. * guix/gexp.scm (gexp->sexp)[self-quoting?]: Add CHAR? to the tested types. * guix/repl.scm (self-quoting?): Likewise. * gnu/tests.scm (marionette-shepherd-service)[self-quoting?]: Likewise.
-rw-r--r--gnu/tests.scm2
-rw-r--r--guix/gexp.scm2
-rw-r--r--guix/repl.scm2
-rw-r--r--tests/gexp.scm6
4 files changed, 9 insertions, 3 deletions
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 27cb39c2b9..cc72e56858 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -98,7 +98,7 @@
(or (pred x)
(one-of rest ...))))))
(one-of symbol? string? keyword? pair? null? array?
- number? boolean?)))
+ number? boolean? char?)))
(match (primitive-fork)
(0
diff --git a/guix/gexp.scm b/guix/gexp.scm
index a96592ac76..411f0844ff 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1028,7 +1028,7 @@ and in the current monad setting (system type, etc.)"
(or (pred x)
(one-of rest ...))))))
(one-of symbol? string? keyword? pair? null? array?
- number? boolean?)))
+ number? boolean? char?)))
(define* (reference->sexp ref #:optional native?)
(with-monad %store-monad
diff --git a/guix/repl.scm b/guix/repl.scm
index 1ead18c53b..0f75f9cd0b 100644
--- a/guix/repl.scm
+++ b/guix/repl.scm
@@ -37,7 +37,7 @@
(or (pred x)
(one-of rest ...))))))
(one-of symbol? string? keyword? pair? null? array?
- number? boolean?)))
+ number? boolean? char?)))
(define (send-repl-response exp output)
"Write the response corresponding to the evaluation of EXP to PORT, an
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 84c16422c2..8b1596f66d 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -886,6 +886,12 @@
(run-with-store %store
(lower-gexp #~(foo #$+)))))
+(test-equal "lower-gexp, character literal"
+ '(#\+)
+ (lowered-gexp-sexp
+ (run-with-store %store
+ (lower-gexp #~(#\+)))))
+
(test-assertm "gexp->derivation #:references-graphs"
(mlet* %store-monad
((one (text-file "one" (random-text)))