all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Carlo Zancanaro <carlo@zancanaro.id.au>
To: Leo Prikler <leo.prikler@student.tugraz.at>
Cc: guix-devel@gnu.org
Subject: Re: A new wip-emacs branch
Date: Fri, 09 Apr 2021 00:05:58 +1000	[thread overview]
Message-ID: <8735w0q3ax.fsf@zancanaro.id.au> (raw)
In-Reply-To: <a27bfe54c1cecf68d01b36018bce80a7fd558968.camel@student.tugraz.at>

Hi Leo!

On Thu, Apr 08 2021, Leo Prikler wrote:
> guix-emacs should still be loaded by site-start.el, which also 
> initially loads your autoloads.

Now that I've had more of a chance to play with it, you're right 
about this. I'm not sure what I did earlier, but it loaded 
properly just now.

> What changes for "Guix in Emacs modifying Emacs", is that you'll 
> probably have to reload the subdirs.el file before autoloading 
> the packages.

Ah, okay. I just played around with this, and it seems like the 
sequence I now need is:

  $ guix install emacs-magit # shell command
  ...
  $ load subdirs # emacs command
  t
  $ guix-emacs-autoload-packages # emacs command
  (... list of autoload files ...)

It also sees like I'm able to require the packages in Emacs after 
the "load subdirs" step, as well, so in practice it's still only 
two commands to make new Emacs packages loadable, it's just that 
the second command has changed. 👍

> Obviously, there are exceptions to this, that we can argue on a 
> case by case basis, but to summarize, I don't think hardcoding 
> paths throughout Emacs is a good idea.

I think there are two different cases which are more clear-cut, 
with a significant middle ground that's fuzzy, and using PATH just 
ignores this distinction entirely. There are program uses that are 
an implementation detail (e.g. the fact that dired uses ls), and 
there are programs that a user is directly interacting with (e.g. 
anything that I run in a shell). My thinking is that ideally the 
former should use hard-coded paths, and the latter should come 
from PATH.

The tricky ones are things like geiser, or magit, where the Emacs 
package is a wrapper around a program's functionality. These feel 
like it's reasonable to go either way, but they are also the types 
of packages that provide ways to easily change which program they 
run (i.e. geiser-guile-binary and magit-git-executable for these 
specific examples), so they could default to a hard-coded store 
path because a user can easily change them if they want to use a 
different version.

Although, as you mentioned in a previous email, TRAMP may make 
even those "clear-cut" cases a bit trickier. I'll admit I haven't 
considered TRAMP much in my thinking.

As a more general comment, I feel like Guix's wrappers are often 
treated as "cheaper" than they are. It makes me sad that using 
awesome as a window manager means that I have to have 
LD_LIBRARY_PATH= GI_TYPELIB_PATH= before calls to external 
programs to stop things from crashing (and working out that I 
needed that was a pain in itself). I'll admit that this case with 
Emacs and PATH seems less dangerous than the awesome wrapper, but 
I'm wary of the unexpected problems that it might cause.

Carlo


      reply	other threads:[~2021-04-08 14:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  8:00 A new wip-emacs branch Leo Prikler
2021-04-01 12:21 ` pinoaffe
2021-04-03 11:37 ` Xinglu Chen
2021-04-03 11:57   ` Xinglu Chen
2021-04-03 15:30     ` Leo Prikler
2021-04-04  9:32       ` Xinglu Chen
2021-04-04 10:53         ` Leo Prikler
2021-04-06  9:06 ` Leo Prikler
2021-04-06 18:21   ` Xinglu Chen
2021-04-06 21:32     ` Leo Prikler
2021-04-07 10:07       ` Xinglu Chen
2021-04-07 17:54   ` Leo Prikler
2021-04-08  3:17   ` Carlo Zancanaro
2021-04-08  7:49     ` Leo Prikler
2021-04-08 14:05       ` Carlo Zancanaro [this message]

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=8735w0q3ax.fsf@zancanaro.id.au \
    --to=carlo@zancanaro.id.au \
    --cc=guix-devel@gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    /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 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.