Message ID | 20210408174616.13112-1-leo.prikler@student.tugraz.at |
---|---|
Headers | show |
Series | Improve Emacs UX. | expand |
Hi, On Thu, Apr 08 2021, Leo Prikler wrote: > Hi Guix, > > as you all recall, I recently put in some efforts into improving the > Emacs user experience in Guix. There are three bugs addressed by this > patch set: > > 1. Emacs libraries may inadvertently overwrite files in other libraries > (solved by using ELPA-style subdirectories) > 2. Emacs cannot find its own load-path after an update. (Solved with a > wrapper). > 3. Emacs can't find core programs, such as "ls" or "gzip". I just wanted to let you know that I have been using these patches with Emacs for a few days, and things have been working fine so far :) I haven’t tested all the updated packages, though. Out of curiosity, what are the differences between v2 and v1 of the series? It would be nice to include a cover letter for v2 to give an overview of the changes since v1. Thanks for working on this!
Am Donnerstag, den 29.04.2021, 14:16 +0200 schrieb Xinglu Chen: > Hi, > > On Thu, Apr 08 2021, Leo Prikler wrote: > > > Hi Guix, > > > > as you all recall, I recently put in some efforts into improving > > the > > Emacs user experience in Guix. There are three bugs addressed by > > this > > patch set: > > > > 1. Emacs libraries may inadvertently overwrite files in other > > libraries > > (solved by using ELPA-style subdirectories) > > 2. Emacs cannot find its own load-path after an update. (Solved > > with a > > wrapper). > > 3. Emacs can't find core programs, such as "ls" or "gzip". > > I just wanted to let you know that I have been using these patches > with > Emacs for a few days, and things have been working fine so far :) I > haven’t tested all the updated packages, though. > > Out of curiosity, what are the differences between v2 and v1 of the > series? It would be nice to include a cover letter for v2 to give an > overview of the changes since v1. The difference of v2 w.r.t. v1 lies in how Emacs finds core binaries ([03/33] in the respective series). v1 hardcodes them, but as I feared, that won't work with tramp, so I changed it to adjusting PATH in v2. You can test that this has a visible effect by checking some variant of emacs-next both with v1 and v2. Regards, Leo
On Thu, Apr 29 2021, Leo Prikler wrote: >> Out of curiosity, what are the differences between v2 and v1 of the >> series? It would be nice to include a cover letter for v2 to give an >> overview of the changes since v1. > The difference of v2 w.r.t. v1 lies in how Emacs finds core binaries > ([03/33] in the respective series). v1 hardcodes them, but as I > feared, that won't work with tramp, so I changed it to adjusting PATH > in v2. You can test that this has a visible effect by checking some > variant of emacs-next both with v1 and v2. Ok, thanks for explaining.
I've now pushed this patch set. Thanks, everyone who contributed packages. Thanks, everyone who submitted bugs. And thanks to Xinglu Chen for helping me test. I apologize in advance for all the bugs, that we didn't catch in the last fourteen days. Please yell at me as loud as you can if you find one. I wish you all enjoy a wonderful Labour Day. Leo
Hi Leo, Thanks for your work on the emacs-build-system! In guix/build/emacs-build-system.scm, is the comment before %install-dir still consistent with your changes? It seems to describe the old system when all files were installed into site-lisp. --8<---------------cut here---------------start------------->8--- ;;; 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") --8<---------------cut here---------------end--------------->8--- Could you fix this? Thank you for your time! :-) Arun
Hi Arun, Am Dienstag, den 04.05.2021, 10:43 +0530 schrieb Arun Isaac: > In guix/build/emacs-build-system.scm, is the comment before %install- > dir > still consistent with your changes? It seems to describe the old > system > when all files were installed into site-lisp. > > --8<---------------cut here---------------start------------->8--- > ;;; 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") > --8<---------------cut here---------------end--------------->8--- Thanks for pointing this out. How would --8<---------------cut here---------------start------------->8--- ;;; The location in which Emacs looks for packages. Emacs Lisp code, that is ;;; installed there directly will be found when that directory is added to ;;; EMACSLOADPATH. To avoid clashes between packages (particularly considering ;;; auxiliary files), we install them one directory level below, however. ;;; This indirection is handled by ‘expand-load-path’ during build and a ;;; profile hook otherwise. (define %install-dir "/share/emacs/site-lisp") --8<---------------cut here---------------end--------------->8--- sound?
Hi Leo, > --8<---------------cut here---------------start------------->8--- > The location in which Emacs looks for packages. Emacs Lisp code, that > is installed there directly will be found when that directory is added > to EMACSLOADPATH. To avoid clashes between packages (particularly > considering auxiliary files), we install them one directory level > below, however. This indirection is handled by ‘expand-load-path’ > during build and a profile hook otherwise. > --8<---------------cut here---------------end--------------->8--- Are there still packages that directly install into /share/emacs/site-lisp as mentioned in sentence 2? Apart from that one sentence, this looks good to me. Thanks!
Am Mittwoch, den 05.05.2021, 02:32 +0530 schrieb Arun Isaac: > Hi Leo, > > > --8<---------------cut here---------------start------------->8--- > > The location in which Emacs looks for packages. Emacs Lisp code, > > that > > is installed there directly will be found when that directory is > > added > > to EMACSLOADPATH. To avoid clashes between packages (particularly > > considering auxiliary files), we install them one directory level > > below, however. This indirection is handled by ‘expand-load-path’ > > during build and a profile hook otherwise. > > --8<---------------cut here---------------end--------------->8--- > > Are there still packages that directly install into > /share/emacs/site-lisp as mentioned in sentence 2? Apart from that > one > sentence, this looks good to me. I haven't done an exhaustive check, so there might be some odd packages, that don't fit into sentence 3. The profile hook counts as "Emacs lisp code installed there directly" imo as well. Regards, Leo
Ok, that makes sense. Do proceed with the fix. Thanks! Arun