diff --git a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass index 117544e94b..654b302bb3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/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 @@ -626,12 +626,12 @@ 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; } - # Insert a header, unless we already look at one - /^;.*${PN}/I! s/^/;;; ${PN} site-lisp configuration\n\n/ - 1 s/^/\n/ + local add_header="0,/\S/ { + # Delete any leading blank lines + /\S/! d + # Insert a header, unless we are already looking at one + /^;.*${PN}/I! \ + i ;;; ${PN} site-lisp configuration -*-lexical-binding:t-*-\n }" [[ ${sf} == [0-9][0-9]*-gentoo*.el ]] \ @@ -711,11 +711,15 @@ elisp-site-regen() { ;; DO NOT EDIT THIS FILE ;;; Code: - EOF - # Use sed instead of cat here, since files may miss a trailing newline. - sed '$q' "${sflist[@]}" >"${T}"/site-gentoo.el || ret=$? - cat <<-EOF >>"${T}"/site-gentoo.el || ret=$? + EOF + # Concatenate all site initialisation files. + # 1{/^;/s/\s*-\*-.*-\*-//} deletes file-local-var cookies from line 1. + # /\S/,$!d deletes any leading blank lines. + # $G inserts a blank line after each file. + sed -s '1{/^;/s/\s*-\*-.*-\*-//};/\S/,$!d;$G' "${sflist[@]}" \ + >"${T}"/site-gentoo.el || ret=$? + cat <<-EOF >>"${T}"/site-gentoo.el || ret=$? ${page} (provide 'site-gentoo)