summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2025-07-04 19:38:04 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2025-07-22 07:36:55 +0200
commit8d4bccedd5ebfed6891b2148b4e8c548f1f5db8a (patch)
treef4a5d84a0151fb103a079e5e70045e121d6f606c
parentb87a7905495d2d3fe88af76fa45bd18837f40524 (diff)
gnu: emacs-minimal: Fix compilation errors.
Backport this patch in emacs@30 to fix compilation issues. * gnu/packages/patches/emacs-30-fix-compilation-errors.patch: Add patch. * gnu/packages/emacs.scm (emacs-minimal)[source]: Record patch. * gnu/local.mk: Record patch. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/emacs.scm3
-rw-r--r--gnu/packages/patches/emacs-30-fix-compilation-errors.patch34
3 files changed, 37 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 46a483c15e..2796f0abfd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1233,6 +1233,7 @@ dist_patch_DATA = \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
+ %D%/packages/patches/emacs-30-fix-compilation-errors.patch \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-elpy-dup-test-name.patch \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 566601b921..eeb274cf88 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -155,7 +155,8 @@
"emacs-native-comp-driver-options.patch"
"emacs-native-comp-fix-filenames.patch"
"emacs-native-comp-pin-packages.patch"
- "emacs-pgtk-super-key-fix.patch"))
+ "emacs-pgtk-super-key-fix.patch"
+ "emacs-30-fix-compilation-errors.patch"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "lisp"
diff --git a/gnu/packages/patches/emacs-30-fix-compilation-errors.patch b/gnu/packages/patches/emacs-30-fix-compilation-errors.patch
new file mode 100644
index 0000000000..2a9a2813f5
--- /dev/null
+++ b/gnu/packages/patches/emacs-30-fix-compilation-errors.patch
@@ -0,0 +1,34 @@
+From 53a5dada413662389a17c551a00d215e51f5049f Mon Sep 17 00:00:00 2001
+From: Pip Cet <pipcet@protonmail.com>
+Date: Mon, 17 Feb 2025 15:21:16 +0000
+Subject: Fix compilation errors due to insufficient compiler safety
+ (bug#63288)
+
+The default safety level is 1. Restoring the default safety level to
+1 after it was temporarily 0 should reset byte-compile-delete-errors
+to nil, its default level. Failing to do that resulted in
+miscompilation of code in highly-parallel builds.
+
+* lisp/emacs-lisp/cl-macs.el (cl--do-proclaim): Change
+'byte-compile-delete-errors' to become t only at 'safety' level 0, not
+levels 1 or 2.
+---
+ lisp/emacs-lisp/cl-macs.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
+index eef69e6899e..e73edbadaf2 100644
+--- a/lisp/emacs-lisp/cl-macs.el
++++ b/lisp/emacs-lisp/cl-macs.el
+@@ -2701,7 +2701,7 @@ Example:
+ (let ((speed (assq (nth 1 (assq 'speed (cdr spec)))
+ '((0 nil) (1 t) (2 t) (3 t))))
+ (safety (assq (nth 1 (assq 'safety (cdr spec)))
+- '((0 t) (1 t) (2 t) (3 nil)))))
++ '((0 t) (1 nil) (2 nil) (3 nil)))))
+ (if speed (setq cl--optimize-speed (car speed)
+ byte-optimize (nth 1 speed)))
+ (if safety (setq cl--optimize-safety (car safety)
+--
+cgit v1.2.3
+