From: Maxim Cournoyer <maxim.cournoyer@gmail.com> To: Chris Marusich <cmmarusich@gmail.com> Cc: myglc2@gmail.com, 38015@debbugs.gnu.org, Pierre Neidhardt <mail@ambrevar.xyz>, help-guix@gnu.org, Alex Kost <alezost@gmail.com> Subject: [bug#38015] Emacs in multiple profiles Date: Mon, 18 Nov 2019 14:50:32 +0900 [thread overview] Message-ID: <87r225u40n.fsf@gmail.com> (raw) In-Reply-To: <87eeyc452y.fsf@gmail.com> (Chris Marusich's message of "Tue, 12 Nov 2019 23:18:29 -0800") Hello Chris, Chris Marusich <cmmarusich@gmail.com> writes: [...] I've skipped your previous questions, as I believe they were well answered by Pierre (thank you, Pierre!). >> 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 directory." >> (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. The magic is in the set-paths phase that is inherited from the gnu-build-system. It uses the search path specification now specified in the Emacs package to set the EMACSLOADPATH environment variable itself. When building Elisp packages, it is useful to add the current source directory to that environment variable, so that 'require' directives are able to find the package's own modules (say, when running its test suite). >> 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)? Thanks for the review! I can't anticipate any user-visible changes except the current (incorrect) behavior. This change is now live on master, with commit 47b3b4c2aa49e21f4cc32c97ff7bbbd069bb849c. Thanks for testing :-). Maxim
WARNING: multiple messages have this Message-ID (diff)
From: Maxim Cournoyer <maxim.cournoyer@gmail.com> To: Chris Marusich <cmmarusich@gmail.com> Cc: myglc2@gmail.com, 38015@debbugs.gnu.org, help-guix@gnu.org, Alex Kost <alezost@gmail.com> Subject: Re: [bug#38015] Emacs in multiple profiles Date: Mon, 18 Nov 2019 14:50:32 +0900 [thread overview] Message-ID: <87r225u40n.fsf@gmail.com> (raw) In-Reply-To: <87eeyc452y.fsf@gmail.com> (Chris Marusich's message of "Tue, 12 Nov 2019 23:18:29 -0800") Hello Chris, Chris Marusich <cmmarusich@gmail.com> writes: [...] I've skipped your previous questions, as I believe they were well answered by Pierre (thank you, Pierre!). >> 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 directory." >> (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. The magic is in the set-paths phase that is inherited from the gnu-build-system. It uses the search path specification now specified in the Emacs package to set the EMACSLOADPATH environment variable itself. When building Elisp packages, it is useful to add the current source directory to that environment variable, so that 'require' directives are able to find the package's own modules (say, when running its test suite). >> 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)? Thanks for the review! I can't anticipate any user-visible changes except the current (incorrect) behavior. This change is now live on master, with commit 47b3b4c2aa49e21f4cc32c97ff7bbbd069bb849c. Thanks for testing :-). Maxim
next prev parent reply other threads:[~2019-11-18 5:51 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-22 16:47 Emacs in multiple profiles Konrad Hinsen 2018-03-22 21:21 ` Alex Kost 2018-03-23 7:57 ` Konrad Hinsen 2018-03-23 17:25 ` Alex Kost 2018-03-24 12:14 ` Konrad Hinsen 2018-03-24 16:07 ` Alex Kost 2018-03-26 8:24 ` Konrad Hinsen 2018-03-27 15:38 ` Alex Kost 2018-04-18 19:49 ` myglc2 2018-05-05 16:01 ` Konrad Hinsen 2019-10-16 19:54 ` Pierre Neidhardt 2019-10-17 15:56 ` George Clemmer 2019-10-18 8:42 ` Pierre Neidhardt 2019-10-18 17:13 ` George Clemmer 2019-10-19 8:57 ` Pierre Neidhardt 2019-10-19 8:53 ` Pierre Neidhardt 2019-10-19 19:35 ` Maxim Cournoyer 2019-10-19 20:19 ` Pierre Neidhardt 2019-10-25 3:05 ` Maxim Cournoyer 2019-10-25 11:21 ` Pierre Neidhardt 2019-10-28 3:45 ` Maxim Cournoyer 2019-10-28 7:49 ` Pierre Neidhardt 2019-10-28 12:46 ` Maxim Cournoyer 2019-10-29 1:25 ` Maxim Cournoyer 2019-10-29 10:44 ` Pierre Neidhardt 2019-10-31 5:29 ` Maxim Cournoyer 2019-10-31 12:29 ` Pierre Neidhardt 2019-11-01 4:25 ` [bug#38015] " Maxim Cournoyer 2019-11-01 4:25 ` Maxim Cournoyer 2019-11-01 19:06 ` [bug#38015] " Pierre Neidhardt 2019-11-01 19:06 ` Pierre Neidhardt 2019-11-02 1:12 ` [bug#38015] " Maxim Cournoyer 2019-11-02 1:12 ` Maxim Cournoyer 2019-11-02 9:41 ` [bug#38015] " Pierre Neidhardt 2019-11-02 9:41 ` Pierre Neidhardt 2019-11-17 23:10 ` Emacs in server mode using a Shepherd user service (Was: Re: Emacs in multiple profiles) Chris Marusich 2019-11-18 20:55 ` brettg 2019-11-19 21:57 ` Emacs in server mode using a Shepherd user service Maxim Cournoyer 2019-11-19 21:58 ` brettg 2019-11-19 22:03 ` brettg 2019-11-12 5:14 ` [bug#38015] Emacs in multiple profiles Chris Marusich 2019-11-12 5:14 ` Chris Marusich 2019-11-12 7:16 ` Pierre Neidhardt 2019-11-12 7:16 ` Pierre Neidhardt 2019-11-13 7:18 ` Chris Marusich 2019-11-13 7:18 ` Chris Marusich 2019-11-13 11:08 ` Pierre Neidhardt 2019-11-13 11:08 ` Pierre Neidhardt 2019-11-18 5:50 ` Maxim Cournoyer [this message] 2019-11-18 5:50 ` Maxim Cournoyer 2019-10-20 13:58 ` Alex Kost 2019-10-20 16:17 ` Pierre Neidhardt 2018-04-20 20:52 ` Ricardo Wurmus
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=87r225u40n.fsf@gmail.com \ --to=maxim.cournoyer@gmail.com \ --cc=38015@debbugs.gnu.org \ --cc=alezost@gmail.com \ --cc=cmmarusich@gmail.com \ --cc=help-guix@gnu.org \ --cc=mail@ambrevar.xyz \ --cc=myglc2@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.