Subject: Re: bug#39984: INFOPATH set in /etc/profile.d/guix.sh should end in ":" for Emacs's sake

From: Ludovic Courtès <[email-masked]>
Date: Sun, 22 Mar 2020 00:04:24 +0100

Hi Adam,

Adam Porter <[email-masked]> skribis:

> I installed Guix into my system, and I've been enjoying using it.
> However, I found that, after installing it, when I logged out and back
> in, and then started Emacs, Emacs could no longer see my system's info
> pages (including Emacs's own info pages).  I found that the Emacs
> variable Info-directory-list only contained
> "/home/me/.config/guix/current/share/info", so it couldn't see the
> info pages in "/usr/local/share/info/" and "/usr/share/info/".
> According to the Info-directory-list docstring:
>
> If nil, meaning not yet initialized, Info uses the environment
> variable INFOPATH to initialize it, or ‘Info-default-directory-list’
> if there is no INFOPATH variable in the environment, or the
> concatenation of the two if INFOPATH ends with a ‘path-separator’.
>
> I found that INFOPATH is being set in /etc/profile.d/guix.sh, which does this:
>
>   # Export INFOPATH so that the updated info pages can be found
>   # and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info
>   export INFOPATH="$_GUIX_PROFILE/share/info${INFOPATH:+:}$INFOPATH"
>
> Since it does not append a colon at the end, Emacs doesn't add the
> directories from Info-default-directory-list.  I added a colon to the
> end and restarted Emacs, and it fixed the problem.
>
> So I'd suggest adding ":" to the end of INFOPATH in /etc/profile.d/guix.sh.

Done in 3c69701f9735dd62a2f765b8bd23a7eaeb391412.

Thanks for the clear explanation!

Ludo’.