When I type a command other than guix in my shell, I can complete fine. If I type:
l0p!ieure:~$ ls ~/Pro
...and then press TAB, it expands to:
l0p!ieure~$ ls ~/Projects/
If I do the same thing, but with any command beginning with guix, such as:
l0p!ieure~$ guix home reconfigure ~/Pro
...then tab completion doesn't work, and I get this error in my *Messages* buffer:
guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
/home/ieure/.config/guix/current/share/guile/site/3.0/guix/scripts/deploy.scm:176:7: Unknown # object: "#~"
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(emacs-guix) [5]>
This happens for any command which begins with guix; if guix is in any position other than the start of the command, it works fine, so commands like ls guix are unaffected.
The immediate issue is that guix-help-string is called with a nil argument, which it can't handle and has no guard for. The potential larger issue is that this is being called when the thing needs to be completed isn't a guix command, but a file path.
Changing guix-help-string to return an empty string when commands is nil prevents the error, but completion of guix subcommands doesn't work, and I'm not convinced this is a proper fix.
I'm using guix.el on GuixSD, installed via Guix. My emacs-guix package version is 0.5.2-7.455272c. Here's the output of guix describe:
When I type a command other than
guix
in my shell, I can complete fine. If I type:...and then press
TAB
, it expands to:If I do the same thing, but with any command beginning with
guix
, such as:...then tab completion doesn't work, and I get this error in my
*Messages*
buffer:This is the stack trace up to that error:
This happens for any command which begins with
guix
; ifguix
is in any position other than the start of the command, it works fine, so commands likels guix
are unaffected.The immediate issue is that
guix-help-string
is called with anil
argument, which it can't handle and has no guard for. The potential larger issue is that this is being called when the thing needs to be completed isn't a guix command, but a file path.Changing
guix-help-string
to return an empty string whencommands
isnil
prevents the error, but completion ofguix
subcommands doesn't work, and I'm not convinced this is a proper fix.I'm using
guix.el
on GuixSD, installed via Guix. Myemacs-guix
package version is 0.5.2-7.455272c. Here's the output ofguix describe
: