--- /dev/null
- 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b
- 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b
+# see git-dpm(1) from git-dpm package
++e5a30a67a75250547d0676f9f9ede7eff57065a2
++e5a30a67a75250547d0676f9f9ede7eff57065a2
+09a20fd582947ca08f0e80bc5353ae8abfe1e5ed
+09a20fd582947ca08f0e80bc5353ae8abfe1e5ed
+emacs_25.2+1.orig.tar.xz
+ad6c8e3147a990ee49a3e68196751b9f1763919c
+23186732
--- /dev/null
--- /dev/null
++From f395622508301666a356a84e003d987888229804 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 40b2f90ebd6..0cd9c480a67 100644
++--- a/lisp/info.el
+++++ b/lisp/info.el
++@@ -218,7 +218,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 ae16c941cd1b1cfae352136af9db2d698f5e4388 Mon Sep 17 00:00:00 2001
++From 276ba4620041b4d7e2e90d190bbfa7c005885b6f 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 'emacs25.
++* The global variable debian-emacs-flavor is bound to 'emacs.
+
+Author: Rob Browning <rlb@defaultvalue.org>
+---
+ lisp/startup.el | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/lisp/startup.el b/lisp/startup.el
- index 2855e7c31ca..b0df4f59d0c 100644
++index 2855e7c31ca..79c5119420e 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 'emacs25
+++(defconst debian-emacs-flavor 'emacs
++ "A symbol representing the particular debian flavor of emacs running.
- +Something like 'emacs20, 'xemacs20, etc.")
+++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
+@@ -1124,8 +1128,21 @@ command-line
+ ;; be loaded from site-run-file and wants to test if -q was given
+ ;; should check init-file-user instead, since that is already set.
+ ;; See cus-edit.el for an example.
+- (if site-run-file
+- (load site-run-file t t))
++
++ ;; Original upstream startup
++ ;; (if site-run-file
++ ;; (load site-run-file t t))
++ ;;
++
++ ;; Debian startup
++ (if site-run-file
++ (progn
++ ;; Load all the debian package snippets.
++ ;; It's in here because we want -q to kill it too.
++ (if (load "debian-startup" t t nil)
++ (debian-startup debian-emacs-flavor))
++ ;; Now the normal site file...
++ (load site-run-file t t)))
+
+ ;; Sites should not disable this. Only individuals should disable
+ ;; the startup screen.
--- /dev/null
- From 83f3a4a687c29df447fffc9bf416db64c75c3a0d Mon Sep 17 00:00:00 2001
++From 53dad1e8f5cd98546a215217b1f6dcd74fe03981 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 | 19 ++++++++-----------
+ doc/misc/Makefile.in | 44 +++++---------------------------------------
+ lisp/help.el | 8 ++++++++
+ 5 files changed, 39 insertions(+), 79 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index bba9bb158cc..da42196bd7b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -161,7 +161,9 @@ man1dir=$(mandir)/man1
+ # 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=
+
+ # If no makeinfo was found and configured --without-makeinfo, "no"; else "yes".
+ HAVE_MAKEINFO=@HAVE_MAKEINFO@
+@@ -808,8 +810,7 @@ endef
+ ### 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
++mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/misc
+
+ $(foreach dir,$(mostlyclean_dirs),$(eval $(call submake_template,$(dir),mostlyclean)))
+
+@@ -936,11 +937,11 @@ check check-expensive: all
+ 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):
+@@ -961,9 +962,6 @@ info-dir: ${srcdir}/info/dir
+
+ ## Hopefully doc/misc/*.texi is not too long for some systems?
+ srcdir_doc_info_dir_inputs = \
+- ${srcdir}/doc/emacs/emacs.texi \
+- ${srcdir}/doc/lispintro/emacs-lisp-intro.texi \
+- ${srcdir}/doc/lispref/elisp.texi \
+ $(sort $(wildcard ${srcdir}/doc/misc/*.texi))
+ info_dir_inputs = \
+ ../build-aux/dir_top \
+@@ -988,14 +986,10 @@ ${srcdir}/info/dir: ${info_dir_deps}
+ ) >$$tempfile && \
+ ${srcdir}/build-aux/move-if-change $${tempfile} ${srcdir}/info/dir
+
+-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.
+@@ -1013,14 +1007,10 @@ install-pdf: $(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 86054aef9fd..5bc8aeafd45 100755
+--- a/admin/update_autogen
++++ b/admin/update_autogen
+@@ -269,8 +269,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 5853cbbac85..7278ef64cb6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -5387,11 +5387,11 @@ dnl This will work, but you get a config.status that is not quite right
+ dnl (see http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00028.html).
+ dnl That doesn't have any obvious consequences for Emacs, but on the whole
+ dnl it seems better to just live with the duplication.
+-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"
++SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/misc/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile"
+
+ AC_CONFIG_FILES([Makefile 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 \
++ doc/misc/Makefile \
++ src/Makefile lwlib/Makefile lisp/Makefile \
+ leim/Makefile nextstep/Makefile nt/Makefile])
+
+ dnl test/ is not present in release tarfiles.
+@@ -5443,14 +5443,11 @@ if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then
+ 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 741d56cd207..39d09abeed7 100644
+--- a/doc/misc/Makefile.in
++++ b/doc/misc/Makefile.in
+@@ -61,18 +61,14 @@ INSTALL_DATA = @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 = ada-mode 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 newsticker nxml-mode octave-mode \
+- org pcl-cvs pgg rcirc remember reftex sasl \
+- sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \
+- url vhdl-mode vip viper widget wisent woman
++INFO_COMMON = efaq
+
+ ## Info files to install on current platform.
+ INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_W32)
+@@ -150,9 +146,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))))
+
+
+@@ -174,20 +167,11 @@ $(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call info_templ
+
+ ## Extra dependencies.
+
+-need_emacsver = calc cl dired-x efaq efaq-w32 erc ido reftex 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.
+@@ -203,24 +187,6 @@ efaq%.pdf: ${srcdir}/efaq%.texi
+ 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: EXTRA_OPTS = -D emacs
+-${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi
+-
+
+ .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean
+
+diff --git a/lisp/help.el b/lisp/help.el
+index 68e8890ee1b..13a80cfa604 100644
+--- a/lisp/help.el
++++ b/lisp/help.el
+@@ -292,6 +292,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 e6dd4351ffb417f050de9b77b3621d97374104de Mon Sep 17 00:00:00 2001
++From f73a994589db30a6b11a77a2a2656d7600ec209f 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 539e56e42a0..1d8a47b6549 100644
+--- a/etc/NEWS
++++ b/etc/NEWS
+@@ -15,6 +15,11 @@ and NEWS.1-17 for changes 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/emacs25-common/README.Debian.gz.
++
+ \f
+ * Changes in Emacs 25.2
+
--- /dev/null
- From e7fd49e3547acb756c6c8036f7055c885da83a68 Mon Sep 17 00:00:00 2001
++From d33f56378cb4ead76c7c89b6dcde66d4ddbe482c 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 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lisp/version.el b/lisp/version.el
+index 0e21ab2cad6..518cd4fb850 100644
+--- a/lisp/version.el
++++ b/lisp/version.el
+@@ -59,8 +59,8 @@ emacs-version
+ (interactive "P")
+ (let ((version-string
+ (format (if (not (called-interactively-p 'interactive))
+- "GNU Emacs %s (%s%s%s%s)\n of %s"
+- "GNU Emacs %s (%s%s%s%s) of %s")
++ "GNU Emacs %s (%s%s%s%s)\n of %s, modified by Debian"
++ "GNU Emacs %s (%s%s%s%s) of %s, modified by Debian")
+ emacs-version
+ system-configuration
+ (cond ((featurep 'motif)
--- /dev/null
- From bc4a4c2ece7a047e0de8191514bdeac7d3c3a0a6 Mon Sep 17 00:00:00 2001
++From 6676f1cb9a837dc0cdcc3a36588c4e3a43287d0b 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 | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
+index f58303b6d76..408a4cd5a0d 100644
+--- a/admin/unidata/Makefile.in
++++ b/admin/unidata/Makefile.in
+@@ -53,16 +53,7 @@ am__v_at_1 =
+
+ .PHONY: all unifiles
+
+-all: ${top_srcdir}/src/macuvs.h unifiles ${unidir}/charscript.el
+-
+-## Specify .elc as an order-only prereq so as to not needlessly rebuild
+-## target just because the .elc is missing.
+-## Same with charprop.el below.
+-${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \
+- ${srcdir}/uvs.elc
+- $(AM_V_GEN)${emacs} -L ${srcdir} -l uvs \
+- --eval '(uvs-print-table-ivd (unmsys--file-name "${srcdir}/IVD_Sequences.txt") "Adobe-Japan1")' \
+- > $@
++all: unifiles ${unidir}/charscript.el
+
+ %.elc: %.el
+ $(AM_V_ELC)${emacs} -f batch-byte-compile $<
+@@ -122,7 +113,7 @@ maintainer-clean: distclean
+ ## change and it slows down bootstrap (a tiny bit).
+ ## Cf leim/ja-dic (which is much slower).
+ extraclean:
+- rm -f ${top_srcdir}/src/macuvs.h ${unidir}/charscript.el*
++ rm -f ${unidir}/charscript.el*
+ ifneq (,$(wildcard $(unidir)/charprop.el))
+ cd $(unidir) && \
+ rm -f `sed -n 's/^;; FILE: //p' < charprop.el` charprop.el
--- /dev/null
- From 3456bf7e394316db2cde7522f233cf5b2d5dda83 Mon Sep 17 00:00:00 2001
++From bf56e978684eeebc859fc70983a8805d8210b149 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/automated/package-test.el | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/test/automated/package-test.el b/test/automated/package-test.el
+index 637a94bb330..05272736881 100644
+--- a/test/automated/package-test.el
++++ b/test/automated/package-test.el
+@@ -149,7 +149,14 @@ package-test-fake-contents-file
+ ,@body)))
+
+ (when (file-directory-p package-test-user-dir)
+- (delete-directory package-test-user-dir t))
++ (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 47583d9d9a27fe9fa4fe96a932501497dc27af56 Mon Sep 17 00:00:00 2001
++From 933561a3372d684a5529d460145ca30c6a23802e Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Sat, 22 Apr 2017 12:02:00 -0500
+Subject: Don't provide openssl s_client as an option for ssl connections
+
+openssl s_client is no longer a default for ssl connections
+
+"s_client is a debug tool, it does not set up a secure connection, it
+ignores all errors and just continues. It also doesn't do checks it
+should be doing. This is all documented behaviour." -- Kurt Roeckx
+
+Bug-Debian: https://bugs.debian.org/766397
+---
+ lisp/net/tls.el | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/lisp/net/tls.el b/lisp/net/tls.el
+index 2273d1345d5..91a3f0b5739 100644
+--- a/lisp/net/tls.el
++++ b/lisp/net/tls.el
+@@ -78,8 +78,7 @@ tls-end-of-info
+
+ (defcustom tls-program
+ '("gnutls-cli --x509cafile %t -p %p %h"
+- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3"
+- "openssl s_client -connect %h:%p -no_ssl2 -ign_eof")
++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3")
+ "List of strings containing commands to start TLS stream to a host.
+ Each entry in the list is tried until a connection is successful.
+ %h is replaced with the server hostname, %p with the port to
+@@ -94,20 +93,17 @@ tls-program
+ '(choice
+ (const :tag "Default list of commands"
+ ("gnutls-cli --x509cafile %t -p %p %h"
+- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3"
+- "openssl s_client -CAfile %t -connect %h:%p -no_ssl2 -ign_eof"))
++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3"))
+ (list :tag "Choose commands"
+ :value
+ ("gnutls-cli --x509cafile %t -p %p %h"
+- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3"
+- "openssl s_client -connect %h:%p -no_ssl2 -ign_eof")
++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3")
+ (set :inline t
+ ;; FIXME: add brief `:tag "..."' descriptions.
+ ;; (repeat :inline t :tag "Other" (string))
+ ;; No trust check:
+ (const "gnutls-cli --insecure -p %p %h")
+- (const "gnutls-cli --insecure -p %p %h --protocols ssl3")
+- (const "openssl s_client -connect %h:%p -no_ssl2 -ign_eof"))
++ (const "gnutls-cli --insecure -p %p %h --protocols ssl3"))
+ (repeat :inline t :tag "Other" (string)))
+ (list :tag "List of commands"
+ (repeat :tag "Command" (string))))
+@@ -138,8 +134,7 @@ tls-checktrust
+
+ \(setq tls-program
+ \\='(\"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h\"
+- \"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3\"
+- \"openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2 -ign_eof\"))"
++ \"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3\"))"
+ :type '(choice (const :tag "Always" t)
+ (const :tag "Never" nil)
+ (const :tag "Ask" ask))
--- /dev/null
- From e0103758d20a59363b6a356e8d50d28cf25616b1 Mon Sep 17 00:00:00 2001
++From ab4d66e702754caec90d22a751d101cbe51a85ec Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@linux-m68k.org>
+Date: Tue, 25 Jul 2017 01:12:50 +0200
+Subject: A memory alignment problem causing m68k failures has been fixed
+
+This patch has been backported from upstream to fix m68k build
+failures:
+
+ Properly align global lispsym
+
+ * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
+ Lisp_Symbols inside struct.
+ * src/alloc.c (sweep_symbols): Update use of lispsym.
+ * src/lisp.h (builtin_lisp_symbol): Likewise.
+
+Origin: backport, commit: 7a4d9f6304cffa39642507609605bcbfa40d4675
+Bug-Debian: http://bugs.debian.org/868868
+Forwarded: not-needed
+---
+ lib-src/make-docfile.c | 4 +++-
+ src/alloc.c | 2 +-
+ src/lisp.h | 2 +-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
+index 29061b76b26..bd268553248 100644
+--- a/lib-src/make-docfile.c
++++ b/lib-src/make-docfile.c
+@@ -667,7 +667,9 @@ close_emacs_globals (ptrdiff_t num_symbols)
+ "#ifndef DEFINE_SYMBOLS\n"
+ "extern\n"
+ "#endif\n"
+- "struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[%td];\n"),
++ "struct {\n"
++ " struct Lisp_Symbol alignas (GCALIGNMENT) s;\n"
++ "} lispsym[%td];\n"),
+ num_symbols);
+ }
+
+diff --git a/src/alloc.c b/src/alloc.c
+index 68bee7728c0..9a96a425071 100644
+--- a/src/alloc.c
++++ b/src/alloc.c
+@@ -6823,7 +6823,7 @@ sweep_symbols (void)
+ symbol_free_list = NULL;
+
+ for (int i = 0; i < ARRAYELTS (lispsym); i++)
+- lispsym[i].gcmarkbit = 0;
++ lispsym[i].s.gcmarkbit = 0;
+
+ for (sblk = symbol_block; sblk; sblk = *sprev)
+ {
+diff --git a/src/lisp.h b/src/lisp.h
+index 5aee80cea11..08c40dc3795 100644
+--- a/src/lisp.h
++++ b/src/lisp.h
+@@ -1110,7 +1110,7 @@ make_lisp_symbol (struct Lisp_Symbol *sym)
+ INLINE Lisp_Object
+ builtin_lisp_symbol (int index)
+ {
+- return make_lisp_symbol (lispsym + index);
++ return make_lisp_symbol (&lispsym[index].s);
+ }
+
+ #define XSETINT(a, b) ((a) = make_number (b))
--- /dev/null
- From dfaa56fe12feedba0be460235a2309a93188509f Mon Sep 17 00:00:00 2001
++From 73a3fcd5d030f1b42424ab70ede79ea59e0c8e38 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Sat, 29 Jul 2017 11:50:27 -0500
+Subject: Don't downcase real xref in elisp-mode-tests
+
+The elisp-mode-tests should no longer fail on case sensitive
+filesystems when the build path contains uppercase characters.
+
+Previously the code was downcasing the path for both comparison and
+lookups.
+---
+ test/automated/elisp-mode-tests.el | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/test/automated/elisp-mode-tests.el b/test/automated/elisp-mode-tests.el
+index 605f9ca08df..805d9566e32 100644
+--- a/test/automated/elisp-mode-tests.el
++++ b/test/automated/elisp-mode-tests.el
+@@ -179,11 +179,15 @@ xref-elisp-test-descr-to-target
+ (defun xref-elisp-test-run (xrefs expected-xrefs)
+ (should (= (length xrefs) (length expected-xrefs)))
+ (while xrefs
+- (let* ((xref (pop xrefs))
++ (let* ((real-xref (pop xrefs))
++ (xref (clone real-xref))
+ (expected (pop expected-xrefs))
+ (expected-xref (or (when (consp expected) (car expected)) expected))
+ (expected-source (when (consp expected) (cdr expected))))
+
++ (setf (oref xref location)
++ (copy-xref-elisp-location (oref xref location)))
++
+ ;; Downcase the filenames for case-insensitive file systems.
+ (setf (xref-elisp-location-file (oref xref location))
+ (downcase (xref-elisp-location-file (oref xref location))))
+@@ -193,7 +197,7 @@ xref-elisp-test-run
+
+ (should (equal xref expected-xref))
+
+- (xref--goto-location (xref-item-location xref))
++ (xref--goto-location (xref-item-location real-xref))
+ (back-to-indentation)
+ (should (looking-at (or expected-source
+ (xref-elisp-test-descr-to-target expected)))))
--- /dev/null
- From 8900499027b692994a3b411954850c3672b9d2f6 Mon Sep 17 00:00:00 2001
++From 9f401bf21707b484aeb2d2f6c1ed2ce41c50f253 Mon Sep 17 00:00:00 2001
+From: Rob Browning <rlb@defaultvalue.org>
+Date: Sun, 30 Jul 2017 21:43:10 -0500
+Subject: Disable eieio-test-method-order-list-6
+
+The eieio-test-method-order-list-6 test has been disabled
+
+Its behavior is currently unpredictable.
+
+Bug: https://debbugs.gnu.org/27878
+Bug: https://debbugs.gnu.org/cgi/24503#21
+---
+ test/automated/eieio-test-methodinvoke.el | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/test/automated/eieio-test-methodinvoke.el b/test/automated/eieio-test-methodinvoke.el
+index 09edea461d1..ab3a4444ee0 100644
+--- a/test/automated/eieio-test-methodinvoke.el
++++ b/test/automated/eieio-test-methodinvoke.el
+@@ -189,16 +189,16 @@ make-instance
+ (cl-call-next-method)
+ )
+
+-(ert-deftest eieio-test-method-order-list-6 ()
+- (let ((eieio-test-method-order-list nil)
+- (ans '(
+- (:STATIC C)
+- (:STATIC C-base1)
+- (:STATIC C-base2)
+- )))
+- (C nil)
+- (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list))
+- (eieio-test-match ans)))
++;; (ert-deftest eieio-test-method-order-list-6 ()
++;; (let ((eieio-test-method-order-list nil)
++;; (ans '(
++;; (:STATIC C)
++;; (:STATIC C-base1)
++;; (:STATIC C-base2)
++;; )))
++;; (C nil)
++;; (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list))
++;; (eieio-test-match ans)))
+
+ ;;; Diamond Test
+ ;;
--- /dev/null
- From 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b Mon Sep 17 00:00:00 2001
++From e5a30a67a75250547d0676f9f9ede7eff57065a2 Mon Sep 17 00:00:00 2001
+From: Lars Ingebrigtsen <larsi@gnus.org>
+Date: Fri, 8 Sep 2017 20:23:31 -0700
+Subject: A remote execution exploit via enriched text has been blocked
+
+This upstream patch has been incorporated to fix the problem:
+
+ Remove unsafe enriched mode translations
+
+ * lisp/gnus/mm-view.el (mm-inline-text):
+ Do not worry about enriched or richtext type.
+ * lisp/textmodes/enriched.el (enriched-translations):
+ Remove translations for FUNCTION, display (Bug#28350).
+ (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
+
+Origin: backport, commit: 9ad0fcc54442a9a01d41be19880250783426db70)
+Bug: https://bugs.gnu.org/28350
+Bug-Debian: http://bugs.debian.org/875447
+Forwarded: not-needed
+---
+ lisp/gnus/mm-view.el | 4 ----
+ lisp/textmodes/enriched.el | 32 --------------------------------
+ 2 files changed, 36 deletions(-)
+
+diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
+index e5859d002cf..77ad271d1da 100644
+--- a/lisp/gnus/mm-view.el
++++ b/lisp/gnus/mm-view.el
+@@ -383,10 +383,6 @@ mm-inline-text
+ (goto-char (point-max))))
+ (save-restriction
+ (narrow-to-region b (point))
+- (when (member type '("enriched" "richtext"))
+- (set-text-properties (point-min) (point-max) nil)
+- (ignore-errors
+- (enriched-decode (point-min) (point-max))))
+ (mm-handle-set-undisplayer
+ handle
+ `(lambda ()
+diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
+index beb6c6dda39..a8f0d3891a8 100644
+--- a/lisp/textmodes/enriched.el
++++ b/lisp/textmodes/enriched.el
+@@ -117,12 +117,7 @@ enriched-translations
+ (full "flushboth")
+ (center "center"))
+ (PARAMETER (t "param")) ; Argument of preceding annotation
+- ;; The following are not part of the standard:
+- (FUNCTION (enriched-decode-foreground "x-color")
+- (enriched-decode-background "x-bg-color")
+- (enriched-decode-display-prop "x-display"))
+ (read-only (t "x-read-only"))
+- (display (nil enriched-handle-display-prop))
+ (unknown (nil format-annotate-value))
+ ; (font-size (2 "bigger") ; unimplemented
+ ; (-2 "smaller"))
+@@ -477,32 +472,5 @@ enriched-decode-background
+ (message "Warning: no color specified for <x-bg-color>")
+ nil))
+ \f
+-;;; Handling the `display' property.
+-
+-
+-(defun enriched-handle-display-prop (old new)
+- "Return a list of annotations for a change in the `display' property.
+-OLD is the old value of the property, NEW is the new value. Value
+-is a list `(CLOSE OPEN)', where CLOSE is a list of annotations to
+-close and OPEN a list of annotations to open. Each of these lists
+-has the form `(ANNOTATION PARAM ...)'."
+- (let ((annotation "x-display")
+- (param (prin1-to-string (or old new))))
+- (if (null old)
+- (cons nil (list (list annotation param)))
+- (cons (list (list annotation param)) nil))))
+-
+-(defun enriched-decode-display-prop (start end &optional param)
+- "Decode a `display' property for text between START and END.
+-PARAM is a `<param>' found for the property.
+-Value is a list `(START END SYMBOL VALUE)' with START and END denoting
+-the range of text to assign text property SYMBOL with value VALUE."
+- (let ((prop (when (stringp param)
+- (condition-case ()
+- (car (read-from-string param))
+- (error nil)))))
+- (unless prop
+- (message "Warning: invalid <x-display> parameter %s" param))
+- (list start end 'display prop)))
+
+ ;;; enriched.el ends here
--- /dev/null
- 0001-Prefer-usr-share-info-emacs-MAJORVERSION.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-Don-t-provide-openssl-s_client-as-an-option-for-ssl-.patch
+0009-A-memory-alignment-problem-causing-m68k-failures-has.patch
+0010-Don-t-downcase-real-xref-in-elisp-mode-tests.patch
+0011-Disable-eieio-test-method-order-list-6.patch
+0012-A-remote-execution-exploit-via-enriched-text-has-bee.patch