From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Leo Prikler <leo.prikler@student.tugraz.at>
Cc: 38309@debbugs.gnu.org
Subject: bug#38309: Recent $EMACSLOADPATH changes crash gnome-session
Date: Wed, 27 Nov 2019 22:58:31 +0900 [thread overview]
Message-ID: <87o8wxto8o.fsf@gmail.com> (raw)
In-Reply-To: <674732dc751fbafbdb1e3fd4464d19e27e36607f.camel@student.tugraz.at> (Leo Prikler's message of "Wed, 27 Nov 2019 01:01:31 +0100")
[-- Attachment #1.1: Type: text/plain, Size: 3275 bytes --]
Hello Leo!
Leo Prikler <leo.prikler@student.tugraz.at> writes:
> Hi everyone,
>
> Am Dienstag, den 26.11.2019, 09:56 +0100 schrieb Ludovic Courtès:
>> are we not going overboard with that big a environment variable? :-)
> I think I vaguely remember a related discussion about the Emacs build
> system adding the guix.d directory, which further worsens this problem
> [1]. Putting that aside however, $EMACSLOADPATH should not contain
> more than
> - $GUIX_PROFILE/share/emacs/$EMACS_VERSION/lisp
> - $GUIX_PROFILE/share/emacs/$EMACS_VERSION/site-lisp
> - $GUIX_PROFILE/share/emacs/site-lisp
> If I read (elisp)Library Search correctly, these directories each
> contain a file to add their subdirectories to the load-path variable.
> This can be confirmed by searching in the store or through message-
> debugging. It appears, however, that these files are not quite
> sufficient. While the load-path is indeed modified, no autoloading
> occurs for files inside guix.d -- indeed, I doubt it would occur for
> any package, regardless of how we name it.
That's a precious find! I could validate your findings. The only place
we don't have a union of the Elisp directories (with a subdirs.el file)
is at build time, but in the event we'd stop producing guix.d the search
path would work natively there (as well as causing any newly installed
libraries to be found without any rescanning of directories).
> After further digging around, this appears to be a bug in guix-emacs.
> Rather than using the load-path variable, it uses $EMACSLOADPATH
> directly via getenv. I suggest either recursing into subdirectories as
> Emacs itself would or using load-path instead of reverse engineering
> it, preferring the latter if applicable.
>
> Now that this has been cleared up, a fix should be in reach. First we
> would fix guix-emacs, then we can restrict $EMACSLOADPATH to the above
> three -- perhaps two, as the versioned site-lisp appears unused.
Neat! I find that this works best when guix.d is removed, as otherwise
1) relying on the load-path would mean we'd have to restart Emacs when
installed new libraries under guix.d directories (to have subdirs.el to
its magic and add them to the load-path)
2) the emacs-build-system simplifications that were made would need to
be reverted because at build time we don't have a profile with
subdirs.el readily available, and must manually hunt for the guix.d
subdirectories.
3) Even if we scanned directories recursively for autoloads from
EMACSLOADPATH ourselves in emacs-guix.el, a user would still need to
call the guix-emacs-autoload-packages manually after installing new
Elisp packages to have Emacs find them.
I've tested these changes with a Gnome VM and the EMACSLOADPATH is now
reduced to just the Emacs' lisp directory as well as the
share/emacs/site-lisp directory of any profile. Thanks for the great
ideas :-).
Some packages would need to be adapted to finalize the move to a
guix.d-less installation directory (some recipes refer to it), but this
is trivial to do. The documentation would need to be adapted as well.
I can take care of this if someones deems the attached patches fit to
fix the problems mentioned in this ticket.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-build-emacs-build-system-Unify-the-installation-dire.patch --]
[-- Type: text/x-patch, Size: 6530 bytes --]
From 141e7e8c45c39fbe2e6cfa879f1dc7b7f721bbfc Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sat, 23 Nov 2019 12:04:50 +0900
Subject: [PATCH 1/6] build: emacs-build-system: Unify the installation
directory.
This change aims to reduce the length of the EMACSLOADPATH environment
variable, which was found to cause issues such as bug
\#38309 (https://bugs.gnu.org/38309).
It should also enable discovery of newly installed packages without refreshing
the session's EMACSLOADPATH of the user profile (e.g., when launching Emacs
from the desktop manager application launcher), as discussed in bug
\#38309 (https://bugs.gnu.org/38309).
* guix/build/emacs-build-system.scm (%legacy-install-suffix): Rename to...
(%install-dir): ...this.
(%install-suffix): Remove variable.
(build): Adjust installation target directory.
(patch-el-files): Likewise.
(install): Likewise.
(move-doc): Likewise.
(make-autoloads): Likewise.
---
guix/build/emacs-build-system.scm | 39 +++++++++++++------------------
1 file changed, 16 insertions(+), 23 deletions(-)
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index f0c41812f1..e2b792d3dc 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -40,11 +40,10 @@
;;
;; Code:
-;; Directory suffix where we install ELPA packages. We avoid ".../elpa" as
-;; Emacs expects to find the ELPA repository 'archive-contents' file and the
-;; archive signature.
-(define %legacy-install-suffix "/share/emacs/site-lisp")
-(define %install-suffix (string-append %legacy-install-suffix "/guix.d"))
+;;; All the packages are installed directly under site-lisp, which means that
+;;; having that directory in the EMACSLOADPATH is enough to have them found by
+;;; Emacs.
+(define %install-dir "/share/emacs/site-lisp")
;; These are the default inclusion/exclusion regexps for the install phase.
(define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
@@ -87,11 +86,10 @@ environment variable\n" source-directory)))
"Compile .el files."
(let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
(out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver)))
+ (site-lisp (string-append out %install-dir)))
(setenv "SHELL" "sh")
(parameterize ((%emacs emacs))
- (emacs-byte-compile-directory el-dir))))
+ (emacs-byte-compile-directory site-lisp))))
(define* (patch-el-files #:key outputs #:allow-other-keys)
"Substitute the absolute \"/bin/\" directory with the right location in the
@@ -108,9 +106,7 @@ store in '.el' files."
#:binary #t))
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver))
-
+ (site-lisp (string-append out %install-dir))
;; (ice-9 regex) uses libc's regexp routines, which cannot deal with
;; strings containing NULs. Filter out such files. TODO: Remove
;; this workaround when <https://bugs.gnu.org/30116> is fixed.
@@ -124,7 +120,7 @@ store in '.el' files."
(error "patch-el-files: unable to locate " cmd-name))
(string-append "\"" cmd "\"")))))
- (with-directory-excursion el-dir
+ (with-directory-excursion site-lisp
;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
;; ISO-8859-1-encoded.
(unless (false-if-exception (substitute-program-names))
@@ -175,15 +171,14 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
(not (any (cut match-stripped-file "excluded" <>) exclude)))))
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (target-directory (string-append out %install-suffix "/" elpa-name-ver))
+ (site-lisp (string-append out %install-dir))
(files-to-install (find-files source install-file?)))
(cond
((not (null? files-to-install))
(for-each
(lambda (file)
(let* ((stripped-file (string-drop file (string-length source)))
- (target-file (string-append target-directory stripped-file)))
+ (target-file (string-append site-lisp stripped-file)))
(format #t "`~a' -> `~a'~%" file target-file)
(install-file file (dirname target-file))))
files-to-install)
@@ -197,14 +192,12 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
(define* (move-doc #:key outputs #:allow-other-keys)
"Move info files from the ELPA package directory to the info directory."
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver))
- (name-ver (strip-store-file-name out))
+ (site-lisp (string-append out %install-dir))
(info-dir (string-append out "/share/info/"))
- (info-files (find-files el-dir "\\.info$")))
+ (info-files (find-files site-lisp "\\.info$")))
(unless (null? info-files)
(mkdir-p info-dir)
- (with-directory-excursion el-dir
+ (with-directory-excursion site-lisp
(when (file-exists? "dir") (delete-file "dir"))
(for-each (lambda (f)
(copy-file f (string-append info-dir "/" (basename f)))
@@ -216,11 +209,11 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
"Generate the autoloads file."
(let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
(out (assoc-ref outputs "out"))
+ (site-lisp (string-append out %install-dir))
(elpa-name-ver (store-directory->elpa-name-version out))
- (elpa-name (package-name->name+version elpa-name-ver))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver)))
+ (elpa-name (package-name->name+version elpa-name-ver)))
(parameterize ((%emacs emacs))
- (emacs-generate-autoloads elpa-name el-dir))))
+ (emacs-generate-autoloads elpa-name site-lisp))))
(define (emacs-package? name)
"Check if NAME correspond to the name of an Emacs package."
--
2.24.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-emacs-Simplify-the-EMACSLOADPATH-search-path-spe.patch --]
[-- Type: text/x-patch, Size: 1742 bytes --]
From 6c2fcc4b6f4e8cf8e0b05858b2daa459cb390635 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 27 Nov 2019 13:40:20 +0900
Subject: [PATCH 2/6] gnu: emacs: Simplify the EMACSLOADPATH search path
specification.
The EMACSLOADPATH can be greatly simplified by relying on a subdirs.el file
that causes Emacs to search recursively a directory found in EMACSLOADPATH.
* gnu/packages/emacs.scm (emacs)[native-search-paths]: Remove the match-all
file pattern regexp. Remove the versioned site-lisp directory from searched
files, as it appears unused by Emacs.
Reported-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
gnu/packages/emacs.scm | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 16f9af0a0a..95859b8a88 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -186,11 +186,9 @@
(native-search-paths
(list (search-path-specification
(variable "EMACSLOADPATH")
- ;; The versioned entries are for the Emacs' builtin libraries.
- (files (list (string-append "share/emacs/" version "/site-lisp")
- (string-append "share/emacs/" version "/lisp")
- "share/emacs/site-lisp"))
- (file-pattern ".*")) ;recursively add any sub directory
+ ;; The versioned entry is for the Emacs' builtin libraries.
+ (files (list (string-append "share/emacs/" version "/lisp")
+ "share/emacs/site-lisp")))
(search-path-specification
(variable "INFOPATH")
(files '("share/info")))))
--
2.24.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-gnu-emacs-Fix-guix-emacs.el-indentation.patch --]
[-- Type: text/x-patch, Size: 1248 bytes --]
From 319b81ef8cbfd68c1c98fe644795ef28ad490bd9 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 27 Nov 2019 13:51:53 +0900
Subject: [PATCH 3/6] gnu: emacs: Fix guix-emacs.el indentation.
* gnu/packages/aux-files/emacs/guix-emacs.el: Fix indentation.
---
gnu/packages/aux-files/emacs/guix-emacs.el | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 46ee557f20..b4315c1a2e 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -54,8 +54,8 @@ The files in the list do not have extensions (.el, .elc)."
(seq-filter (lambda (dir)
(string-match-p "/share/emacs/site-lisp" dir))
(split-string emacs-load-path ":")))
- (autoloads (mapcan #'guix-emacs-find-autoloads
- emacs-non-core-load-path-directories)))
+ (autoloads (mapcan #'guix-emacs-find-autoloads
+ emacs-non-core-load-path-directories)))
(mapc (lambda (f)
(load f 'noerror))
autoloads)))
--
2.24.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0004-gnu-emacs-Use-load-path-instead-of-EMACSLOADPATH.patch --]
[-- Type: text/x-patch, Size: 1811 bytes --]
From 3c8b5f63b2e34556463c22fa1565b46c1b31033c Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 27 Nov 2019 14:02:42 +0900
Subject: [PATCH 4/6] gnu: emacs: Use load-path instead of EMACSLOADPATH.
This enables the use of the subdirs.el feature of Emacs, where specifying a
directory in EMACSLOADPATH translates into a `load-path' variable containing
the directory and all its sub-directories.
* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages):
Use `load-path' directly instead of parsing EMACSLOADPATH.
Reported-by: Leo Prikler <leo.prikler@student.tugraz.at>
---
gnu/packages/aux-files/emacs/guix-emacs.el | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index b4315c1a2e..05fc9709b6 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -47,13 +47,12 @@ The files in the list do not have extensions (.el, .elc)."
;; FIXME: The autoloads generated by the emacs-build-system are not byte
;; compiled.
(interactive)
- (let* ((emacs-load-path (getenv "EMACSLOADPATH"))
- (emacs-non-core-load-path-directories
+ (let* ((emacs-non-core-load-path-directories
;; Filter out core Elisp directories, which are already autoloaded
;; by Emacs.
(seq-filter (lambda (dir)
(string-match-p "/share/emacs/site-lisp" dir))
- (split-string emacs-load-path ":")))
+ load-path))
(autoloads (mapcan #'guix-emacs-find-autoloads
emacs-non-core-load-path-directories)))
(mapc (lambda (f)
--
2.24.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.6: 0005-gnu-emacs-ert-runner-Fix-build.patch --]
[-- Type: text/x-patch, Size: 1214 bytes --]
From baccbc37f60843f10e0bd384b5729e7670784b7a Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 27 Nov 2019 22:32:40 +0900
Subject: [PATCH 5/6] gnu: emacs-ert-runner: Fix build.
* gnu/packages/emacs-xyz.scm (emacs-ert-runner): Refer to the updated
installation directory.
---
gnu/packages/emacs-xyz.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0caf12a423..7f140ad5de 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -9859,8 +9859,7 @@ Emacs.")
(substitute* "bin/ert-runner"
(("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
(string-append "ERT_RUNNER=\"" out
- "/share/emacs/site-lisp/guix.d/ert-runner-"
- ,version)))
+ "/share/emacs/site-lisp")))
(install-file "bin/ert-runner" (string-append out "/bin"))
(wrap-program (string-append out "/bin/ert-runner")
(list "EMACSLOADPATH" ":" 'prefix
--
2.24.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.7: 0006-gnu-emacs-emacsql-Fix-build.patch --]
[-- Type: text/x-patch, Size: 1133 bytes --]
From 0c7f859eff56d631ffe73227f012c6117040ade4 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 27 Nov 2019 22:34:44 +0900
Subject: [PATCH 6/6] gnu: emacs-emacsql: Fix build.
* gnu/packages/emacs-xyz.scm (emacs-emacsql): Refer to the updated
installation directory.
---
gnu/packages/emacs-xyz.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7f140ad5de..a30685189b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -11948,8 +11948,7 @@ object has been freed.")
(install-file "sqlite/emacsql-sqlite"
(string-append out "/bin"))
(for-each (cut install-file <>
- (string-append out "/share/emacs/site-lisp/guix.d/"
- "emacsql" "-" ,version))
+ (string-append out "/share/emacs/site-lisp"))
(find-files "." "\\.elc*$")))
#t)))))
(inputs
--
2.24.0
[-- Attachment #1.8: Type: text/plain, Size: 8 bytes --]
Maxim
[-- Attachment #1.9: VM config for testing --]
[-- Type: text/plain, Size: 5020 bytes --]
;; This is an operating system configuration template
;; for a "desktop" setup with GNOME and Xfce where the
;; root partition is encrypted with LUKS.
(use-modules (gnu) (gnu system nss))
(use-service-modules desktop xorg ssh)
(use-package-modules certs gnome emacs emacs-xyz databases gdb)
(operating-system
(host-name "antelope")
(timezone "Europe/Paris")
(locale "en_US.utf8")
;; Choose US English keyboard layout. The "altgr-intl"
;; variant provides dead keys for accented characters.
(keyboard-layout (keyboard-layout "us" "altgr-intl"))
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(keyboard-layout keyboard-layout)))
;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices
(list (mapped-device
(source (uuid "12345678-1234-1234-1234-123456789abc"))
(target "my-root")
(type luks-device-mapping))))
(file-systems (append
(list (file-system
(device (file-system-label "my-root"))
(mount-point "/")
(type "ext4")
(dependencies mapped-devices))
(file-system
(device (uuid "1234-ABCD" 'fat))
(mount-point "/boot/efi")
(type "vfat")))
%base-file-systems))
(users (cons (user-account
(name "bob")
(comment "Alice's brother")
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video")))
%base-user-accounts))
;; This is where we specify system-wide packages.
(packages (cons* gdb
emacs-datetime
emacs-dashboard
emacs-dash
emacs-dash-docs
emacs-darkroom
emacs-dante
emacs-danneskjold-theme
emacs-daemons
emacs-d-mode
emacs-cyberpunk-theme
emacs-ctable
emacs-csv-mode
emacs-crux
emacs-counsel-tramp
emacs-counsel-projectile
emacs-counsel-etags
emacs-counsel-dash
emacs-constants
emacs-compdef
emacs-company
emacs-company-restclient
emacs-company-quickhelp
emacs-company-math
emacs-company-lua
emacs-company-lsp
emacs-company-jedi
emacs-company-irony
emacs-company-flow
emacs-company-cabal
emacs-company-auctex
emacs-commander
emacs-column-marker
emacs-cnfonts
emacs-cmake-font-lock
emacs-closql
emacs-clojure-mode
emacs-cl-print
emacs-cl-generic
emacs-circe
emacs-cider
emacs-cdlatex
emacs-ccls
;emacs-calfw
emacs-buttercup
emacs-butler
emacs-build-farm
emacs-bui
emacs-bug-hunter
emacs-browse-at-remote
emacs-bongo
emacs-blimp
emacs-biblio
emacs-better-defaults
emacs-benchmark-init
emacs-beginend
emacs-bbdb
emacs-bash-completion
emacs-base16-theme
emacs-avy
emacs-autothemer
emacs-auto-yasnippet
emacs-auto-complete
emacs-auctex
emacs-attrap
emacs-atom-one-dark-theme
emacs-async
emacs-ascii-art-to-unicode
emacs-arduino-mode
emacs-apheleia
emacs-anzu
emacs-ansi
emacs-annalist
emacs-anaphora
emacs-amx
emacs-ample-regexps
emacs-all-the-icons
emacs-all-the-icons-dired
emacs-alert
emacs-alect-themes
emacs-ahungry-theme
emacs-aggressive-indent
emacs-ag
emacs-adoc-mode
emacs-add-node-modules-path
emacs-add-hooks
emacs-adaptive-wrap
emacs-ace-window
emacs-ace-link
emacs-ace-jump-mode
emacs-academic-phrases
emacs-a
emacs-2048-game
emacs-magit
emacs-ws-butler
emacs-string-inflection
emacs-recutils
emacs-grep-a-lot
emacs-diff-hl
emacs
%base-packages))
;; Add GNOME and Xfce---we can choose at the log-in screen
;; by clicking the gear. Use the "desktop" services, which
;; include the X11 log-in service, networking with
;; NetworkManager, and more.
(services (append (list (service gnome-desktop-service-type)
(service xfce-desktop-service-type)
(service openssh-service-type
(openssh-configuration
(permit-root-login #t)
(allow-empty-passwords? #t)))
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
%desktop-services))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2019-11-27 13:59 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-21 2:25 bug#38309: Recent $EMACSLOADPATH changes crash gnome-session Alex Griffin
2019-11-22 13:00 ` Clément Lassieur
2019-11-22 13:15 ` Mathieu Othacehe
2019-11-22 17:40 ` Maxim Cournoyer
2019-11-23 18:05 ` Ludovic Courtès
2019-11-24 3:45 ` Maxim Cournoyer
2019-11-24 17:56 ` Ludovic Courtès
2019-11-25 17:23 ` Maxim Cournoyer
2019-11-26 9:20 ` Clément Lassieur
2019-11-26 9:30 ` Ludovic Courtès
2019-11-27 14:10 ` Maxim Cournoyer
2019-11-27 14:15 ` Clément Lassieur
2019-11-27 17:30 ` Clément Lassieur
2019-11-26 9:43 ` Clément Lassieur
2019-11-26 4:04 ` Maxim Cournoyer
2019-11-26 8:56 ` Ludovic Courtès
2019-11-27 3:12 ` Maxim Cournoyer
2019-11-27 9:04 ` Clément Lassieur
2019-11-27 0:01 ` Leo Prikler
2019-11-27 13:58 ` Maxim Cournoyer [this message]
2019-11-27 14:21 ` Jelle Licht
2019-11-28 5:28 ` Maxim Cournoyer
2019-12-02 10:36 ` Clément Lassieur
2019-12-03 9:38 ` Arne Babenhauserheide
2019-12-04 9:14 ` Ludovic Courtès
2019-12-04 10:14 ` Clément Lassieur
2019-12-04 12:31 ` Arne Babenhauserheide
2019-12-04 11:11 ` Arne Babenhauserheide
2019-12-06 17:02 ` Maxim Cournoyer
2019-12-07 16:18 ` Arne Babenhauserheide
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=87o8wxto8o.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=38309@debbugs.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 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).