all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: Alex Kost <alezost@gmail.com>, myglc2@gmail.com, help-guix@gnu.org
Subject: Re: Emacs in multiple profiles
Date: Thu, 24 Oct 2019 23:05:20 -0400	[thread overview]
Message-ID: <871rv1ed8v.fsf@gmail.com> (raw)
In-Reply-To: <87o8yccwtq.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Sat, 19 Oct 2019 22:19:29 +0200")

[-- Attachment #1: Type: text/plain, Size: 1123 bytes --]

Hello Pierre,

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Maybe it is just my ignorance about XDG_DATA_DIRS, but, wouldn't it be
>> more natural to use Emacs native mean of finding packages, akin to
>> Python's PYTHONPATH?  Emacs has the EMACSLOADPATH for this; per the
>> Emacs manual:
>
> Well, I'd say it's my ignorance, not yours!
>
>> I had a working branch implementing this a long time ago; I could try
>> reviving it if you have an interested in it.
>
> This seems to be the right thing to do, I'd say go ahead, I'd be happy
> to review / test / send feedback for your patch!

I've thought some more about this, and perhaps such a simple change the
patch attached could do?  It's late and I haven't tried it yet, sorry.
Will try it out later.  You'll have to rebuild just Emacs and the Emacs
packages you use.

Various cleanups could be undertaken in both Guix (no longer need the
set-emacsloadpath phase in the emacs-build-system) and Emacs-Guix (no
need for custom logic looking into ~/.guix-profile) and perhaps other
places should this get merged.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-emacs-Locate-Elisp-libraries-via-EMACSLOADPATH.patch --]
[-- Type: text/x-patch, Size: 1143 bytes --]

From 809bdcc447557134fbf4278c3b0d4b7d186d190d Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sat, 3 Jun 2017 12:56:36 -0700
Subject: [PATCH] gnu: emacs: Locate Elisp libraries via EMACSLOADPATH.

* gnu/packages/emacs.scm (emacs): Add a search path specification for
EMACSLOADPATH.
---
 gnu/packages/emacs.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6c6f0e4567..0831dd575a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -185,6 +185,13 @@
 
     (native-search-paths
      (list (search-path-specification
+            (variable "EMACSLOADPATH")
+            ;; The versioned entries are for Emacs builtin libraries.
+            (files `(,(string-append "share/emacs/" version "/site-lisp/")
+                     ,(string-append "share/emacs/" version "/lisp/")
+                     "share/emacs/site-lisp/"))
+            (file-pattern ".*"))        ;recursively add any sub directory
+           (search-path-specification
             (variable "INFOPATH")
             (files '("share/info")))))
 
-- 
2.23.0


[-- Attachment #3: Type: text/plain, Size: 358 bytes --]


Maxim

--
This is perhaps obsoleted by the above, but feel free to study

Here is a branch of the two commits, based off master:
https://gitlab.com/Apteryks/guix/tree/guixify-emacs-packages-discovery.

Sadly, this is a world rebuilding change, due to having extended the
search-path-specification record so that it supported declaring a
trailing separator.

  reply	other threads:[~2019-10-25  3:05 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 [this message]
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
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=871rv1ed8v.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=alezost@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: 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.