This is needed for individual site-init files to be loaded, since Emacs
from Git now complains about missing lexical-binding cookies.
Drop any initial blank lines when installing site-init files in elisp-site-file-install. Instead, insert blank lines when concatenating
the files in elisp-site-regen.
Signed-off-by: Ulrich Müller <
ulm@gentoo.org>
---
eclass/elisp-common.eclass | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 117544e94b35..b0cbd36bb621 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: elisp-common.eclass
@@ -627,11 +627,11 @@ elisp-modules-install() {
elisp-site-file-install() {
local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
local add_header="1 {
- # Find first non-empty line
- :x; /^\$/ { n; bx; }
+ # Delete any leading blank lines
+ :x; /\S/! { N; s/.*\n//; bx; }
# Insert a header, unless we already look at one
- /^;.*${PN}/I! s/^/;;; ${PN} site-lisp configuration\n\n/
- 1 s/^/\n/
+ /^;.*${PN}/I! \
+ s/^/;;; ${PN} site-lisp configuration -*-lexical-binding:t-*-\n\n/
}"
[[ ${sf} == [0