Subject: bug#47875: Elisp reader doesn't handle keywords

From: Leo Prikler <[email-masked]>
Date: Sun, 18 Apr 2021 18:05:02 +0200

Hi Guilers,

Using Guile 3.0.5, the elisp reader does not seem to support keywords
written in Elisp's preferred prefix-style notation (:keyword).

scheme@(guile-user)> ,L elisp
Happy hacking with Emacs Lisp!  To switch back, type `,L scheme'.
elisp@(guile-user)> :keyword
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Unbound variable: :keyword

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
elisp@(guile-user) [1]> ,q
elisp@(guile-user)> (funcall (@ (guile) symbol->keyword) 'keyword)
$1 = #:keyword

Meanwhile in Emacs M-: :keyword yields :keyword.  Using Scheme-style
keywords also does not work:

elisp@(guile-user)> #:keyword
While compiling expression:
uninterned symbol cannot be saved to object file #<uninterned-symbol
keyword 7fb39fa4b5e0>

I think Guile should produce keyword objects for the former, so that we
don't need to talk about the latter.

Regards,
Leo