Subject: Re: bug#59256: Emacs-guix tab-completion returns gexp error

From: Joshua Hecker <[email-masked]>
Date: Mon, 02 Jan 2023 01:29:34 -0600

calcium <[email-masked]> writes:

> The problem can be tracked back from elisp procedure
> `guix-pcomplete-search-in-help` in guix-pcomplete.el to
> `guix-help-string` in guix-misc.el, to this problematic code :
>
> ```
> (guix-eval-read "(help-string )")
> ```
>
>
> The procedure help-string exists, as can be seen below :
>
> ```
> (guix-eval-read
>   "(begin
>    (use-modules (ice-9 format))
>    (format #f \"~s\"
>     help-string))") ;; => "#<procedure help-string commands>"
> ```
>
> but the object that `(help-string)` returns seems incompatible with guile's own repl/shell ....
>
> The solution might be to just change the `help-string` procedure to
> return another kind of object, or to fix guile's repl/shell for that
> kind of object.

Im certain it's not anyone procedure, but rather the internal repl being in a
socket file. I dont know how guile is handling sockets, but guile
(socketed) cant read '#' for some reason.

The next step might be going to the guile mailing list and getting some
answers there, cause guile has nil for documentation and I have come up
empty handed in looking for any answers for guile socket files. Either way, I
think emacs-guix is important enough to get this fix, so will do.

Stay safe,
-Joshua