From: Sean Whitton Date: Sun, 30 Jul 2023 19:11:51 +0000 (+0100) Subject: Merge upstream version 29.1 X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~28 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c1f1ffc5b7d4db78d3be08f7f97e05b4aaae81f9;p=emacs.git Merge upstream version 29.1 --- c1f1ffc5b7d4db78d3be08f7f97e05b4aaae81f9 diff --cc debian/.git-dpm index 158336f432a,00000000000..e09cc1fd353 mode 100644,000000..100644 --- a/debian/.git-dpm +++ b/debian/.git-dpm @@@ -1,8 -1,0 +1,8 @@@ +# see git-dpm(1) from git-dpm package - 023ac1eff558f6fb387fea1629b084c8929de18d - 023ac1eff558f6fb387fea1629b084c8929de18d - 279b82e64e15b5e2df3cb522636c6db85a8ee659 ++3d9b8aa890c41da85ce4e8fb863ba719406aa0f8 ++3d9b8aa890c41da85ce4e8fb863ba719406aa0f8 ++52397a199934d2d72155696b172908226086f530 +52397a199934d2d72155696b172908226086f530 +emacs_29.1+1.orig.tar.xz +7b71a5f966ce6789e14bf3d96a62ccbe77a8d51c +29225688 diff --cc debian/patches/0001-Prefer-usr-share-info-emacs.patch index 920b0e095f1,00000000000..b9c0d4f7789 mode 100644,000000..100644 --- a/debian/patches/0001-Prefer-usr-share-info-emacs.patch +++ b/debian/patches/0001-Prefer-usr-share-info-emacs.patch @@@ -1,27 -1,0 +1,27 @@@ - From ba5c7abc36cf97f3a739b64c6d8d8147b4d98c08 Mon Sep 17 00:00:00 2001 ++From c0df7a07ac80a916207f4cbd7aa6ac15d0fcca35 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Sun, 7 Apr 2013 15:03:05 -0500 +Subject: Prefer /usr/share/info/emacs/ + +Emacs prefers /usr/share/info/emacs to /usr/share/info. + +The value of Info-default-directory-list has been augmented via +lisp/info.el to include /usr/share/info/emacs before /usr/share/info. +--- + lisp/info.el | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/lisp/info.el b/lisp/info.el - index 5655e3f3ce9..fb2b7c78fc9 100644 ++index 035dff66e75..59093811232 100644 +--- a/lisp/info.el ++++ b/lisp/info.el - @@ -203,7 +203,8 @@ Info-default-directory-list ++@@ -661,7 +661,8 @@ Info--default-directory-list + (nconc standard-info-dirs (list config-dir)) + (cons config-dir standard-info-dirs)))) + (if (not (eq system-type 'windows-nt)) +- dirs - + ;; Debian: add flavor info directory in front +++ ;; Debian: add flavor info directory in front ++ (cons "/usr/share/info/emacs" dirs) + ;; Include the info directory near where Emacs executable was installed. + (let* ((instdir (file-name-directory invocation-directory)) + (dir1 (expand-file-name "../info/" instdir)) diff --cc debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch index 60f2f2ddb93,00000000000..d34853d4e8e mode 100644,000000..100644 --- a/debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch +++ b/debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch @@@ -1,48 -1,0 +1,48 @@@ - From e49b41935277d4f2db2f602f9b63779a7cfe64e1 Mon Sep 17 00:00:00 2001 ++From db11169aaaca4aa86c8e98685bd23eb26ffb9b89 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:22 -0500 +Subject: Run debian-startup and set debian-emacs-flavor + +Emacs runs debian-startup and sets debian-emacs-flavor. + +* Emacs runs debian-startup during the startup process unless + site-run-file is false. + +* The global variable debian-emacs-flavor is bound to 'emacs. + +Author: Rob Browning +--- + lisp/startup.el | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/lisp/startup.el b/lisp/startup.el - index 9ebd4c1a707..052ba7b2c66 100644 ++index b0f019d704e..d6e1c23fa28 100644 +--- a/lisp/startup.el ++++ b/lisp/startup.el +@@ -438,6 +438,10 @@ tutorial-directory + :type 'directory + :initialize #'custom-initialize-delay) + ++(defconst debian-emacs-flavor 'emacs ++ "A symbol representing the particular debian flavor of emacs running. ++Something like 'emacs, 'xemacs21, etc.") ++ + (defun normal-top-level-add-subdirs-to-load-path () + "Recursively add all subdirectories of `default-directory' to `load-path'. + More precisely, this uses only the subdirectories whose names - @@ -1375,7 +1379,14 @@ command-line ++@@ -1472,7 +1476,14 @@ command-line + ;; Sites should not disable the startup screen. + ;; Only individuals should disable the startup screen. + (let ((inhibit-startup-screen inhibit-startup-screen)) +- (load site-run-file t t))) ++ (progn ++ ;; This form has been added by Debian to load all the ++ ;; debian package snippets (dh-elpa, etc.). It's in here ++ ;; because we want -q to kill it too. ++ (if (load "debian-startup" t t nil) ++ (debian-startup debian-emacs-flavor)) ++ ;; This is the normal upstream behavior ++ (load site-run-file t t)))) + + ;; Load that user's init file, or the default one, or none. + (startup--load-user-init-file diff --cc debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch index e863c585c4b,00000000000..b7d6d9c7be4 mode 100644,000000..100644 --- a/debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch +++ b/debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch @@@ -1,270 -1,0 +1,256 @@@ - From f3ae93dfcfb24094ad27bef8291fc3f6b34a0eba Mon Sep 17 00:00:00 2001 ++From 8fff656e51bc7d8ad1842fe0ba2055a0fe16bd86 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:24 -0500 +Subject: Remove files that appear to be incompatible with the DFSG + +Files that appear to be incompatible with the DFSG have been removed. + +A number of files have been removed from this package because their +licenses are not compatible with the Debian Free Software Guidelines +(DFSG), or because it wasn't completely clear that their licenses are +compatible. + +In particular, all of the files which are covered under the GFDL and +have invariant sections have been removed in accordance with this +General Resolution: http://www.debian.org/vote/2006/vote_001. + +The files that have been removed, but still appear to be +distributable, have been moved to packages in Debian's non-free +section. + +Author: Rob Browning +Added-by: Rob Browning +Status: new +--- + Makefile.in | 44 +++++++++++++++++--------------------------- - admin/update_autogen | 3 +-- + configure.ac | 15 ++++++--------- - doc/misc/Makefile.in | 43 +++++-------------------------------------- ++ doc/misc/Makefile.in | 44 +++++--------------------------------------- + lisp/help.el | 8 ++++++++ - 5 files changed, 37 insertions(+), 76 deletions(-) ++ 4 files changed, 36 insertions(+), 75 deletions(-) + +diff --git a/Makefile.in b/Makefile.in - index c902b46ceda..fadcf1015fe 100644 ++index f5fda0eb61a..8bad8563582 100644 +--- a/Makefile.in ++++ b/Makefile.in - @@ -161,7 +161,9 @@ man1dir= ++@@ -174,7 +174,9 @@ man1dir= + # Where to install and expect the info files describing Emacs. + infodir=@infodir@ + # Info files not in the doc/misc directory (we get those via make echo-info). +-INFO_NONMISC=emacs.info eintr.info elisp.info ++# Debian: moved DFSG incompatible files to emacs*-common-non-dfsg ++# package (see /usr/share/doc/emacs*-common/copyright). ++INFO_NONMISC= + + # Directory for local state files for all programs. + localstatedir=@localstatedir@ - @@ -885,8 +887,7 @@ $(1)_$(2): ++@@ -984,8 +986,7 @@ $(1)_$(2): + ### normally don't want to recompile. For example, the 'mostlyclean' + ### target for GCC does not delete 'libgcc.a', because recompiling it + ### is rarely necessary and takes a lot of time. +-mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/emacs doc/misc \ +- doc/lispref doc/lispintro test ++mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/misc test + + $(foreach dir,$(mostlyclean_dirs),$(eval $(call submake_template,$(dir),mostlyclean))) + - @@ -1000,11 +1001,11 @@ test/%: ++@@ -1106,11 +1107,11 @@ test/%: + dist: + cd ${srcdir}; ./make-dist + +-DVIS = lispref-dvi lispintro-dvi emacs-dvi misc-dvi +-HTMLS = lispref-html lispintro-html emacs-html misc-html +-INFOS = lispref-info lispintro-info emacs-info misc-info +-PDFS = lispref-pdf lispintro-pdf emacs-pdf misc-pdf +-PSS = lispref-ps lispintro-ps emacs-ps misc-ps ++DVIS = misc-dvi ++HTMLS = misc-html ++INFOS = misc-info ++PDFS = misc-pdf ++PSS = misc-ps + + DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS) + $(DOCS): - @@ -1035,9 +1036,6 @@ info-dir: ++@@ -1141,9 +1142,6 @@ info-dir: + texi_misc = $(shell MAKEFLAGS= ${MAKE} --no-print-directory -s -C doc/misc echo-sources) + + srcdir_doc_info_dir_inputs = \ +- ${srcdir}/doc/emacs/emacs.texi \ +- ${srcdir}/doc/lispintro/emacs-lisp-intro.texi \ +- ${srcdir}/doc/lispref/elisp.texi \ + $(addprefix ${srcdir}/doc/misc/,${texi_misc}) + info_dir_inputs = \ + ../build-aux/dir_top \ - @@ -1059,14 +1057,10 @@ ${srcdir}/info/dir: ++@@ -1165,14 +1163,10 @@ ${srcdir}/info/dir: + AWK='${AWK}' ../build-aux/make-info-dir ${info_dir_inputs} \ + ) >$@.tmp && mv $@.tmp $@ + +-INSTALL_DVI = install-emacs-dvi install-lispref-dvi \ +- install-lispintro-dvi install-misc-dvi +-INSTALL_HTML = install-emacs-html install-lispref-html \ +- install-lispintro-html install-misc-html +-INSTALL_PDF = install-emacs-pdf install-lispref-pdf \ +- install-lispintro-pdf install-misc-pdf +-INSTALL_PS = install-emacs-ps install-lispref-ps \ +- install-lispintro-ps install-misc-ps ++INSTALL_DVI = install-misc-dvi ++INSTALL_HTML = install-misc-html ++INSTALL_PDF = install-misc-pdf ++INSTALL_PS = install-misc-ps + INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS) + + ## Install non .info forms of the documentation. - @@ -1084,14 +1078,10 @@ install-pdf: ++@@ -1190,14 +1184,10 @@ install-pdf: + install-ps: $(INSTALL_PS) + + +-UNINSTALL_DVI = uninstall-emacs-dvi uninstall-lispref-dvi \ +- uninstall-lispintro-dvi uninstall-misc-dvi +-UNINSTALL_HTML = uninstall-emacs-html uninstall-lispref-html \ +- uninstall-lispintro-html uninstall-misc-html +-UNINSTALL_PDF = uninstall-emacs-pdf uninstall-lispref-pdf \ +- uninstall-lispintro-pdf uninstall-misc-pdf +-UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \ +- uninstall-lispintro-ps uninstall-misc-ps ++UNINSTALL_DVI = uninstall-misc-dvi ++UNINSTALL_HTML = uninstall-misc-html ++UNINSTALL_PDF = uninstall-misc-pdf ++UNINSTALL_PS = uninstall-misc-ps + UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS) + + $(UNINSTALL_DOC): - diff --git a/admin/update_autogen b/admin/update_autogen - index 5923bee22bb..44e681748af 100755 - --- a/admin/update_autogen - +++ b/admin/update_autogen - @@ -260,8 +260,7 @@ info_dir () - $topic - EOF - ## Bit faster than doc/*/*.texi. - - for file in doc/emacs/emacs.texi doc/lispintro/*.texi \ - - doc/lispref/elisp.texi doc/misc/*.texi; do - + for file in doc/misc/*.texi; do - - ## FIXME do not ignore w32 if OS is w32. - case $file in +diff --git a/configure.ac b/configure.ac - index 2e3f8d33d6a..3a6a4e89783 100644 ++index ad1068a70ad..17e77b36cc9 100644 +--- a/configure.ac ++++ b/configure.ac - @@ -6051,7 +6051,7 @@ AC_DEFUN ++@@ -6798,7 +6798,7 @@ AC_DEFUN + AC_CONFIG_FILES([$srcdir/doc/man/emacs.1]) + + m4_define([subdir_makefiles], +- [lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile]) ++ [lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/misc/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile]) + SUBDIR_MAKEFILES="subdir_makefiles" + AC_CONFIG_FILES(subdir_makefiles) + - @@ -6106,14 +6106,11 @@ m4_define ++@@ -6864,14 +6864,11 @@ m4_define + fi + ]) + +-dnl Perhaps this would be better named doc-emacs-emacsver.texi? +-dnl See comments for etc-refcards-emacsver.tex. +-dnl Since we get a doc/emacs directory generated anyway, for the Makefile, +-dnl it is not quite the same. But we are generating in $srcdir. +-AC_CONFIG_COMMANDS([doc/emacs/emacsver.texi], [ +-${MAKE-make} -s --no-print-directory -C doc/emacs doc-emacsver || \ +-AC_MSG_ERROR(['doc/emacs/emacsver.texi' could not be made.]) +-]) ++# This file is normally generated indirectly via ++# doc/emacs/Makefile.in, but since we've removed the other doc/emacs ++# files for the DFSG split, and we don't have any prebuilt info files, ++# generate it directly here. ++AC_CONFIG_FILES([doc/emacs/emacsver.texi]) + + dnl If we give this the more natural name, etc/refcards/emacsver.texi, + dnl then a directory etc/refcards is created in the build directory, +diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in - index 1e3398701fc..7c0f5694b23 100644 ++index 1831bbbb73f..45d84062829 100644 +--- a/doc/misc/Makefile.in ++++ b/doc/misc/Makefile.in +@@ -63,18 +63,14 @@ INSTALL_DATA = + MAKEINFO = @MAKEINFO@ + MAKEINFO_OPTS = --force -I$(emacsdir) + ++# Debian: moved DFSG incompatible files to emacs*-common-non-dfsg ++# package (see /usr/share/doc/emacs*-common/copyright). ++ + ## On MS Windows, efaq-w32; otherwise blank. + DOCMISC_W32 = @DOCMISC_W32@ + + ## Info files to build and install on all platforms. - -INFO_COMMON = auth autotype bovine calc ccmode cl \ - - dbus dired-x ebrowse ede ediff edt eieio \ - - emacs-mime epa erc ert eshell eudc efaq eww \ - - flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ - - mairix-el message mh-e modus-themes newsticker nxml-mode octave-mode \ - - org pcl-cvs pgg rcirc remember reftex sasl \ - - sc semantic ses sieve smtpmail speedbar srecode todo-mode transient \ - - tramp url vhdl-mode vip viper widget wisent woman ++-INFO_COMMON = auth autotype bovine calc ccmode cl dbus dired-x \ ++- ebrowse ede ediff edt efaq eglot eieio emacs-gnutls \ ++- emacs-mime epa erc ert eshell eudc eww flymake forms gnus \ ++- htmlfontify idlwave ido info.info mairix-el message mh-e \ ++- modus-themes newsticker nxml-mode octave-mode org pcl-cvs pgg \ ++- rcirc reftex remember sasl sc semantic ses sieve smtpmail \ ++- speedbar srecode todo-mode tramp transient url use-package \ ++- vhdl-mode vip viper vtable widget wisent woman ++INFO_COMMON = efaq transient + + ## Info files to install on current platform. + INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_W32) +@@ -161,9 +157,6 @@ define info_template + $(1): $$(buildinfodir)/$(1).info + endef + +-## "info" is already taken. +-info.info: $(buildinfodir)/info.info +- + $(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call info_template,$(ifile)))) + + - @@ -185,20 +178,11 @@ info.info: - ++@@ -186,21 +179,11 @@ info.info: + ## Extra dependencies. + - -need_emacsver = calc cl dired-x efaq efaq-w32 erc ido reftex woman ++ ## FIXME Updating this list manually is unreliable. ++-need_emacsver = calc cl dired-x efaq efaq-w32 erc forms ido \ ++- newsticker reftex remember use-package woman ++need_emacsver = efaq efaq-w32 + need_emacsver_prefix = $(addprefix ${buildinfodir}/,${need_emacsver}) + + $(need_emacsver_prefix:=.info) $(need_emacsver:=.dvi) $(need_emacsver:=.pdf) $(need_emacsver:=.html) : ${emacsdir}/emacsver.texi + +-$(buildinfodir)/gnus.info gnus.html: ${srcdir}/gnus-faq.texi +- +-$(buildinfodir)/semantic.info semantic.dvi semantic.pdf semantic.html: ${srcdir}/sem-user.texi +- +- +-## Please can we just rename cc-mode.texi to ccmode.texi... +-${buildinfodir}/ccmode.info: \ +- ${srcdir}/cc-mode.texi ${gfdl} ${style} | ${buildinfodir} +- $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< + + ## efaq, efaq_w32 do not depend on gfdl. + ## Maybe we can use .SECONDEXPANSION for this. - @@ -214,23 +198,6 @@ efaq%.pdf: ++@@ -216,23 +199,6 @@ efaq%.pdf: + efaq%.html: ${srcdir}/efaq%.texi + $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $< + +-${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding +- +-gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} ${style} +-gnus.dvi: $(gnus_deps) +- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmpdvi.texi +- $(ENVADD) $(TEXI2DVI) gnustmpdvi.texi +- cp gnustmpdvi.dvi $@ +- rm gnustmpdvi.* +- +-gnus.pdf: $(gnus_deps) +- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmppdf.texi +- $(ENVADD) $(TEXI2PDF) gnustmppdf.texi +- cp gnustmppdf.pdf $@ +- rm gnustmppdf.* +- +-${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi +- + + abs_top_builddir = @abs_top_builddir@ - EMACS = ${abs_top_builddir}/src/emacs ++ +diff --git a/lisp/help.el b/lisp/help.el - index 0701bf178aa..0eb833ff644 100644 ++index 6eac037df2c..8f341e992e3 100644 +--- a/lisp/help.el ++++ b/lisp/help.el - @@ -357,6 +357,14 @@ view-help-file ++@@ -496,6 +496,14 @@ view-help-file + (goto-address-mode 1) + (goto-char (point-min))) + ++(defun debian-expand-file-name-dfsg (filename) ++ "Apply expand-file-name to FILENAME. ++If expand-file-name does not find a file, append `.dfsg' and try again." ++ (let ((file (expand-file-name filename data-directory))) ++ (if (file-exists-p file) ++ file ++ (expand-file-name (concat file ".dfsg") data-directory)))) ++ + (defun describe-distribution () + "Display info on how to obtain the latest version of GNU Emacs." + (interactive) diff --cc debian/patches/0004-Adjust-documentation-references-for-Debian.patch index 0dfe4df8869,00000000000..8b6372f9856 mode 100644,000000..100644 --- a/debian/patches/0004-Adjust-documentation-references-for-Debian.patch +++ b/debian/patches/0004-Adjust-documentation-references-for-Debian.patch @@@ -1,29 -1,0 +1,29 @@@ - From 76217bd1d1315de1821055bb4a4dd8c619a0d8b4 Mon Sep 17 00:00:00 2001 ++From 48687a2f3c9a6c2babcd0f9b52adfc1f83a79a5c Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:25 -0500 +Subject: Adjust documentation references for Debian + +Various documentation references have been adjusted for Debian. + +References to /usr/local/... have been changed to /usr/... as +appropriate, etc. +--- + etc/NEWS | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/etc/NEWS b/etc/NEWS - index 5be6a30c245..58340514ba0 100644 ++index 75bf8f5dd28..e22ff2aeb7d 100644 +--- a/etc/NEWS ++++ b/etc/NEWS +@@ -15,6 +15,11 @@ in older Emacs versions. + You can narrow news to a specific version by calling 'view-emacs-news' + with a prefix argument or by typing 'C-u C-h C-n'. + ++ ++* Debian specific changes to Emacs ++ ++Please see /usr/share/doc/emacs-common/README.Debian.gz. ++ + - * Installation Changes in Emacs 28.2 ++ * Installation Changes in Emacs 29.1 + diff --cc debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch index 5ac3298d686,00000000000..21537ea4629 mode 100644,000000..100644 --- a/debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch +++ b/debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch @@@ -1,26 -1,0 +1,26 @@@ - From 51dc58646b86e9c5d9f02cc9dcf04ae78498fe29 Mon Sep 17 00:00:00 2001 ++From 49ffe438944fe2a07d0ad1e71fd1b83913a3d44e Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:28 -0500 +Subject: Modify the output of (version) to indicate Debian modifications + +The output of (version) has been modified to indicate Debian modifications. + +Author: Rob Browning +Added-by: Rob Browning +--- + lisp/version.el | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lisp/version.el b/lisp/version.el - index fa755c78676..7068aa914d8 100644 ++index 9cadc59237f..c7caaad4bf6 100644 +--- a/lisp/version.el ++++ b/lisp/version.el - @@ -65,7 +65,7 @@ emacs-version ++@@ -67,7 +67,7 @@ emacs-version + to the system configuration; look at `system-configuration' instead." + (interactive "P") + (let ((version-string +- (format "GNU Emacs %s (build %s, %s%s%s%s)%s" ++ (format "GNU Emacs %s (build %s, %s%s%s%s)%s, modified by Debian" + emacs-version + emacs-build-number + system-configuration diff --cc debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch index 61557b7e47b,00000000000..aa442123366 mode 100644,000000..100644 --- a/debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch +++ b/debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch @@@ -1,24 -1,0 +1,24 @@@ - From e21814a4d5ce13e8ad489c9712699a4bf0959269 Mon Sep 17 00:00:00 2001 ++From 3e290ebbf7f48d31159141dc3ff17f2ca9bff53c Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Tue, 21 Oct 2014 19:10:17 -0500 +Subject: Don't try to build src/macuvs.h (via IVD_Sequences.txt) + +These are OS X specific, and were removed for now, due to uncertainty +over the licensing. +--- + admin/unidata/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in - index 2b0215dde4f..a464dc3933d 100644 ++index cccd85213f1..46b2a5b41b1 100644 +--- a/admin/unidata/Makefile.in ++++ b/admin/unidata/Makefile.in - @@ -40,7 +40,7 @@ unifiles = ++@@ -43,7 +43,7 @@ unifiles = + + .PHONY: all + +-all: ${top_srcdir}/src/macuvs.h ${unifiles} ${unidir}/charscript.el \ ++all: ${unifiles} ${unidir}/charscript.el \ - ${unidir}/charprop.el ${unidir}/emoji-zwj.el - - ## Specify .elc as an order-only prereq so as to not needlessly rebuild ++ ${unidir}/charprop.el ${unidir}/emoji-zwj.el ${unidir}/emoji-labels.el \ ++ ${unidir}/uni-scripts.el ${unidir}/uni-confusable.el \ ++ ${unidir}/idna-mapping.el diff --cc debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch index cc81f1182b0,00000000000..5a1f8566370 mode 100644,000000..100644 --- a/debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch +++ b/debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch @@@ -1,41 -1,0 +1,40 @@@ - From d64c38e7ebbae9d423ba2cd992b5eeb11a31deef Mon Sep 17 00:00:00 2001 ++From dd14c8a6a1844d7d55ec204190387aa8856de5ff Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 10 Oct 2016 17:35:56 -0500 +Subject: Kill gpg agent in package-test.el to avoid a race + +package-test.el should no longer fail during clean up. + +* Previously a delete-directories call raced with the gpg agent's own + cleanup process (presumably triggered by the first deletion of one of + the agent's sockets). As a result, it looks like the agent might + delete one of its sockets after delete-directories had decided to + delete the socket, but before it made the attempt, causing an + exception. + +* To fix the problem, explicitly ask gpg-connect-agent to kill the agent + before attempting to delete the gnupg home directory, and then delete + via "rm -rf" to ignore any vanishing files. +--- - test/lisp/emacs-lisp/package-tests.el | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) ++ test/lisp/emacs-lisp/package-tests.el | 8 ++++++++ ++ 1 file changed, 8 insertions(+) + +diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el - index 69c14050b96..2cf57147200 100644 ++index 0016fb586b7..a6052a5db23 100644 +--- a/test/lisp/emacs-lisp/package-tests.el ++++ b/test/lisp/emacs-lisp/package-tests.el - @@ -161,7 +161,14 @@ with-package-test - (expand-file-name f package-test-archive-upload-base)))) - (delete-directory package-test-archive-upload-base)) - (when (file-directory-p package-test-user-dir) - - (delete-directory package-test-user-dir t)) ++@@ -160,6 +160,14 @@ with-package-test ++ (delete-file ++ (expand-file-name f package-test-archive-upload-base)))) ++ (delete-directory package-test-archive-upload-base)) ++ (call-process "gpg-connect-agent" nil nil nil ++ "--homedir" (concat package-test-user-dir "/gnupg") ++ "--no-autostart" ++ "killagent" "/bye") ++ ;; Call "rm -rf" instead of delete-directory so that it won't ++ ;; choke if the gpg-agent sockets disappear during the ++ ;; recursive traversal. - + (call-process "rm" nil nil nil "-r" package-test-user-dir)) +++ (call-process "rm" nil nil nil "-r" package-test-user-dir) + - (when (and (boundp 'package-test-archive-upload-base) - (file-directory-p package-test-archive-upload-base)) ++ (when (and (boundp 'package-test-archive-upload-base) ++ (file-directory-p package-test-archive-upload-base)) diff --cc debian/patches/0008-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch index b5838ca1508,00000000000..0ba227afb50 mode 100644,000000..100644 --- a/debian/patches/0008-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch +++ b/debian/patches/0008-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch @@@ -1,74 -1,0 +1,74 @@@ - From 27f97daaa7f6a8307a372c5eca8120c64d3354f0 Mon Sep 17 00:00:00 2001 ++From dd338474432ae1abaf48d672c7d96ffb3c051a5f Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Sun, 16 Dec 2018 17:13:36 -0600 +Subject: Mark vc-bzr-test-fauilt-bzr-autoloads as unstable for now + +Currently the test fails like this: + + Running 3 tests (2018-12-17 12:17:43-0600) + passed 1/3 vc-bzr-test-bug9726 + Mark set + Press C-c C-c when you are done editing. + Enter a change comment. Type C-c C-c when done + passed 2/3 vc-bzr-test-bug9781 + Falling back on "slow" status detection ((file-missing "Opening input file" "No such file or directory" "/tmp/vc-bzr-testVlgmsb/bzr/.bzr/checkout/dirstate")) + Error: (error "Running bzr status --no-classify loaddefs.el...FAILED (status 3)") + Warnings in `bzr' output: bzr: ERROR: invalid header line: '' + + Error: (error "Running bzr status --no-classify loaddefs.el...FAILED (status 3)") + Warnings in `bzr' output: bzr: ERROR: invalid header line: '' + + Test vc-bzr-test-faulty-bzr-autoloads backtrace: + logand(nil 128) + vc-mode-line("/tmp/vc-bzr-testVlgmsb/bzr/loaddefs.el" Bzr) + vc-refresh-state() + run-hooks(find-file-hook) + after-find-file(t t) + find-file-noselect-1(# "/tmp/vc-bzr-testVlgmsb/b + find-file-noselect("/tmp/vc-bzr-testVlgmsb/bzr/loaddefs.el") + autoload-find-generated-file() + update-directory-autoloads("/tmp/vc-bzr-testVlgmsb/bzr/") + (progn (update-directory-autoloads default-directory) t) + (setq value-35 (progn (update-directory-autoloads default-directory) + (unwind-protect (setq value-35 (progn (update-directory-autoloads de + (if (unwind-protect (setq value-35 (progn (update-directory-autoload + (let (form-description-36) (if (unwind-protect (setq value-35 (progn + (let ((value-35 (gensym "ert-form-evaluation-aborted-"))) (let (form + (progn (call-process vc-bzr-program nil nil nil "init") (let ((temp- + (unwind-protect (progn (call-process vc-bzr-program nil nil nil "ini + (let* ((homedir (make-temp-file "vc-bzr-test" t)) (bzrdir (expand-fi + (lambda nil (let* ((fn-30 (function executable-find)) (args-31 (cond + ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test + ert-run-test(#s(ert-test :name vc-bzr-test-faulty-bzr-autoloads :doc + ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi + ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co + ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable))) + ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un + eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) ( + command-line-1(("-L" ":/home/locke/tmp/main-26.1/debian/build-src/te + command-line() + normal-top-level() + Test vc-bzr-test-faulty-bzr-autoloads condition: + (wrong-type-argument number-or-marker-p nil) + FAILED 3/3 vc-bzr-test-faulty-bzr-autoloads + + Ran 3 tests, 2 results as expected, 1 unexpected (2018-12-17 12:17:46-0600) + + 1 unexpected results: + FAILED vc-bzr-test-faulty-bzr-autoloads +--- + test/lisp/vc/vc-bzr-tests.el | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/lisp/vc/vc-bzr-tests.el b/test/lisp/vc/vc-bzr-tests.el - index 86d497631cb..b1171edbced 100644 ++index d8ed1013c38..0c929254530 100644 +--- a/test/lisp/vc/vc-bzr-tests.el ++++ b/test/lisp/vc/vc-bzr-tests.el - @@ -124,6 +124,7 @@ vc-bzr-test-bug9781 ++@@ -119,6 +119,7 @@ vc-bzr-test-bug9781 + ;; https://lists.gnu.org/r/help-gnu-emacs/2012-04/msg00145.html + (ert-deftest vc-bzr-test-faulty-bzr-autoloads () + "Test we can generate autoloads in a bzr directory when bzr is faulty." ++ :tags '(:unstable) + (skip-unless (executable-find vc-bzr-program)) - (let* ((homedir (make-temp-file "vc-bzr-test" t)) - (bzrdir (expand-file-name "bzr" homedir)) ++ (ert-with-temp-directory homedir ++ (let* ((bzrdir (expand-file-name "bzr" homedir)) diff --cc debian/patches/0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch index 00fa6ff4797,00000000000..cc0575d246d mode 100644,000000..100644 --- a/debian/patches/0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch +++ b/debian/patches/0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch @@@ -1,47 -1,0 +1,47 @@@ - From 418df9d27f2003d08641742f91870cfd0e2cb4f5 Mon Sep 17 00:00:00 2001 ++From 346f9ebb8d8dad1c3a084d73896e10b01fcf311c Mon Sep 17 00:00:00 2001 +From: John Paul Adrian Glaubitz +Date: Sat, 24 Sep 2022 13:37:18 -0500 +Subject: pdumper: set DUMP_RELOC_ALIGNMENT_BITS=1 for m68k + +Before the change builds would fail like this: + + (...) + Loading /<>/emacs-27.1+1/debian/build-src/lisp/vc/vc-hooks.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/vc/ediff-hook.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/uniquify.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/electric.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/emacs-lisp/eldoc.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/cus-start.el (source)... + Loading /<>/emacs-27.1+1/debian/build-src/lisp/tooltip.el (source)... + Finding pointers to doc strings... + Finding pointers to doc strings...done + Dumping under the name bootstrap-emacs.pdmp + dumping fingerprint: 7b5c59c589dc151eb1e4269bd83fbe809616b5cb9bb5c80014d5b560b391dfb6 + dump relocation out of range + +[rlb@defaultvalue.org: create commit message] + +Origin: debian +Bug: https://bugs.gnu.org/44531 +Bug-Debian: http://bugs.debian.org/1019130 +Forwarded: not-needed +--- + src/pdumper.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/pdumper.c b/src/pdumper.c - index b0167299d79..4cc268e485a 100644 ++index 6e102bcd808..2ee69b82501 100644 +--- a/src/pdumper.c ++++ b/src/pdumper.c - @@ -265,7 +265,11 @@ emacs_reloc_set_type (struct emacs_reloc *reloc, ++@@ -264,7 +264,11 @@ emacs_reloc_set_type (struct emacs_reloc *reloc, + enum + { + DUMP_RELOC_TYPE_BITS = 5, ++#ifdef __mc68000__ ++ DUMP_RELOC_ALIGNMENT_BITS = 1, ++#else + DUMP_RELOC_ALIGNMENT_BITS = 2, ++#endif + + /* Minimum alignment required by dump file format. */ + DUMP_RELOCATION_ALIGNMENT = 1 << DUMP_RELOC_ALIGNMENT_BITS, diff --cc debian/patches/0010-Mark-test-undo-region-as-unstable.patch index 00000000000,00000000000..94cb3607554 new file mode 100644 --- /dev/null +++ b/debian/patches/0010-Mark-test-undo-region-as-unstable.patch @@@ -1,0 -1,0 +1,48 @@@ ++From 318959615583cee798fc1cd67d1c1568fdefb59c Mon Sep 17 00:00:00 2001 ++From: Sean Whitton ++Date: Tue, 15 Nov 2022 15:54:41 -0700 ++Subject: Mark test-undo-region as unstable ++ ++It is repeatedly failing on Debian's arch:all autobuilders, though ++seemingly nowhere else: ++ ++ passed 40/44 simple-transpose-subr (0.000396 sec) ++ Test test-undo-region backtrace: ++ signal(ert-test-failed (((should (= (length (delq nil (undo-make-sel ++ ert-fail(((should (= (length (delq nil (undo-make-selective-list 1 9 ++ #f(compiled-function () #)() ++ ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ++ ert-run-test(#s(ert-test :name test-undo-region :documentation nil : ++ ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ++ ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co ++ ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable))) ++ ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un ++ command-line-1(("-L" ":/<>/debian/build ++ command-line() ++ normal-top-level() ++ Test test-undo-region condition: ++ (ert-test-failed ++ ((should ++ (= ++ (length ...) ++ 2)) ++ :form ++ (= 3 2) ++ :value nil)) ++ FAILED 41/44 test-undo-region (0.000185 sec) ++--- ++ test/lisp/simple-tests.el | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/test/lisp/simple-tests.el b/test/lisp/simple-tests.el ++index 28d8120f143..1f101cd6246 100644 ++--- a/test/lisp/simple-tests.el +++++ b/test/lisp/simple-tests.el ++@@ -980,6 +980,7 @@ simple-tests-shell-command-dont-erase-buffer ++ (should (= (point) (alist-get shell-command-dont-erase-buffer expected-point))))))) ++ ++ (ert-deftest test-undo-region () +++ :tags '(:unstable) ++ (with-temp-buffer ++ (insert "This is a test\n") ++ (goto-char (point-min)) diff --cc debian/patches/0011-Mark-flaky-test-process-tests-multiple-threads-waiti.patch index 00000000000,00000000000..c61627465b3 new file mode 100644 --- /dev/null +++ b/debian/patches/0011-Mark-flaky-test-process-tests-multiple-threads-waiti.patch @@@ -1,0 -1,0 +1,46 @@@ ++From 60a7044176a03ce23dfa57367b0919ab45c47b7d Mon Sep 17 00:00:00 2001 ++From: Sean Whitton ++Date: Tue, 15 Nov 2022 16:26:59 -0700 ++Subject: Mark flaky test process-tests/multiple-threads-waiting as unstable ++ ++It times out: ++ ++ passed 22/28 process-tests/fd-setsize-no-crash/make-serial-process (0.021449 sec) ++ make[5]: *** [Makefile:182: src/process-tests.log] Error 134 ++ GEN src/regex-emacs-tests.log ++ GEN src/search-tests.log ++ GEN src/syntax-tests.log ++ GEN src/textprop-tests.log ++ GEN src/thread-tests.log ++ GEN src/timefns-tests.log ++ GEN src/undo-tests.log ++ GEN src/xdisp-tests.log ++ GEN src/xfaces-tests.log ++ GEN src/xml-tests.log ++ make[5]: Leaving directory '/<>/debian/build-gtk/test' ++ make[4]: [Makefile:335: check-doit] Error 2 (ignored) ++ ++ SUMMARY OF TEST RESULTS ++ ----------------------- ++ Files examined: 375 ++ Ran 5408 tests, 28 failed to run, 5273 results as expected, 0 unexpected, 135 skipped ++ 1 files did not finish: ++ src/process-tests.log ++ make[4]: *** [Makefile:336: check-doit] Error 2 ++--- ++ test/src/process-tests.el | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/test/src/process-tests.el b/test/src/process-tests.el ++index c3b4e17dbc0..2afc1ece248 100644 ++--- a/test/src/process-tests.el +++++ b/test/src/process-tests.el ++@@ -895,7 +895,7 @@ process-tests/sentinel-with-multiple-processes ++ (list (list process "finished\n")))))))))) ++ ++ (ert-deftest process-tests/multiple-threads-waiting () ++- :tags (if (getenv "EMACS_EMBA_CI") '(:unstable)) +++ :tags '(:unstable) ++ (skip-unless (fboundp 'make-thread)) ++ (with-timeout (60 (ert-fail "Test timed out")) ++ (process-tests--with-processes processes diff --cc debian/patches/0012-Add-inhibit-native-compilation.patch index 00000000000,00000000000..ee892860236 new file mode 100644 --- /dev/null +++ b/debian/patches/0012-Add-inhibit-native-compilation.patch @@@ -1,0 -1,0 +1,160 @@@ ++From fc921c4b1cc74d40c09c2a6653c57a34bdc5da84 Mon Sep 17 00:00:00 2001 ++From: Lars Ingebrigtsen ++Date: Mon, 3 Oct 2022 15:26:04 +0200 ++Subject: Add 'inhibit-native-compilation' ++ ++The following upstream patch has been backported: ++ ++ Add new variable 'inhibit-native-compilation' ++ ++ * lisp/startup.el (normal-top-level): Set ++ inhibit-native-compilation from environment variable. ++ ++ * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Don't write ++ trampolines to disk. ++ ++ * lisp/progmodes/elisp-mode.el ++ (emacs-lisp-native-compile-and-load): Adjust. ++ ++ * src/comp.c (syms_of_comp): New variable ++ inhibit-native-compilation. ++ (maybe_defer_native_compilation): Use it. ++ ++Origin: upstream, commit: 5fec9182dbeffa88cef6651d8c798ef9665d6681 ++Forwarded: not-needed ++--- ++ lisp/emacs-lisp/comp.el | 47 +++++++++++++++++++----------------- ++ lisp/progmodes/elisp-mode.el | 2 +- ++ lisp/startup.el | 7 ++++-- ++ src/comp.c | 8 ++++++ ++ 4 files changed, 39 insertions(+), 25 deletions(-) ++ ++diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el ++index 322df0e86a1..52702cab5c9 100644 ++--- a/lisp/emacs-lisp/comp.el +++++ b/lisp/emacs-lisp/comp.el ++@@ -3812,28 +3812,31 @@ comp-trampoline-search ++ ++ (defun comp--trampoline-abs-filename (subr-name) ++ "Return the absolute filename for a trampoline for SUBR-NAME." ++- (cl-loop ++- with dirs = (if (stringp native-comp-enable-subr-trampolines) ++- (list (expand-file-name native-comp-enable-subr-trampolines ++- invocation-directory)) ++- (if native-compile-target-directory ++- (list (expand-file-name comp-native-version-dir ++- native-compile-target-directory)) ++- (comp-eln-load-path-eff))) ++- with rel-filename = (comp-trampoline-filename subr-name) ++- for dir in dirs ++- for abs-filename = (expand-file-name rel-filename dir) ++- unless (file-exists-p dir) ++- do (ignore-errors ++- (make-directory dir t) ++- (cl-return abs-filename)) ++- when (file-writable-p abs-filename) ++- do (cl-return abs-filename) ++- ;; Default to some temporary directory if no better option was ++- ;; found. ++- finally (cl-return ++- (make-temp-file (file-name-sans-extension rel-filename) nil ".eln" ++- nil)))) +++ ;; If we've disabled nativecomp, don't write the trampolines to +++ ;; the eln cache (but create them). +++ (and (not inhibit-native-compilation) +++ (cl-loop +++ with dirs = (if (stringp native-comp-enable-subr-trampolines) +++ (list (expand-file-name native-comp-enable-subr-trampolines +++ invocation-directory)) +++ (if native-compile-target-directory +++ (list (expand-file-name comp-native-version-dir +++ native-compile-target-directory)) +++ (comp-eln-load-path-eff))) +++ with rel-filename = (comp-trampoline-filename subr-name) +++ for dir in dirs +++ for abs-filename = (expand-file-name rel-filename dir) +++ unless (file-exists-p dir) +++ do (ignore-errors +++ (make-directory dir t) +++ (cl-return abs-filename)) +++ when (file-writable-p abs-filename) +++ do (cl-return abs-filename) +++ ;; Default to some temporary directory if no better option was +++ ;; found. +++ finally (cl-return +++ (make-temp-file (file-name-sans-extension rel-filename) nil ".eln" +++ nil))))) ++ ++ (defun comp-trampoline-compile (subr-name) ++ "Synthesize compile and return a trampoline for SUBR-NAME." ++diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el ++index 956e3d30bce..4f735f2e5a8 100644 ++--- a/lisp/progmodes/elisp-mode.el +++++ b/lisp/progmodes/elisp-mode.el ++@@ -222,7 +222,7 @@ emacs-lisp-native-compile-and-load ++ Load the compiled code when finished. ++ ++ Use `emacs-lisp-byte-compile-and-load' in combination with ++-`native-comp-jit-compilation' set to t to achieve asynchronous +++`inhibit-native-compilation' set to nil to achieve asynchronous ++ native compilation." ++ (interactive nil emacs-lisp-mode) ++ (emacs-lisp--before-compile-buffer) ++diff --git a/lisp/startup.el b/lisp/startup.el ++index d6e1c23fa28..ac17b645f15 100644 ++--- a/lisp/startup.el +++++ b/lisp/startup.el ++@@ -546,7 +546,7 @@ startup--honor-delayed-native-compilations ++ (setq comp--compilable t)) ++ ++ (defvar native-comp-eln-load-path) ++-(defvar native-comp-jit-compilation) +++(defvar inhibit-native-compilation) ++ (defvar native-comp-enable-subr-trampolines) ++ ++ (defvar startup--original-eln-load-path nil ++@@ -583,6 +583,9 @@ normal-top-level ++ It sets `command-line-processed', processes the command-line, ++ reads the initialization files, etc. ++ It is the default value of the variable `top-level'." +++ ;; Allow disabling automatic .elc->.eln processing. +++ (setq inhibit-native-compilation (getenv "EMACS_INHIBIT_NATIVE_COMPILATION")) +++ ++ (if command-line-processed ++ (message internal--top-level-message) ++ (setq command-line-processed t) ++@@ -601,7 +604,7 @@ normal-top-level ++ ;; in this session. This is necessary if libgccjit is not ++ ;; available on MS-Windows, but Emacs was built with ++ ;; native-compilation support. ++- (setq native-comp-jit-compilation nil +++ (setq inhibit-native-compilation t ++ native-comp-enable-subr-trampolines nil)) ++ ++ ;; Form `native-comp-eln-load-path'. ++diff --git a/src/comp.c b/src/comp.c ++index 59c9e9619a3..06ddb956bb5 100644 ++--- a/src/comp.c +++++ b/src/comp.c ++@@ -5179,6 +5179,7 @@ maybe_defer_native_compilation (Lisp_Object function_name, ++ return; ++ ++ if (!native_comp_jit_compilation +++ || !NILP (Vinhibit_native_compilation) ++ || noninteractive ++ || !NILP (Vpurify_flag) ++ || !COMPILEDP (definition) ++@@ -5681,6 +5682,13 @@ syms_of_comp (void) ++ doc: /* Non-nil when comp.el can be native compiled. ++ For internal use. */); ++ /* Compiler control customizes. */ +++ DEFVAR_LISP ("inhibit-native-compilation", Vinhibit_native_compilation, +++ doc: /* If non-nil, inhibit automatic native compilation of loaded .elc files. +++ +++After compilation, each function definition is updated to the native +++compiled one. */); +++ Vinhibit_native_compilation = Qnil; +++ ++ DEFVAR_BOOL ("native-comp-jit-compilation", native_comp_jit_compilation, ++ doc: /* If non-nil, compile loaded .elc files asynchronously. ++ diff --cc debian/patches/0013-Rename-to-inhibit-automatic-native-compilation.patch index 00000000000,00000000000..794c82e47ff new file mode 100644 --- /dev/null +++ b/debian/patches/0013-Rename-to-inhibit-automatic-native-compilation.patch @@@ -1,0 -1,0 +1,115 @@@ ++From 3d9b8aa890c41da85ce4e8fb863ba719406aa0f8 Mon Sep 17 00:00:00 2001 ++From: Lars Ingebrigtsen ++Date: Mon, 3 Oct 2022 19:49:53 +0200 ++Subject: Rename to 'inhibit-automatic-native-compilation' ++ ++The following upstream patch has been backported: ++ ++ Rename to inhibit-automatic-native-compilation ++ ++ * src/comp.c (maybe_defer_native_compilation): ++ (syms_of_comp): ++ * lisp/startup.el (inhibit-native-compilation): ++ (normal-top-level): ++ * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): ++ * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Rename ++ inhibit-native-compilation to inhibit-automatic-native-compilation. ++ ++Origin: upstream, commit f97993ee667f9be7589825f3a4fbc095d6944ec6 ++Forwarded: not-needed ++--- ++ lisp/emacs-lisp/comp.el | 2 +- ++ lisp/progmodes/elisp-mode.el | 4 ++-- ++ lisp/startup.el | 7 ++++--- ++ src/comp.c | 7 ++++--- ++ 4 files changed, 11 insertions(+), 9 deletions(-) ++ ++diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el ++index 52702cab5c9..d2c6dbe0c05 100644 ++--- a/lisp/emacs-lisp/comp.el +++++ b/lisp/emacs-lisp/comp.el ++@@ -3814,7 +3814,7 @@ comp--trampoline-abs-filename ++ "Return the absolute filename for a trampoline for SUBR-NAME." ++ ;; If we've disabled nativecomp, don't write the trampolines to ++ ;; the eln cache (but create them). ++- (and (not inhibit-native-compilation) +++ (and (not inhibit-automatic-native-compilation) ++ (cl-loop ++ with dirs = (if (stringp native-comp-enable-subr-trampolines) ++ (list (expand-file-name native-comp-enable-subr-trampolines ++diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el ++index 4f735f2e5a8..4561f2d0d28 100644 ++--- a/lisp/progmodes/elisp-mode.el +++++ b/lisp/progmodes/elisp-mode.el ++@@ -222,8 +222,8 @@ emacs-lisp-native-compile-and-load ++ Load the compiled code when finished. ++ ++ Use `emacs-lisp-byte-compile-and-load' in combination with ++-`inhibit-native-compilation' set to nil to achieve asynchronous ++-native compilation." +++`inhibit-automatic-native-compilation' set to nil to achieve +++asynchronous native compilation." ++ (interactive nil emacs-lisp-mode) ++ (emacs-lisp--before-compile-buffer) ++ (let ((byte+native-compile t) ++diff --git a/lisp/startup.el b/lisp/startup.el ++index ac17b645f15..b89f9cd95da 100644 ++--- a/lisp/startup.el +++++ b/lisp/startup.el ++@@ -546,7 +546,7 @@ startup--honor-delayed-native-compilations ++ (setq comp--compilable t)) ++ ++ (defvar native-comp-eln-load-path) ++-(defvar inhibit-native-compilation) +++(defvar inhibit-automatic-native-compilation) ++ (defvar native-comp-enable-subr-trampolines) ++ ++ (defvar startup--original-eln-load-path nil ++@@ -584,7 +584,8 @@ normal-top-level ++ reads the initialization files, etc. ++ It is the default value of the variable `top-level'." ++ ;; Allow disabling automatic .elc->.eln processing. ++- (setq inhibit-native-compilation (getenv "EMACS_INHIBIT_NATIVE_COMPILATION")) +++ (setq inhibit-automatic-native-compilation +++ (getenv "EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION")) ++ ++ (if command-line-processed ++ (message internal--top-level-message) ++@@ -604,7 +605,7 @@ normal-top-level ++ ;; in this session. This is necessary if libgccjit is not ++ ;; available on MS-Windows, but Emacs was built with ++ ;; native-compilation support. ++- (setq inhibit-native-compilation t +++ (setq inhibit-automatic-native-compilation t ++ native-comp-enable-subr-trampolines nil)) ++ ++ ;; Form `native-comp-eln-load-path'. ++diff --git a/src/comp.c b/src/comp.c ++index 06ddb956bb5..136b5e8fe5d 100644 ++--- a/src/comp.c +++++ b/src/comp.c ++@@ -5179,7 +5179,7 @@ maybe_defer_native_compilation (Lisp_Object function_name, ++ return; ++ ++ if (!native_comp_jit_compilation ++- || !NILP (Vinhibit_native_compilation) +++ || !NILP (Vinhibit_automatic_native_compilation) ++ || noninteractive ++ || !NILP (Vpurify_flag) ++ || !COMPILEDP (definition) ++@@ -5682,12 +5682,13 @@ syms_of_comp (void) ++ doc: /* Non-nil when comp.el can be native compiled. ++ For internal use. */); ++ /* Compiler control customizes. */ ++- DEFVAR_LISP ("inhibit-native-compilation", Vinhibit_native_compilation, +++ DEFVAR_LISP ("inhibit-automatic-native-compilation", +++ Vinhibit_automatic_native_compilation, ++ doc: /* If non-nil, inhibit automatic native compilation of loaded .elc files. ++ ++ After compilation, each function definition is updated to the native ++ compiled one. */); ++- Vinhibit_native_compilation = Qnil; +++ Vinhibit_automatic_native_compilation = Qnil; ++ ++ DEFVAR_BOOL ("native-comp-jit-compilation", native_comp_jit_compilation, ++ doc: /* If non-nil, compile loaded .elc files asynchronously. diff --cc debian/patches/series index 0b282410adc,00000000000..83dfffaff3f mode 100644,000000..100644 --- a/debian/patches/series +++ b/debian/patches/series @@@ -1,28 -1,0 +1,13 @@@ +0001-Prefer-usr-share-info-emacs.patch +0002-Run-debian-startup-and-set-debian-emacs-flavor.patch +0003-Remove-files-that-appear-to-be-incompatible-with-the.patch +0004-Adjust-documentation-references-for-Debian.patch +0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch +0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch +0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch +0008-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch +0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch - 0010-Avoid-fork-bomb-caused-by-native-compilation.patch - 0011-Avoid-fork-bomb-caused-by-native-compilation-trampol.patch - 0012-Fix-eln-files-not-being-generated-when-native-comp-a.patch - 0013-Fix-large-core-dumps-from-background-processes.patch - 0014-Mark-test-undo-region-as-unstable.patch - 0015-Mark-flaky-test-process-tests-multiple-threads-waiti.patch - 0016-Fix-ctags-local-command-execution-vulnerability-CVE-.patch - 0017-Add-inhibit-native-compilation.patch - 0018-Rename-to-inhibit-automatic-native-compilation.patch - 0019-Fix-copyright-tests-for-2023-onwards.patch - 0020-Fix-htmlfontify.el-command-injection-vulnerability-C.patch - 0021-Fix-ruby-mode.el-command-injection-vulnerability-CVE.patch - 0022-Fix-etags-local-command-injection-vulnerability-CVE-.patch - 0023-Fix-memory-leak-in-etags.c.patch - 0024-Fix-quoted-argument-in-emacsclient-mail.desktop-CVE-.patch - 0025-Fix-code-injection-vulnerability-CVE-2023-27986.patch - 0026-Gnus-nnml-should-avoid-crashing-on-some-invalid-head.patch - 0027-Org-Mode-vulnerability-CVE-2023-28617-is-fixed-1-2.patch - 0028-Org-Mode-vulnerability-CVE-2023-28617-is-fixed-2-2.patch ++0010-Mark-test-undo-region-as-unstable.patch ++0011-Mark-flaky-test-process-tests-multiple-threads-waiti.patch ++0012-Add-inhibit-native-compilation.patch ++0013-Rename-to-inhibit-automatic-native-compilation.patch