Merge upstream version 29.3
authorRob Browning <rlb@defaultvalue.org>
Sun, 24 Mar 2024 21:11:48 +0000 (16:11 -0500)
committerRob Browning <rlb@defaultvalue.org>
Sun, 24 Mar 2024 21:15:27 +0000 (16:15 -0500)
Thanks to David Bremner for the report.

Closes: 1067630
16 files changed:
1  2 
debian/.git-dpm
debian/patches/0001-Prefer-usr-share-info-emacs.patch
debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch
debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch
debian/patches/0004-Adjust-documentation-references-for-Debian.patch
debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch
debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch
debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch
debian/patches/0008-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch
debian/patches/0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch
debian/patches/0010-Mark-test-undo-region-as-unstable.patch
debian/patches/0011-Mark-flaky-test-process-tests-multiple-threads-waiti.patch
debian/patches/0012-Add-inhibit-native-compilation.patch
debian/patches/0013-Rename-to-inhibit-automatic-native-compilation.patch
debian/patches/0014-Patch-project-vc-recognizes-git-test-for-Debian-buil.patch
debian/patches/0015-Change-native-comp-async-jobs-number-default-to-1.patch

diff --cc debian/.git-dpm
index a7d656d19bb6fdf5773016c61876f308bd536a70,0000000000000000000000000000000000000000..8d90d3c01264591bcddb1b09805d3c14e94c0149
mode 100644,000000..100644
--- /dev/null
@@@ -1,8 -1,0 +1,8 @@@
- 7259784e1ef8c5237bd974763743dd9ab74ff908
- 7259784e1ef8c5237bd974763743dd9ab74ff908
- 98fd7f12fa826657f304bfbd818a3d21f34ace2c
 +# see git-dpm(1) from git-dpm package
++ceeba43276b3867407905ad5296f66b7115abb31
++ceeba43276b3867407905ad5296f66b7115abb31
++d7948bf1afaf41355764ec21756f35dfd78a1813
 +d7948bf1afaf41355764ec21756f35dfd78a1813
 +emacs_29.3+1.orig.tar.xz
 +c5910d788335c197bd5fa6abbc6d5e6086df5487
 +29289064
index e90f57e4d4d5476171b03ccfe0d6c66e7da8e634,0000000000000000000000000000000000000000..92dab7d1e9c7ccc875b1337c6ed829f69db91362
mode 100644,000000..100644
--- /dev/null
@@@ -1,27 -1,0 +1,27 @@@
- From 7f3ca6ade68971057aab7ba0d5c42305679fd163 Mon Sep 17 00:00:00 2001
++From 02033fdef3d159c175ceaa4226b17f57ddab9b51 Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 1c6df9a6ee5..8ba7410e9d1 100644
 +--- a/lisp/info.el
 ++++ b/lisp/info.el
 +@@ -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
 ++        (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))
index d69efefc805a002c7f5d2a3e96610bf79b72f591,0000000000000000000000000000000000000000..15612fb08befdce19e2350c0c7ef078686d10b23
mode 100644,000000..100644
--- /dev/null
@@@ -1,48 -1,0 +1,48 @@@
- From 1fd9880c6192c6529d90d8be9c5454401f1b84f3 Mon Sep 17 00:00:00 2001
++From a037962a552af57e850fa0a6fd7ba1c8840a1a98 Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 <rlb@defaultvalue.org>
 +---
 + lisp/startup.el | 13 ++++++++++++-
 + 1 file changed, 12 insertions(+), 1 deletion(-)
 +
 +diff --git a/lisp/startup.el b/lisp/startup.el
- index dcc99fd3dea..7c48f563998 100644
++index eb1e027d2cb..ccfcfee8f0e 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
 +@@ -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
index 2b2585fc3b1c6586ec356bb3c54f452f260bfa30,0000000000000000000000000000000000000000..470916c54c460b48c4b49471116eb16a714eb070
mode 100644,000000..100644
--- /dev/null
@@@ -1,256 -1,0 +1,256 @@@
- From 36d78d548e344a43dc434a5b8415e8d7ca305346 Mon Sep 17 00:00:00 2001
++From 9fb5f845245e42133d081098a9ed030a558a21a2 Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 <rlb@defaultvalue.org>
 +Added-by: Rob Browning <rlb@defaultvalue.org>
 +Status: new
 +---
 + Makefile.in          | 44 +++++++++++++++++---------------------------
 + configure.ac         | 15 ++++++---------
 + doc/misc/Makefile.in | 44 +++++---------------------------------------
 + lisp/help.el         |  8 ++++++++
 + 4 files changed, 36 insertions(+), 75 deletions(-)
 +
 +diff --git a/Makefile.in b/Makefile.in
 +index 996f7b8d8c7..c3786164718 100644
 +--- a/Makefile.in
 ++++ b/Makefile.in
 +@@ -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@
 +@@ -989,8 +991,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)))
 + 
 +@@ -1111,11 +1112,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):
 +@@ -1146,9 +1147,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 \
 +@@ -1170,14 +1168,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.
 +@@ -1195,14 +1189,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/configure.ac b/configure.ac
