Loading pkgs/applications/editors/emacs/inhibit-lexical-cookie-warning-67916-30.patch 0 → 100644 +30 −0 Original line number Diff line number Diff line 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 pkgs/applications/editors/emacs/sources.nix +6 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,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 { Loading Loading
pkgs/applications/editors/emacs/inhibit-lexical-cookie-warning-67916-30.patch 0 → 100644 +30 −0 Original line number Diff line number Diff line 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
pkgs/applications/editors/emacs/sources.nix +6 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,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 { Loading