Hello, when trying to create an executable script using `program-file', I realized it silently corrupts expressions with non-ascii characters. Minimal reproduction I did put together is:
scheme@(guix-user)> ,use (guix)
scheme@(guix-user)> ,build (program-file "foo" '(λ))
$1 = "/gnu/store/im07w0ilskfycpkwid3n7s80hdv263cn-foo"
scheme@(guix-user)> (call-with-input-file $1 read)
;;; <stdin>:3:22: warning: possibly unbound variable `$1'
$2 = (?)
Notice that $2 is (?) instead of the expected (λ). If there is a technical
reason why this cannot be handled correctly, it would be great if it at least
failed with an error instead of a silent corruption.
Have a nice day,
Tomas Volf
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
signature.asc
Description: PGP signature
