--- /dev/null
- 26155f0997470d4ac10b0295ed5c1c16e070734a
- 26155f0997470d4ac10b0295ed5c1c16e070734a
- 52397a199934d2d72155696b172908226086f530
+# see git-dpm(1) from git-dpm package
++7259784e1ef8c5237bd974763743dd9ab74ff908
++7259784e1ef8c5237bd974763743dd9ab74ff908
++98fd7f12fa826657f304bfbd818a3d21f34ace2c
+98fd7f12fa826657f304bfbd818a3d21f34ace2c
+emacs_29.2+1.orig.tar.xz
+2e18f5469daa90716a622e4de3c0863b8ec485f9
+29280528
--- /dev/null
- From c0df7a07ac80a916207f4cbd7aa6ac15d0fcca35 Mon Sep 17 00:00:00 2001
++From 7f3ca6ade68971057aab7ba0d5c42305679fd163 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Sun, 7 Apr 2013 15:03:05 -0500
- Subject: Emacs prefers /usr/share/info/emacs to /usr/share/info.
++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 035dff66e75..59093811232 100644
++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))
--- /dev/null
- From db11169aaaca4aa86c8e98685bd23eb26ffb9b89 Mon Sep 17 00:00:00 2001
++From 1fd9880c6192c6529d90d8be9c5454401f1b84f3 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Mon, 4 Apr 2011 22:46:22 -0500
- Subject: Emacs sets debian-emacs-flavor and runs debian-startup.
++Subject: Run debian-startup and set debian-emacs-flavor
+
- The global variable debian-emacs-flavor is bound to 'emacs, and
- debian-startup is run during the startup process unless site-run-file
- is false.
++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 b0f019d704e..d6e1c23fa28 100644
++index dcc99fd3dea..7c48f563998 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
--- /dev/null
- From 8fff656e51bc7d8ad1842fe0ba2055a0fe16bd86 Mon Sep 17 00:00:00 2001
++From 36d78d548e344a43dc434a5b8415e8d7ca305346 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Mon, 4 Apr 2011 22:46:24 -0500
- Subject: Files that appear to be incompatible with the DFSG have been removed.
++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 f5fda0eb61a..8bad8563582 100644
++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@
- @@ -984,8 +986,7 @@ $(1)_$(2):
++@@ -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)))
+
- @@ -1106,11 +1107,11 @@ test/%:
++@@ -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):
- @@ -1141,9 +1142,6 @@ info-dir:
++@@ -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 \
- @@ -1165,14 +1163,10 @@ ${srcdir}/info/dir:
++@@ -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.
- @@ -1190,14 +1184,10 @@ install-pdf:
++@@ -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 ad1068a70ad..17e77b36cc9 100644
++index 8c98e8153f2..e4378e2c2c8 100644
+--- a/configure.ac
++++ b/configure.ac
- @@ -6798,7 +6798,7 @@ AC_DEFUN
++@@ -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)
+
- @@ -6864,14 +6864,11 @@ m4_define
++@@ -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 1831bbbb73f..45d84062829 100644
++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 6eac037df2c..8f341e992e3 100644
++index accd01e56f5..802cd7fc005 100644
+--- a/lisp/help.el
++++ b/lisp/help.el
- @@ -496,6 +496,14 @@ view-help-file
++@@ -503,6 +503,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)
--- /dev/null
- From 48687a2f3c9a6c2babcd0f9b52adfc1f83a79a5c Mon Sep 17 00:00:00 2001
++From 732a823b6ce89561bbb1efc47750fb63e982d5d2 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Mon, 4 Apr 2011 22:46:25 -0500
- Subject: Various documentation references have been adjusted for Debian.
++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 75bf8f5dd28..e22ff2aeb7d 100644
++index 1a0e1f37366..d3d90a21115 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.1
++ * Installation Changes in Emacs 29.2
+
--- /dev/null
- From 49ffe438944fe2a07d0ad1e71fd1b83913a3d44e Mon Sep 17 00:00:00 2001
++From 6af5070365bae55ebc1c8829ef2029894486a409 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Mon, 4 Apr 2011 22:46:28 -0500
- Subject: The output of (version) has been modified to indicate Debian modifications.
++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 9cadc59237f..c7caaad4bf6 100644
++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
--- /dev/null
- From 3e290ebbf7f48d31159141dc3ff17f2ca9bff53c Mon Sep 17 00:00:00 2001
++From bce4374cbd1088dcc1d407d0f7d656948214aa7c Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Tue, 21 Oct 2014 19:10:17 -0500
- Subject: src/macuvs.h is not built (via IVD_Sequences.txt).
++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 cccd85213f1..46b2a5b41b1 100644
++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
--- /dev/null
- From dd14c8a6a1844d7d55ec204190387aa8856de5ff Mon Sep 17 00:00:00 2001
++From 780593cd9060a91dac2637752d1de832e90903d1 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.
-
- README-Debian: package-test.el should no longer fail during clean up.
+---
+ 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 0016fb586b7..a6052a5db23 100644
++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))
--- /dev/null
- From dd338474432ae1abaf48d672c7d96ffb3c051a5f Mon Sep 17 00:00:00 2001
++From 91ab32ff10c1b7463f1dd0f6381208646fb7dc71 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
-
- README-Debian: The vc-bzr-test-fauilt-bzr-autoloads test is allowed to fail.
+---
+ 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 d8ed1013c38..0c929254530 100644
++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))
--- /dev/null
- From 346f9ebb8d8dad1c3a084d73896e10b01fcf311c Mon Sep 17 00:00:00 2001
++From 1cfafc3575de8243f62d99bdea4110572feade93 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
- README-Debian: pdumper is built with DUMP_RELOC_ALIGNMENT_BITS=1 for m68k.
+---
+ src/pdumper.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/pdumper.c b/src/pdumper.c
- index 6e102bcd808..2ee69b82501 100644
++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,
--- /dev/null
- From 318959615583cee798fc1cd67d1c1568fdefb59c Mon Sep 17 00:00:00 2001
++From b980fa6ddf13ddc1612fccf3e3e9ed5f8a60677c 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)
-
- README-Debian: The test-undo-region test is allowed to fail.
+---
+ 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
++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))
--- /dev/null
- From 60a7044176a03ce23dfa57367b0919ab45c47b7d Mon Sep 17 00:00:00 2001
++From f83989b747b326f3464abaef268c07ae83004c58 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
-
- README-Debian: The process-tests/multiple-threads-waiting test is allowed to fail.
+---
+ 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
++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
--- /dev/null
- From fc921c4b1cc74d40c09c2a6653c57a34bdc5da84 Mon Sep 17 00:00:00 2001
++From e5165587b5333b19dd217f80e19664d70e4e8e56 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
- README-Debian: The inhibit-native-compilation variable has been added.
- Backported from upstream.
+---
- 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(-)
++ 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 322df0e86a1..52702cab5c9 100644
++index 614c62c35c6..7437557a9d1 100644
+--- a/lisp/emacs-lisp/comp.el
++++ b/lisp/emacs-lisp/comp.el
- @@ -3812,28 +3812,31 @@ comp-trampoline-search
++@@ -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/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
++index 7c48f563998..4e3d785e497 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
++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.
+
--- /dev/null
- From 3d9b8aa890c41da85ce4e8fb863ba719406aa0f8 Mon Sep 17 00:00:00 2001
++From 344f7cd6e83124bafe937563659fcf87dbd7bac5 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
- README-Debian: inhibit-native-compilation has been renamed to inhibit-automatic-native-compilation.
- Matching the upstream change.
+---
- 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(-)
++ 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 52702cab5c9..d2c6dbe0c05 100644
++index 7437557a9d1..6c9d245fc91 100644
+--- a/lisp/emacs-lisp/comp.el
++++ b/lisp/emacs-lisp/comp.el
- @@ -3814,7 +3814,7 @@ comp--trampoline-abs-filename
++@@ -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/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
++index 4e3d785e497..aab440068fb 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
++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.
--- /dev/null
- From 203201f1f29e74ba00a27f1b16cfb2d12d32468c Mon Sep 17 00:00:00 2001
++From d62b24ccf6d4b2e33a0a745af3baed8158dba314 Mon Sep 17 00:00:00 2001
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Mon, 31 Jul 2023 09:26:48 +0100
- Subject: The project-vc-recognizes-git test has been adjusted for Debian builds
++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 5a206b67db1..7593fb232e1 100644
++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))))))
--- /dev/null
- From 26155f0997470d4ac10b0295ed5c1c16e070734a Mon Sep 17 00:00:00 2001
++From 7259784e1ef8c5237bd974763743dd9ab74ff908 Mon Sep 17 00:00:00 2001
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Tue, 29 Aug 2023 09:08:55 +0100
- Subject: The native-comp-async-jobs-number default has been set to 1
++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 d2c6dbe0c05..b64190a35aa 100644
++index 6c9d245fc91..73cf5f1e806 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."