- index 8c98e8153f2..e4378e2c2c8 100644
++index 473ae06833c..eb1fbf08be5 100644
 +--- a/configure.ac
 ++++ b/configure.ac
 +@@ -6800,7 +6800,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)
 + 
 +@@ -6866,14 +6866,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 2841916dc89..0abfd543a3f 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 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))))
 + 
 + 
 +@@ -186,21 +179,11 @@ info.info:
 + ## Extra dependencies.
 + 
 + ## 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.
 +@@ -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@
 + 
 +diff --git a/lisp/help.el b/lisp/help.el
- index accd01e56f5..802cd7fc005 100644
++index 24e4b9890a7..2922cbd2618 100644
 +--- a/lisp/help.el
 ++++ b/lisp/help.el
- @@ -503,6 +503,14 @@ view-help-file
++@@ -511,6 +511,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)
index 13c5b1d2105010252a8cb051996e3073ab6aa7bc,0000000000000000000000000000000000000000..672c17e7681ccf5fe0ca4330e801a091dfff9de8
mode 100644,000000..100644
--- /dev/null
@@@ -1,29 -1,0 +1,29 @@@
- From 732a823b6ce89561bbb1efc47750fb63e982d5d2 Mon Sep 17 00:00:00 2001
++From 41bba59001c8d79bf1433e0e5ef7099a99802e8f Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 1a0e1f37366..d3d90a21115 100644
++index 3f94b0d4634..bb1be6f7e6d 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'.
 + 
 ++\f
 ++* Debian specific changes to Emacs
 ++
 ++Please see /usr/share/doc/emacs-common/README.Debian.gz.
 ++
 + \f
-  * Installation Changes in Emacs 29.2
-  
++ * Changes in Emacs 29.3
++ Emacs 29.3 is an emergency bugfix release intended to fix several
index 1240177e78084e40edb1cd44cc73995507f6e776,0000000000000000000000000000000000000000..1b24cf3aff7351a0ce0d37862d1385bcbbb6f100
mode 100644,000000..100644
--- /dev/null
@@@ -1,26 -1,0 +1,26 @@@
- From 6af5070365bae55ebc1c8829ef2029894486a409 Mon Sep 17 00:00:00 2001
++From a2ab35d401e5d5edb671bc17b4a05052ddd1c513 Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 <rlb@defaultvalue.org>
 +Added-by: Rob Browning <rlb@defaultvalue.org>
 +---
 + lisp/version.el | 2 +-
 + 1 file changed, 1 insertion(+), 1 deletion(-)
 +
 +diff --git a/lisp/version.el b/lisp/version.el
 +index 73968b1cd92..a3a18b90a45 100644
 +--- a/lisp/version.el
 ++++ b/lisp/version.el
 +@@ -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
index cb4170781ad7e95dd5aa5610d90ce88f13020a17,0000000000000000000000000000000000000000..5f49df79ca4fc9586c3253f9a6c09b29da8e79cb
mode 100644,000000..100644
--- /dev/null
@@@ -1,24 -1,0 +1,24 @@@
- From bce4374cbd1088dcc1d407d0f7d656948214aa7c Mon Sep 17 00:00:00 2001
++From 4ebce2c22906c28d31641494d3acf019e9334c3d Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 6768d610ee0..162ee36bafc 100644
 +--- a/admin/unidata/Makefile.in
 ++++ b/admin/unidata/Makefile.in
 +@@ -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 ${unidir}/emoji-labels.el \
 +   ${unidir}/uni-scripts.el ${unidir}/uni-confusable.el \
 +   ${unidir}/idna-mapping.el
