Merge upstream version 29.1
authorSean Whitton <spwhitton@spwhitton.name>
Sun, 30 Jul 2023 19:11:51 +0000 (20:11 +0100)
committerSean Whitton <spwhitton@spwhitton.name>
Sun, 30 Jul 2023 19:12:05 +0000 (20:12 +0100)
15 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/series

diff --cc debian/.git-dpm
index 158336f432a0ce919516121d86ffa1da87cc3c12,0000000000000000000000000000000000000000..e09cc1fd353d04c8bd4cba259107ecac8a09776f
mode 100644,000000..100644
--- /dev/null
@@@ -1,8 -1,0 +1,8 @@@
- 023ac1eff558f6fb387fea1629b084c8929de18d
- 023ac1eff558f6fb387fea1629b084c8929de18d
- 279b82e64e15b5e2df3cb522636c6db85a8ee659
 +# see git-dpm(1) from git-dpm package
++3d9b8aa890c41da85ce4e8fb863ba719406aa0f8
++3d9b8aa890c41da85ce4e8fb863ba719406aa0f8
++52397a199934d2d72155696b172908226086f530
 +52397a199934d2d72155696b172908226086f530
 +emacs_29.1+1.orig.tar.xz
 +7b71a5f966ce6789e14bf3d96a62ccbe77a8d51c
 +29225688
index 920b0e095f101e049548eaf3d4e85fddd9525bae,0000000000000000000000000000000000000000..b9c0d4f778964a05a0868660dd9659d13af4ebd8
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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))
index 60f2f2ddb932379f611ce49d82b81a6174301e82,0000000000000000000000000000000000000000..d34853d4e8e238ba7848bf31ece6c5e2d2f6ff43
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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
index e863c585c4bf87b1ed998210fed3d53750892599,0000000000000000000000000000000000000000..b7d6d9c7be4d29995d39a8c8a25430e2d2390460
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 +++++++++++++++++---------------------------
-  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)
index 0dfe4df886939952effaad98287cc55cdd9da4da,0000000000000000000000000000000000000000..8b6372f9856b4d7cb4ccc0f50f72bc7ad86dd41e
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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'.
 + 
 ++\f
 ++* Debian specific changes to Emacs
 ++
 ++Please see /usr/share/doc/emacs-common/README.Debian.gz.
 ++
 + \f
-  * Installation Changes in Emacs 28.2
++ * Installation Changes in Emacs 29.1
 + 
index 5ac3298d68630afa6741baa8dd53da971d1b71b2,0000000000000000000000000000000000000000..21537ea46297e192e139add1c4b8e4c6d8bf9567
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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
index 61557b7e47b0a70ccabb567318fb5ed7385769e8,0000000000000000000000000000000000000000..aa4421233661fc4844e7571fb21a788b694d416d
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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
index cc81f1182b0e4c76ff85b5b456a559849833423b,0000000000000000000000000000000000000000..5a1f856637065814c8106b2c139b12dfe6ca3a4f
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 | 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))
index b5838ca1508f5fb9f2572c4f885b2afe3a4e2e61,0000000000000000000000000000000000000000..0ba227afb5079881625817fbcc2cfd190744ff74
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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))
index 00fa6ff479776ca6f7a4ca6fa66a4944c88d04cc,0000000000000000000000000000000000000000..cc0575d246d46e529f5ad65511bd16a439dc3f6b
mode 100644,000000..100644
--- /dev/null
@@@ -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 <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 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,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..94cb3607554c365f8ea0d91ac81cb9d34668a0d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,48 @@@
++From 318959615583cee798fc1cd67d1c1568fdefb59c 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 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))
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c61627465b34066a8df6c99f83788e658555a5bc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++From 60a7044176a03ce23dfa57367b0919ab45c47b7d 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 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee8928602362c1e949878d914eae6d83a6b4c24b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,160 @@@
++From fc921c4b1cc74d40c09c2a6653c57a34bdc5da84 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/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.
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..794c82e47ff29398ce124bb2e8388948ea27d1e2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,115 @@@
++From 3d9b8aa890c41da85ce4e8fb863ba719406aa0f8 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/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.
index 0b282410adccfeea22b4f9160ecd94a4aa3f3ebb,0000000000000000000000000000000000000000..83dfffaff3fcb03a0ae26175cedea845d2cbc6e3
mode 100644,000000..100644
--- /dev/null
@@@ -1,28 -1,0 +1,13 @@@
- 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
 +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-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