From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:58206) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iUmvg-0006go-B1 for guix-patches@gnu.org; Wed, 13 Nov 2019 02:19:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iUmve-0001Sp-MW for guix-patches@gnu.org; Wed, 13 Nov 2019 02:19:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:49954) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iUmve-0001Sl-GK for guix-patches@gnu.org; Wed, 13 Nov 2019 02:19:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iUmve-0004Ls-9b for guix-patches@gnu.org; Wed, 13 Nov 2019 02:19:02 -0500 Subject: [bug#38015] Emacs in multiple profiles Resent-Message-ID: From: Chris Marusich References: <9c395fd0-9458-7894-af8b-9294d212c60b@fastmail.net> <878tajzu03.fsf@gmail.com> <87a7uyd7qy.fsf@gmail.com> <874ll51mq3.fsf@gmail.com> <87zi2t4jgh.fsf@gmail.com> <877ep4z44b.fsf@gmail.com> <87tv88ihzc.fsf@ambrevar.xyz> <878spgo7ex.fsf@gmail.com> <87o8yccwtq.fsf@ambrevar.xyz> <871rv1ed8v.fsf@gmail.com> <87mudpm5nt.fsf@ambrevar.xyz> <874kzscpgs.fsf@gmail.com> <87eeyvespq.fsf@ambrevar.xyz> <87zhhhbhzl.fsf@gmail.com> <877e4l5c9h.fsf@ambrevar.xyz> <87mudgb4v5.fsf@gmail.com> <875zjp1xsf.fsf@gmail.com> <87ftittvht.fsf@ambrevar.xyz> Date: Tue, 12 Nov 2019 23:18:29 -0800 In-Reply-To: <87ftittvht.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Tue, 12 Nov 2019 08:16:30 +0100") Message-ID: <87eeyc452y.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Pierre Neidhardt Cc: 38015@debbugs.gnu.org, myglc2@gmail.com, help-guix@gnu.org, Alex Kost , Maxim Cournoyer --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Pierre and Maxim, Pierre Neidhardt writes: > Good luck! Thank you, Pierre - and Maxim! I was able to apply the 3 patches (using commit 18a69803e2eea4f7555d6eafb6497a645c2d094f, which is on master) cleanly. I built a profile using the following manifest: =2D-8<---------------cut here---------------start------------->8--- (use-modules (gnu packages)) (specifications->manifest '( "emacs" "emacs-bbdb" ;; ... a whole lot of omitted packages ... "emacs-sr-speedbar" "emacs-terraform-mode" )) =2D-8<---------------cut here---------------end--------------->8--- I installed it like this: ./pre-inst-env guix package -m /home/marusich/Documents/guix-manifests/e= macs.scm -p ~/.guix-extra-profiles/emacs/emacs I then emptied my default profile and added this to ~/.bash_profile: =2D-8<---------------cut here---------------start------------->8--- GUIX_EXTRA_PROFILES=3D"$HOME/.guix-extra-profiles" for i in $GUIX_EXTRA_PROFILES/*; do profile=3D$i/$(basename "$i") if [ -f "$profile"/etc/profile ]; then GUIX_PROFILE=3D"$profile" . "$profile"/etc/profile export INFOPATH=3D"$profile/share/info${INFOPATH:+:}$INFOPATH" export MANPATH=3D"$profile/share/man${MANPATH:+:}$MANPATH" fi unset profile done =2D-8<---------------cut here---------------end--------------->8--- I logged out and logged back in. It seems to work so far. I started Emacs from a GNOME terminal bash shell. There were no errors in my Messages buffer after I started Emacs. There were no error messages from the Emacs process, either. I'm enjoying my new Emacs right now! So far, I've noticed three things: =2D The fonts were different than I remember. Not sure why it happened, but I'm guessing it had to do with the fact that I emptied my default profile, and thus got rid of a lot of fonts accidentally. At this time, I doubt it's because of your changes. =2D In the GNOME application picker, when I type "emacs" into the search bar, there are no longer any results. Previously, Emacs showed up in the search. This is true for IceCat, too, which I also moved into its own separate profile, so I think it's probably an issue with our GNOME package instead of your changes. =2D Aspell does not work: "ispell-init-process: Error: No word lists can be found for the language "en_US"." I think this happens because the Guix package for aspell refers to the default profile: (add-after 'install 'wrap-aspell (lambda* (#:key outputs #:allow-other-keys) (let ((bin/aspell (string-append (assoc-ref outputs "out") "/bin/aspell"))) (wrap-program bin/aspell '("ASPELL_CONF" "" =3D ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}= /lib/aspell\"}"))) #t))) We should probably follow up on these issues in separate bug reports. Other than the above, it all just works. I don't see any reason not to merge it into master, since even with these issues it is a strict improvement over the current situation in which we cannot use Emacs nearly at all in non-default profiles. If I notice anything else, I'll let you know! Maxim Cournoyer writes: > Subject: [PATCH 1/3] gnu: emacs: Locate Elisp libraries via EMACSLOADPATH. LGTM! > Subject: [PATCH 2/3] build-system: emacs: Simplify the SET-EMACS-LOAD-PATH > phase. > > +(define* (add-source-to-load-path #:key dummy #:allow-other-keys) > + "Augment the EMACSLOADPATH environment variable with the source direct= ory." > (let* ((source-directory (getcwd)) > - (input-elisp-directories (input-directories->el-directories > - (inputs->directories inputs))) > - (emacs-load-path-value > - (string-join > - (append input-elisp-directories (list source-directory)) > - ":" 'suffix))) > + (emacs-load-path-value (string-append (getenv "EMACSLOADPATH") = ":" > + source-directory))) > (setenv "EMACSLOADPATH" emacs-load-path-value) > - (format #t "environment variable `EMACSLOADPATH' set to ~a\n" > - emacs-load-path-value))) > + (format #t "source directory ~s appended to the `EMACSLOADPATH' \ > +environment variable\n" source-directory))) It looks like the change is as follows: previously, we added multiple directories, including the source-directory, to the load path; after this change, we append just the source-directory to the EMACSLOADPATH. Can you remind me why we don't need to add the other elisp directories to the EMACSLOADPATH, too? It seems to work, so I'm probably just missing something obvious. > Subject: [PATCH 3/3] gnu: emacs: Adapt the autoloads auxiliary code to use > EMACSLOADPATH. As far as I can tell, this looks good to me, too. Finally: do you anticipate that this will cause any user-visible or backwards-incompatible changes that we should mention in the Guix channel's news file (and in the Guix NEWS file)? =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl3LrkUACgkQ3UCaFdgi Rp1+ag//aFhn1p3l7osGFtcRIjKtrQuEsi46ycwRt+2P1IcwpOl/M5IhraCkVv6t DCjMtPAfDlVVH5K6ppJkOUD3XQ0m6MDSO9HJ3ukZ3t4VECl6r/iXJzjxG37vgA8y 57Bo5dbHXIOyXF1fkLFzx4xzs+7cRJ+y8PuwGG7kotE3tiZ/JR/sLG0F7xLrpWR9 MJy57+ko0TK52WvJODpW44urBMx4Kz8o6Q0AFuGQEwgdX+e6osldzUW2af2MrTET qDA5CzrizWjJSlmx75Ry663PdA4DjrieDGvW8K3OUzgd13cj0XkHX+4g3eeXqBu1 LXnQ1UF1PP4VnW+s2ZuusYRVBx4sde5UPGJ8ZkE2nHP9OXpeTeQXnnqLE3gl58wa QDm3lvzNIN55ogelSgmDL4LQysCvegawLpnMt0spof/N4Xi7taFKwwOIhl7kgrX2 Fv0jpj67qYeOBMzm7XsVuMDjCPFNJukjz0TrU3/iwby4apH2h5d5UFC91NBZoiVc Wr/d2uX11H8gp1YXYpihWT4aHp8MVHd8ziXrsl3X8LogwMh3QagFld6WFVWhIAaN 4HGsYv1IVw2cTGZCT4WKgkQfzGrwfrELzRQCKnWlDeA7xTSIUoXfhUxmX8WXzn/E 4hZBZXBQLrrpm/HeumUiULd7OdlunLik7GwpQwPqu7UDd+dUQjE= =sNRX -----END PGP SIGNATURE----- --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: [bug#38015] Emacs in multiple profiles Date: Tue, 12 Nov 2019 23:18:29 -0800 Message-ID: <87eeyc452y.fsf@gmail.com> References: <9c395fd0-9458-7894-af8b-9294d212c60b@fastmail.net> <878tajzu03.fsf@gmail.com> <87a7uyd7qy.fsf@gmail.com> <874ll51mq3.fsf@gmail.com> <87zi2t4jgh.fsf@gmail.com> <877ep4z44b.fsf@gmail.com> <87tv88ihzc.fsf@ambrevar.xyz> <878spgo7ex.fsf@gmail.com> <87o8yccwtq.fsf@ambrevar.xyz> <871rv1ed8v.fsf@gmail.com> <87mudpm5nt.fsf@ambrevar.xyz> <874kzscpgs.fsf@gmail.com> <87eeyvespq.fsf@ambrevar.xyz> <87zhhhbhzl.fsf@gmail.com> <877e4l5c9h.fsf@ambrevar.xyz> <87mudgb4v5.fsf@gmail.com> <875zjp1xsf.fsf@gmail.com> <87ftittvht.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:58146) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iUmvH-0006Us-0f for help-guix@gnu.org; Wed, 13 Nov 2019 02:18:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iUmvF-0001P2-IT for help-guix@gnu.org; Wed, 13 Nov 2019 02:18:38 -0500 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]:33416) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iUmvF-0001Os-9R for help-guix@gnu.org; Wed, 13 Nov 2019 02:18:37 -0500 Received: by mail-pg1-x543.google.com with SMTP id h27so822795pgn.0 for ; Tue, 12 Nov 2019 23:18:36 -0800 (PST) In-Reply-To: <87ftittvht.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Tue, 12 Nov 2019 08:16:30 +0100") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Pierre Neidhardt Cc: 38015@debbugs.gnu.org, myglc2@gmail.com, help-guix@gnu.org, Alex Kost --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Pierre and Maxim, Pierre Neidhardt writes: > Good luck! Thank you, Pierre - and Maxim! I was able to apply the 3 patches (using commit 18a69803e2eea4f7555d6eafb6497a645c2d094f, which is on master) cleanly. I built a profile using the following manifest: =2D-8<---------------cut here---------------start------------->8--- (use-modules (gnu packages)) (specifications->manifest '( "emacs" "emacs-bbdb" ;; ... a whole lot of omitted packages ... "emacs-sr-speedbar" "emacs-terraform-mode" )) =2D-8<---------------cut here---------------end--------------->8--- I installed it like this: ./pre-inst-env guix package -m /home/marusich/Documents/guix-manifests/e= macs.scm -p ~/.guix-extra-profiles/emacs/emacs I then emptied my default profile and added this to ~/.bash_profile: =2D-8<---------------cut here---------------start------------->8--- GUIX_EXTRA_PROFILES=3D"$HOME/.guix-extra-profiles" for i in $GUIX_EXTRA_PROFILES/*; do profile=3D$i/$(basename "$i") if [ -f "$profile"/etc/profile ]; then GUIX_PROFILE=3D"$profile" . "$profile"/etc/profile export INFOPATH=3D"$profile/share/info${INFOPATH:+:}$INFOPATH" export MANPATH=3D"$profile/share/man${MANPATH:+:}$MANPATH" fi unset profile done =2D-8<---------------cut here---------------end--------------->8--- I logged out and logged back in. It seems to work so far. I started Emacs from a GNOME terminal bash shell. There were no errors in my Messages buffer after I started Emacs. There were no error messages from the Emacs process, either. I'm enjoying my new Emacs right now! So far, I've noticed three things: =2D The fonts were different than I remember. Not sure why it happened, but I'm guessing it had to do with the fact that I emptied my default profile, and thus got rid of a lot of fonts accidentally. At this time, I doubt it's because of your changes. =2D In the GNOME application picker, when I type "emacs" into the search bar, there are no longer any results. Previously, Emacs showed up in the search. This is true for IceCat, too, which I also moved into its own separate profile, so I think it's probably an issue with our GNOME package instead of your changes. =2D Aspell does not work: "ispell-init-process: Error: No word lists can be found for the language "en_US"." I think this happens because the Guix package for aspell refers to the default profile: (add-after 'install 'wrap-aspell (lambda* (#:key outputs #:allow-other-keys) (let ((bin/aspell (string-append (assoc-ref outputs "out") "/bin/aspell"))) (wrap-program bin/aspell '("ASPELL_CONF" "" =3D ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}= /lib/aspell\"}"))) #t))) We should probably follow up on these issues in separate bug reports. Other than the above, it all just works. I don't see any reason not to merge it into master, since even with these issues it is a strict improvement over the current situation in which we cannot use Emacs nearly at all in non-default profiles. If I notice anything else, I'll let you know! Maxim Cournoyer writes: > Subject: [PATCH 1/3] gnu: emacs: Locate Elisp libraries via EMACSLOADPATH. LGTM! > Subject: [PATCH 2/3] build-system: emacs: Simplify the SET-EMACS-LOAD-PATH > phase. > > +(define* (add-source-to-load-path #:key dummy #:allow-other-keys) > + "Augment the EMACSLOADPATH environment variable with the source direct= ory." > (let* ((source-directory (getcwd)) > - (input-elisp-directories (input-directories->el-directories > - (inputs->directories inputs))) > - (emacs-load-path-value > - (string-join > - (append input-elisp-directories (list source-directory)) > - ":" 'suffix))) > + (emacs-load-path-value (string-append (getenv "EMACSLOADPATH") = ":" > + source-directory))) > (setenv "EMACSLOADPATH" emacs-load-path-value) > - (format #t "environment variable `EMACSLOADPATH' set to ~a\n" > - emacs-load-path-value))) > + (format #t "source directory ~s appended to the `EMACSLOADPATH' \ > +environment variable\n" source-directory))) It looks like the change is as follows: previously, we added multiple directories, including the source-directory, to the load path; after this change, we append just the source-directory to the EMACSLOADPATH. Can you remind me why we don't need to add the other elisp directories to the EMACSLOADPATH, too? It seems to work, so I'm probably just missing something obvious. > Subject: [PATCH 3/3] gnu: emacs: Adapt the autoloads auxiliary code to use > EMACSLOADPATH. As far as I can tell, this looks good to me, too. Finally: do you anticipate that this will cause any user-visible or backwards-incompatible changes that we should mention in the Guix channel's news file (and in the Guix NEWS file)? =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl3LrkUACgkQ3UCaFdgi Rp1+ag//aFhn1p3l7osGFtcRIjKtrQuEsi46ycwRt+2P1IcwpOl/M5IhraCkVv6t DCjMtPAfDlVVH5K6ppJkOUD3XQ0m6MDSO9HJ3ukZ3t4VECl6r/iXJzjxG37vgA8y 57Bo5dbHXIOyXF1fkLFzx4xzs+7cRJ+y8PuwGG7kotE3tiZ/JR/sLG0F7xLrpWR9 MJy57+ko0TK52WvJODpW44urBMx4Kz8o6Q0AFuGQEwgdX+e6osldzUW2af2MrTET qDA5CzrizWjJSlmx75Ry663PdA4DjrieDGvW8K3OUzgd13cj0XkHX+4g3eeXqBu1 LXnQ1UF1PP4VnW+s2ZuusYRVBx4sde5UPGJ8ZkE2nHP9OXpeTeQXnnqLE3gl58wa QDm3lvzNIN55ogelSgmDL4LQysCvegawLpnMt0spof/N4Xi7taFKwwOIhl7kgrX2 Fv0jpj67qYeOBMzm7XsVuMDjCPFNJukjz0TrU3/iwby4apH2h5d5UFC91NBZoiVc Wr/d2uX11H8gp1YXYpihWT4aHp8MVHd8ziXrsl3X8LogwMh3QagFld6WFVWhIAaN 4HGsYv1IVw2cTGZCT4WKgkQfzGrwfrELzRQCKnWlDeA7xTSIUoXfhUxmX8WXzn/E 4hZBZXBQLrrpm/HeumUiULd7OdlunLik7GwpQwPqu7UDd+dUQjE= =sNRX -----END PGP SIGNATURE----- --=-=-=--