Browse Source

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.
gn-latest-20200428
Marius Bakke 2 years ago
parent
commit
ab7010af1f
No known key found for this signature in database GPG Key ID: A2A06DF2A33A54FA
  1. 2
      gnu/tests.scm
  2. 2
      guix/gexp.scm
  3. 2
      guix/repl.scm
  4. 6
      tests/gexp.scm

2
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

2
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

2
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

6
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)))

Loading…
Cancel
Save