mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-22 00:20:58 +00:00
[Backport release-24.05] emacs30: add a patch to fix upstream bug 67916 (#367550)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
From: Lin Jian <me@linj.tech>
|
||||
Bug: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67916
|
||||
|
||||
Inhibit lexical cookie warning for *-pkg.el files (bug#67916)
|
||||
|
||||
Users may use byte-compile-error-on-warn to turn compilation warnings
|
||||
into errors to make sure their Emacs lisp packages are warning-free.
|
||||
Emacs bug 67916 makes that difficult because the Emacs-generated file
|
||||
*-pkg.el emits a compilation warning about missing lexical cookie.
|
||||
|
||||
There is an upstream patch to fix this. That patch makes Emacs also
|
||||
generate the needed lexical cookie when generating *-pkg.el files.
|
||||
However, that patch has stalled.
|
||||
|
||||
This patch takes an easier but less accurate approach by inhibiting
|
||||
lexical cookie warning for *-pkg.el files. Given that not all
|
||||
*-pkg.el files are generated by Emacs, to reduce impact, this patch
|
||||
also checks no-byte-compile.
|
||||
|
||||
--- a/lisp/emacs-lisp/bytecomp.el
|
||||
+++ b/lisp/emacs-lisp/bytecomp.el
|
||||
@@ -2266,6 +2266,8 @@ See also `emacs-lisp-byte-compile-and-load'."
|
||||
filename buffer-file-name))
|
||||
;; Don't inherit lexical-binding from caller (bug#12938).
|
||||
(unless (or (local-variable-p 'lexical-binding)
|
||||
+ (and (string-suffix-p "-pkg.el" filename)
|
||||
+ (with-current-buffer input-buffer no-byte-compile))
|
||||
bytecomp--inhibit-lexical-cookie-warning)
|
||||
(let ((byte-compile-current-buffer (current-buffer)))
|
||||
(displaying-byte-compile-warnings
|
||||
@@ -146,6 +146,12 @@ in
|
||||
variant = "mainline";
|
||||
rev = "30.0.93";
|
||||
hash = "sha256-lcpB4lKD3tjvCn646hUyAskxWNCQwEJ0RX/ZddRBRRU=";
|
||||
patches = fetchpatch: [
|
||||
(builtins.path {
|
||||
name = "inhibit-lexical-cookie-warning-67916.patch";
|
||||
path = ./inhibit-lexical-cookie-warning-67916-30.patch;
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
emacs28-macport = import ./make-emacs.nix (mkArgs {
|
||||
|
||||
Reference in New Issue
Block a user