GNU bug report logs -
#66227
'emacs-next' is almost unusable
Previous Next
Reported by: Akib Azmain Turja <akib <at> disroot.org>
Date: Wed, 27 Sep 2023 09:46:02 UTC
Severity: normal
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66227 in the body.
You can then email your comments to 66227 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Wed, 27 Sep 2023 09:46:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Akib Azmain Turja <akib <at> disroot.org>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 27 Sep 2023 09:46:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
'emacs-next' doesn't work. Because native-compilation doesn't work and
it breaks everything else. Applying the following patch on Emacs 30
source should fix the problem. (The patch for Emacs 29 won't work.)
--8<---------------cut here---------------start------------->8---
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -203,9 +203,7 @@ and above."
:type '(repeat string)
:version "28.1")
-(defcustom native-comp-driver-options
- (cond ((eq system-type 'darwin) '("-Wl,-w"))
- ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
+(defcustom native-comp-driver-options nil
"Options passed verbatim to the native compiler's back-end driver.
Note that not all options are meaningful; typically only the options
affecting the assembler and linker are likely to be useful.
--
2.38.0
--8<---------------cut here---------------end--------------->8---
--
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Fri, 06 Oct 2023 14:42:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 66227 <at> debbugs.gnu.org (full text, mbox):
> 'emacs-next' doesn't work. Because native-compilation doesn't work and
> it breaks everything else.
What exactly doesn’t work?
It would be better to actually fix whatever problem there might be than
just disabling native compilation.
--
Ricardo
Information forwarded
to
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Fri, 06 Oct 2023 16:11:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 66227 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/patches/emacs-next-native-comp-driver-options.patch: Add file.
* gnu/packages/patches/emacs-next-exec-path.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Register them here.
* gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches): Include the
same patches as emacs-minimal, save for the variants specific to emacs-next
introduced above.
Co-Authored-By: Nicolas Graves <ngraves <at> ngraves.fr>
Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
---
Hi Guix,
this bug was independently discovered in two locations, so I wanted to
inform both. A fix has already been proposed, but is not yet complete.
Here's to finally cover everything we need to have an Emacs as expected
by Guix.
Feel free to bikeshed.
Happy hacking
gnu/local.mk | 2 ++
gnu/packages/emacs.scm | 7 ++++++-
.../patches/emacs-next-exec-path.patch | 18 ++++++++++++++++++
...emacs-next-native-comp-driver-options.patch | 18 ++++++++++++++++++
4 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/emacs-next-exec-path.patch
create mode 100644 gnu/packages/patches/emacs-next-native-comp-driver-options.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 65d50abc71..43a528e937 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1110,6 +1110,8 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
%D%/packages/patches/emacs-native-comp-driver-options.patch \
+ %D%/packages/patches/emacs-next-exec-path.patch \
+ %D%/packages/patches/emacs-next-native-comp-driver-options.patch \
%D%/packages/patches/emacs-pasp-mode-quote-file-names.patch \
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 72b2c7795e..b9d9e2b891 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -498,7 +498,12 @@ (define-public emacs-next-minimal
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9")))))))
+ (base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9"))
+ (patches
+ (search-patches "emacs-next-exec-path.patch"
+ "emacs-fix-scheme-indent-function.patch"
+ "emacs-next-native-comp-driver-options.patch"
+ "emacs-pgtk-super-key-fix.patch")))))))
(define* (emacs->emacs-next emacs #:optional name
#:key (version (package-version emacs-next-minimal))
diff --git a/gnu/packages/patches/emacs-next-exec-path.patch b/gnu/packages/patches/emacs-next-exec-path.patch
new file mode 100644
index 0000000000..6e33e25258
--- /dev/null
+++ b/gnu/packages/patches/emacs-next-exec-path.patch
@@ -0,0 +1,18 @@
+Do not capture the build-time value of $PATH in the 'emacs' executable
+since this can noticeably increase the size of the closure of Emacs
+with things like GCC being referenced.
+
+Index: emacs-next/lisp/loadup.el
+===================================================================
+--- emacs-next.orig/lisp/loadup.el
++++ emacs-next/lisp/loadup.el
+@@ -599,7 +599,8 @@ lost after dumping")))
+ ((equal dump-mode "dump") "emacs")
+ ((equal dump-mode "bootstrap") "emacs")
+ ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
+- (t (error "Unrecognized dump mode %s" dump-mode)))))
++ (t (error "Unrecognized dump mode %s" dump-mode))))
++ (exec-path nil))
+ (when (and (featurep 'native-compile)
+ (equal dump-mode "pdump"))
+ ;; Don't enable this before bootstrap is completed, as the
diff --git a/gnu/packages/patches/emacs-next-native-comp-driver-options.patch b/gnu/packages/patches/emacs-next-native-comp-driver-options.patch
new file mode 100644
index 0000000000..e4ed5a48f1
--- /dev/null
+++ b/gnu/packages/patches/emacs-next-native-comp-driver-options.patch
@@ -0,0 +1,18 @@
+We substitute this anyway, so let's make it easier to substitute.
+
+--- a/lisp/emacs-lisp/comp.el
++++ b/lisp/emacs-lisp/comp.el
+@@ -203,9 +203,7 @@ and above."
+ :type '(repeat string)
+ :version "28.1")
+
+-(defcustom native-comp-driver-options
+- (cond ((eq system-type 'darwin) '("-Wl,-w"))
+- ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
++(defcustom native-comp-driver-options nil
+ "Options passed verbatim to the native compiler's back-end driver.
+ Note that not all options are meaningful; typically only the options
+ affecting the assembler and linker are likely to be useful.
+--
+2.38.0
+
base-commit: e863274e67e2242b970845783172c9f4e49405ca
--
2.41.0
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Sat, 07 Oct 2023 05:58:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 66227 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2023-10-06 17:58, Liliana Marie Prikler wrote:
> * gnu/packages/patches/emacs-next-native-comp-driver-options.patch: Add file.
> * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
> * gnu/local.mk (dist_patch_DATA): Register them here.
> * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches): Include the
> same patches as emacs-minimal, save for the variants specific to emacs-next
> introduced above.
>
> Co-Authored-By: Nicolas Graves <ngraves <at> ngraves.fr>
> Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
> ---
> Hi Guix,
>
> this bug was independently discovered in two locations, so I wanted to
> inform both. A fix has already been proposed, but is not yet complete.
> Here's to finally cover everything we need to have an Emacs as expected
> by Guix.
>
> Feel free to bikeshed.
>
> Happy hacking
>
> gnu/local.mk | 2 ++
> gnu/packages/emacs.scm | 7 ++++++-
> .../patches/emacs-next-exec-path.patch | 18 ++++++++++++++++++
> ...emacs-next-native-comp-driver-options.patch | 18 ++++++++++++++++++
> 4 files changed, 44 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/emacs-next-exec-path.patch
> create mode 100644 gnu/packages/patches/emacs-next-native-comp-driver-options.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 65d50abc71..43a528e937 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1110,6 +1110,8 @@ dist_patch_DATA = \
> %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
> %D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
> %D%/packages/patches/emacs-native-comp-driver-options.patch \
> + %D%/packages/patches/emacs-next-exec-path.patch \
> + %D%/packages/patches/emacs-next-native-comp-driver-options.patch \
> %D%/packages/patches/emacs-pasp-mode-quote-file-names.patch \
> %D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
> %D%/packages/patches/emacs-telega-path-placeholder.patch \
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 72b2c7795e..b9d9e2b891 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -498,7 +498,12 @@ (define-public emacs-next-minimal
> (commit commit)))
> (file-name (git-file-name name version))
> (sha256
> - (base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9")))))))
> + (base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9"))
> + (patches
> + (search-patches "emacs-next-exec-path.patch"
> + "emacs-fix-scheme-indent-function.patch"
> + "emacs-next-native-comp-driver-options.patch"
> + "emacs-pgtk-super-key-fix.patch")))))))
>
> (define* (emacs->emacs-next emacs #:optional name
> #:key (version (package-version emacs-next-minimal))
> diff --git a/gnu/packages/patches/emacs-next-exec-path.patch b/gnu/packages/patches/emacs-next-exec-path.patch
> new file mode 100644
> index 0000000000..6e33e25258
> --- /dev/null
> +++ b/gnu/packages/patches/emacs-next-exec-path.patch
> @@ -0,0 +1,18 @@
> +Do not capture the build-time value of $PATH in the 'emacs' executable
> +since this can noticeably increase the size of the closure of Emacs
> +with things like GCC being referenced.
> +
> +Index: emacs-next/lisp/loadup.el
> +===================================================================
> +--- emacs-next.orig/lisp/loadup.el
> ++++ emacs-next/lisp/loadup.el
> +@@ -599,7 +599,8 @@ lost after dumping")))
> + ((equal dump-mode "dump") "emacs")
> + ((equal dump-mode "bootstrap") "emacs")
> + ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
> +- (t (error "Unrecognized dump mode %s" dump-mode)))))
> ++ (t (error "Unrecognized dump mode %s" dump-mode))))
> ++ (exec-path nil))
> + (when (and (featurep 'native-compile)
> + (equal dump-mode "pdump"))
> + ;; Don't enable this before bootstrap is completed, as the
> diff --git a/gnu/packages/patches/emacs-next-native-comp-driver-options.patch b/gnu/packages/patches/emacs-next-native-comp-driver-options.patch
> new file mode 100644
> index 0000000000..e4ed5a48f1
> --- /dev/null
> +++ b/gnu/packages/patches/emacs-next-native-comp-driver-options.patch
> @@ -0,0 +1,18 @@
> +We substitute this anyway, so let's make it easier to substitute.
> +
> +--- a/lisp/emacs-lisp/comp.el
> ++++ b/lisp/emacs-lisp/comp.el
> +@@ -203,9 +203,7 @@ and above."
> + :type '(repeat string)
> + :version "28.1")
> +
> +-(defcustom native-comp-driver-options
> +- (cond ((eq system-type 'darwin) '("-Wl,-w"))
> +- ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
> ++(defcustom native-comp-driver-options nil
> + "Options passed verbatim to the native compiler's back-end driver.
> + Note that not all options are meaningful; typically only the options
> + affecting the assembler and linker are likely to be useful.
> +--
> +2.38.0
> +
>
> base-commit: e863274e67e2242b970845783172c9f4e49405ca
Hi Liliana and Nicolas, the fixes looks good to me.
--
Best regards,
Andrew Tropin
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Sun, 08 Oct 2023 06:57:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 66227 <at> debbugs.gnu.org (full text, mbox):
Am Samstag, dem 07.10.2023 um 09:56 +0400 schrieb Andrew Tropin:
> On 2023-10-06 17:58, Liliana Marie Prikler wrote:
>
> > * gnu/packages/patches/emacs-next-native-comp-driver-options.patch:
> > Add file.
> > * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
> > * gnu/local.mk (dist_patch_DATA): Register them here.
> > * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches):
> > Include the same patches as emacs-minimal, save for the variants
> > specific to emacs-next introduced above.
> >
> > Co-Authored-By: Nicolas Graves <ngraves <at> ngraves.fr>
> > Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
> > […]
>
> Hi Liliana and Nicolas, the fixes looks good to me.
Thanks for checking. I pushed it now (perhaps a bit too hasty, but
it's been a problem for some while).
Cheers
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66227
; Package
guix
.
(Sun, 08 Oct 2023 10:22:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 66227 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2023-10-08 08:55, Liliana Marie Prikler wrote:
> Am Samstag, dem 07.10.2023 um 09:56 +0400 schrieb Andrew Tropin:
>> On 2023-10-06 17:58, Liliana Marie Prikler wrote:
>>
>> > * gnu/packages/patches/emacs-next-native-comp-driver-options.patch:
>> > Add file.
>> > * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
>> > * gnu/local.mk (dist_patch_DATA): Register them here.
>> > * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches):
>> > Include the same patches as emacs-minimal, save for the variants
>> > specific to emacs-next introduced above.
>> >
>> > Co-Authored-By: Nicolas Graves <ngraves <at> ngraves.fr>
>> > Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
>> > […]
>>
>> Hi Liliana and Nicolas, the fixes looks good to me.
> Thanks for checking. I pushed it now (perhaps a bit too hasty, but
> it's been a problem for some while).
Cool! Thank you very much, appreciate your work!
--
Best regards,
Andrew Tropin
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:
You have taken responsibility.
(Sun, 07 Jul 2024 06:40:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Akib Azmain Turja <akib <at> disroot.org>
:
bug acknowledged by developer.
(Sun, 07 Jul 2024 06:40:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 66227-done <at> debbugs.gnu.org (full text, mbox):
Am Sonntag, dem 08.10.2023 um 14:21 +0400 schrieb Andrew Tropin:
> On 2023-10-08 08:55, Liliana Marie Prikler wrote:
>
> > Am Samstag, dem 07.10.2023 um 09:56 +0400 schrieb Andrew Tropin:
> > > On 2023-10-06 17:58, Liliana Marie Prikler wrote:
> > >
> > > > * gnu/packages/patches/emacs-next-native-comp-driver-
> > > > options.patch:
> > > > Add file.
> > > > * gnu/packages/patches/emacs-next-exec-path.patch: Add file.
> > > > * gnu/local.mk (dist_patch_DATA): Register them here.
> > > > * gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches):
> > > > Include the same patches as emacs-minimal, save for the
> > > > variants
> > > > specific to emacs-next introduced above.
> > > >
> > > > Co-Authored-By: Nicolas Graves <ngraves <at> ngraves.fr>
> > > > Fixes: ‘emacs-next’ is almost unusable
> > > > <https://bugs.gnu.org/66227>
> > > > […]
> > >
> > > Hi Liliana and Nicolas, the fixes looks good to me.
> > Thanks for checking. I pushed it now (perhaps a bit too hasty, but
> > it's been a problem for some while).
>
> Cool! Thank you very much, appreciate your work!
It seem, that there hasn't been a complaint about this one for a while
since the fix was applied, so I'll close it as done.
Cheers
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 04 Aug 2024 11:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 148 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.