From: Federico Beffa <beffa@ieee.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>, Alex Kost <alezost@gmail.com>
Subject: Re: Why do we use ".../share/emacs/site-lisp/guix.d/"?
Date: Fri, 20 May 2016 08:53:27 +0200 [thread overview]
Message-ID: <CAKrPhPN7N3oqfWJ3ZjOi+ck1rxjUFZ-Zup7g3OiDVsNszLTbPQ@mail.gmail.com> (raw)
In-Reply-To: <874m9uxnlw.fsf@gnu.org>
ludo@gnu.org (Ludovic Courtès) writes:
> Alex Kost <alezost@gmail.com> skribis:
>
>> Ludovic Courtès (2016-05-17 00:15 +0300) wrote:
>>
>>> Alex Kost <alezost@gmail.com> skribis:
[...]
>>> Federico suggests above that having “guix.d” makes it clear that a
>>> non-Guix-installed Emacs on a foreign distro may not be able to use
>>> those packages.
>>
>> I don't see how this makes it more clear. Of course a
>> non-Guix-installed Emacs knows nothing about packages installed in a
>> Guix profile. As for me, "~/.guix-profile" is already clear enough, and
>> there is no reason to add another "guix"-containing name part to the
>> file hierarchy.
>
> I see, I get your point, and I think I concur.
>
> Federico: is there anything we’re missing from your argument?
Given that the first point that I made appears to have been ignored, I
would think so.
Let me try to explain it once more:
There are packages which do have sub-directories containing only non
elisp files (note 1) and which therefore should not be included in
Emacs's load-path. If you remove guix.d as you are suggesting, you can
end up with a directory layout as follows:
package-NOT-installed-with-emacs-build-system-a.el
package-NOT-installed-with-emacs-build-system-a/
package-NOT-installed-with-emacs-build-system-b.el
package-installed-with-emacs-build-system-c/
package-installed-with-emacs-build-system-d/
How can you tell which sub-directory to include in Emacs's load-path
without having to scan all of them or relying on heuristics?
Differently from this with the guix.d directory it is very clear:
package-NOT-installed-with-emacs-build-system-a.el
package-NOT-installed-with-emacs-build-system-a/
package-NOT-installed-with-emacs-build-system-b
guix.d/package-installed-with-emacs-build-system-c/
guix.d/package-installed-with-emacs-build-system-d/
you only include '.' (site-lisp) and one level below guix.d.
So, removing guix.d could result in additional directories being
included in Emacs's load-path, or could require a more sophisticated
heuristic strategy to decide which sub-directory to include. These are
not catastrophic things, but in my opinion plain bad.
The proposed change is a change for the sake of changing things: it does
not provide any tangible technical improvement. On the contrary, beside
the above, it will break existing installations where people have the
current Emacs package installed and will install a new package without
updating Emacs itself.
Fede
(note 1): If you want an example look at emacs-slime. Because I
prepared that package, I decided to use the emacs-build-system and so
the extra sub-directory doesn't reside directly under site-lisp. But it
is likely that there are other similar packages and somebody else may
prefer to install it with a build system other than the
emacs-build-system (using a provided Makefile).
next prev parent reply other threads:[~2016-05-20 6:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-08 10:33 Why do we use ".../share/emacs/site-lisp/guix.d/"? Alex Kost
2016-05-08 16:23 ` Federico Beffa
2016-05-08 19:51 ` Alex Kost
2016-05-08 20:06 ` Federico Beffa
2016-05-09 6:42 ` Federico Beffa
2016-05-09 9:13 ` Alex Kost
2016-05-16 21:15 ` Ludovic Courtès
2016-05-17 18:14 ` Alex Kost
2016-05-19 12:02 ` Ludovic Courtès
2016-05-20 6:53 ` Federico Beffa [this message]
2016-05-20 21:00 ` Alex Kost
2016-05-21 10:47 ` Federico Beffa
2016-05-21 21:39 ` Alex Kost
2016-05-22 20:28 ` Ludovic Courtès
2016-05-08 16:51 ` Ludovic Courtès
2016-05-08 19:58 ` Alex Kost
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAKrPhPN7N3oqfWJ3ZjOi+ck1rxjUFZ-Zup7g3OiDVsNszLTbPQ@mail.gmail.com \
--to=beffa@ieee.org \
--cc=alezost@gmail.com \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/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: link
Be 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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).