index c109cde7537ee00a3ac7244e5f41e3be05ac0a4b,0000000000000000000000000000000000000000..fc5569820b7a575ed995af83871f5393b6d54ff5
mode 100644,000000..100644
--- /dev/null
@@@ -1,40 -1,0 +1,40 @@@
- From 780593cd9060a91dac2637752d1de832e90903d1 Mon Sep 17 00:00:00 2001
++From a309766b2c430303542d35bc840c96af04690dbe Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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 | 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 5176c6abcd8..ee481822705 100644
 +--- a/test/lisp/emacs-lisp/package-tests.el
 ++++ b/test/lisp/emacs-lisp/package-tests.el
 +@@ -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)
 + 
 +          (when (and (boundp 'package-test-archive-upload-base)
 +                     (file-directory-p package-test-archive-upload-base))
index 2de1b69f91122af602e138facef36db81e655c33,0000000000000000000000000000000000000000..add605e9c4a2e5d89c63efb55c537359dcb61d5f
mode 100644,000000..100644
--- /dev/null
@@@ -1,74 -1,0 +1,74 @@@
- From 91ab32ff10c1b7463f1dd0f6381208646fb7dc71 Mon Sep 17 00:00:00 2001
++From 5c957f045631b1a4b166519ee1b4d6be2040e2bc Mon Sep 17 00:00:00 2001
 +From: Rob Browning <rlb@defaultvalue.org>
 +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(#<buffer loaddefs.el> "/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 8ed63d11a8f..085ef20e9c8 100644
 +--- a/test/lisp/vc/vc-bzr-tests.el
 ++++ b/test/lisp/vc/vc-bzr-tests.el
 +@@ -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))
 +   (ert-with-temp-directory homedir
 +     (let* ((bzrdir (expand-file-name "bzr" homedir))
index 3685e11a923b18fab751a7d80143d45ac89ecd59,0000000000000000000000000000000000000000..965a33ccd66bfd6ec321a0aef44bdb70453f6f92
mode 100644,000000..100644
--- /dev/null
@@@ -1,47 -1,0 +1,47 @@@
- From 1cfafc3575de8243f62d99bdea4110572feade93 Mon Sep 17 00:00:00 2001
++From 598acd7135f99a44898ff5461cd7c04f3f4881b7 Mon Sep 17 00:00:00 2001
 +From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
 +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 /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/vc/vc-hooks.el (source)...
 +  Loading /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/vc/ediff-hook.el (source)...
 +  Loading /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/uniquify.el (source)...
 +  Loading /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/electric.el (source)...
 +  Loading /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/emacs-lisp/eldoc.el (source)...
 +  Loading /<<BUILDDIR>>/emacs-27.1+1/debian/build-src/lisp/cus-start.el (source)...
 +  Loading /<<BUILDDIR>>/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 1b5ead5fb4a..72853c134b2 100644
 +--- a/src/pdumper.c
 ++++ b/src/pdumper.c
 +@@ -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,
index 720b9791d37fe8cc6d901bc0f332bf08bc35395b,0000000000000000000000000000000000000000..06abf033fc429a4d0e236ef42c6426be1c873470
mode 100644,000000..100644
--- /dev/null
@@@ -1,48 -1,0 +1,48 @@@
- From b980fa6ddf13ddc1612fccf3e3e9ed5f8a60677c Mon Sep 17 00:00:00 2001
++From e71458852d74ddb956f74effc7ed9fd5234b9a89 Mon Sep 17 00:00:00 2001
 +From: Sean Whitton <spwhitton@spwhitton.name>
 +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 () #<bytecode 0x52f126616d2cdbd>)()
 +    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" ":/<<PKGBUILDDIR>>/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 a58fa9d41f8..b84c6d4a5e0 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))
index 5f4653f1f818413604ee6495bfaba76e047e0ada,0000000000000000000000000000000000000000..9fe8825b1f8620b5dc88e945f678aa8c58304c92
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,46 @@@
- From f83989b747b326f3464abaef268c07ae83004c58 Mon Sep 17 00:00:00 2001
++From 5084fba86b690516174ad817daa9613951024f68 Mon Sep 17 00:00:00 2001
 +From: Sean Whitton <spwhitton@spwhitton.name>
 +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 '/<<PKGBUILDDIR>>/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 15d46cbae15..744a3e371fe 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
index eaa90d5faf964acb438a613612fcb0be31605967,0000000000000000000000000000000000000000..5b79eb032b53eb79fb43b7b8a132769301a42e9c
mode 100644,000000..100644
--- /dev/null
@@@ -1,146 -1,0 +1,146 @@@
- From e5165587b5333b19dd217f80e19664d70e4e8e56 Mon Sep 17 00:00:00 2001
++From 1ae8ac91a0ca3d41b78e37ddc07f1b48e9a63e85 Mon Sep 17 00:00:00 2001
 +From: Lars Ingebrigtsen <larsi@gnus.org>
 +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/startup.el         |  7 ++++--
 + src/comp.c              |  8 +++++++
 + 3 files changed, 38 insertions(+), 24 deletions(-)
 +
 +diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
- index 614c62c35c6..7437557a9d1 100644
++index 6b65a375ea0..5d688a12d8b 100644
 +--- a/lisp/emacs-lisp/comp.el
 ++++ b/lisp/emacs-lisp/comp.el
 +@@ -3809,28 +3809,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/startup.el b/lisp/startup.el
- index 7c48f563998..4e3d785e497 100644
++index ccfcfee8f0e..45e41a7c951 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 8428cf9020e..46b81cb1aae 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.
 + 
index 137c5ad858ac46f0b6b65979d4f1dfe9871150ac,0000000000000000000000000000000000000000..d08d2c52eee3563da976f02d37431eed59601b64
mode 100644,000000..100644
--- /dev/null
@@@ -1,99 -1,0 +1,99 @@@
- From 344f7cd6e83124bafe937563659fcf87dbd7bac5 Mon Sep 17 00:00:00 2001
++From 020148f5a9e63947571859e7b7e20470b7066897 Mon Sep 17 00:00:00 2001
 +From: Lars Ingebrigtsen <larsi@gnus.org>
 +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/startup.el         | 7 ++++---
 + src/comp.c              | 7 ++++---
 + 3 files changed, 9 insertions(+), 7 deletions(-)
 +
 +diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
- index 7437557a9d1..6c9d245fc91 100644
++index 5d688a12d8b..55095986024 100644
 +--- a/lisp/emacs-lisp/comp.el
 ++++ b/lisp/emacs-lisp/comp.el
 +@@ -3811,7 +3811,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/startup.el b/lisp/startup.el
- index 4e3d785e497..aab440068fb 100644
++index 45e41a7c951..5f14b585390 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 46b81cb1aae..41078f41d52 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.
index 2891a431faad98e32f8186bb2f19412c994c08e8,0000000000000000000000000000000000000000..aa9889fe48c2a459e81e4c576c1fb37df2282845
mode 100644,000000..100644
--- /dev/null
@@@ -1,22 -1,0 +1,22 @@@
- From d62b24ccf6d4b2e33a0a745af3baed8158dba314 Mon Sep 17 00:00:00 2001
++From df4419a4ff06c860565fc6a79ab3b5c4996a94f8 Mon Sep 17 00:00:00 2001
 +From: Sean Whitton <spwhitton@spwhitton.name>
 +Date: Mon, 31 Jul 2023 09:26:48 +0100
 +Subject: Patch project-vc-recognizes-git test for Debian build
 +
 +---
 + test/lisp/progmodes/project-tests.el | 2 +-
 + 1 file changed, 1 insertion(+), 1 deletion(-)
 +
 +diff --git a/test/lisp/progmodes/project-tests.el b/test/lisp/progmodes/project-tests.el
 +index 1111344387b..652567a7b59 100644
 +--- a/test/lisp/progmodes/project-tests.el
 ++++ b/test/lisp/progmodes/project-tests.el
 +@@ -124,7 +124,7 @@ project-vc-recognizes-git
 +          (project (project-current nil dir)))
 +     (should-not (null project))
 +     (should (string-match-p
 +-             "\\`test/lisp/progmodes/project-tests\\.elc?"
 ++             "\\`debian/build-[a-z]+/test/lisp/progmodes/project-tests\\.elc?"
 +              (file-relative-name
 +               project-tests--this-file
 +               (project-root project))))))
index 1c7d1f689a32f2d950e50b5447df18a4c34b822f,0000000000000000000000000000000000000000..17e2a586a6fdda21111bc45d5d0cb524fafa24ed
mode 100644,000000..100644
--- /dev/null
@@@ -1,22 -1,0 +1,22 @@@
- From 7259784e1ef8c5237bd974763743dd9ab74ff908 Mon Sep 17 00:00:00 2001
++From ceeba43276b3867407905ad5296f66b7115abb31 Mon Sep 17 00:00:00 2001
 +From: Sean Whitton <spwhitton@spwhitton.name>
 +Date: Tue, 29 Aug 2023 09:08:55 +0100
 +Subject: Change native-comp-async-jobs-number default to 1
 +
 +---
 + lisp/emacs-lisp/comp.el | 2 +-
 + 1 file changed, 1 insertion(+), 1 deletion(-)
 +
 +diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
- index 6c9d245fc91..73cf5f1e806 100644
++index 55095986024..b7b04c76878 100644
 +--- a/lisp/emacs-lisp/comp.el
 ++++ b/lisp/emacs-lisp/comp.el
 +@@ -117,7 +117,7 @@ native-comp-never-optimize-functions
 +   :type '(repeat symbol)
 +   :version "28.1")
 + 
 +-(defcustom native-comp-async-jobs-number 0
 ++(defcustom native-comp-async-jobs-number 1
 +   "Default number of subprocesses used for async native compilation.
 + Value of zero means to use half the number of the CPU's execution units,
 + or one if there's just one execution unit."