Followup-For: Bug #929567 Control: tag -1 pending Hi Rob,
I've prepared another update for emacs and uploaded it to DELAYED/10. I primarily want to get rid of all the transitional emacsXX* packages now that buster has been released, but I also included this RC bugfix. As usual, you can find the changes in my fork: https://salsa.debian.org/anbe/deb-emacs.git Andreas
diff -Nru emacs-26.1+1/debian/.git-dpm emacs-26.1+1/debian/.git-dpm --- emacs-26.1+1/debian/.git-dpm 2019-02-03 15:42:30.000000000 +0100 +++ emacs-26.1+1/debian/.git-dpm 2019-07-12 20:42:27.000000000 +0200 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -face2676a9d5a13b40eaeecfb09a16e81364e916 -face2676a9d5a13b40eaeecfb09a16e81364e916 +3cd4b72717032b17e596fce6f475f4a4029fa236 +3cd4b72717032b17e596fce6f475f4a4029fa236 511a2cebd6df0f71ec24b5939564fb58726ead84 511a2cebd6df0f71ec24b5939564fb58726ead84 emacs_26.1+1.orig.tar.xz diff -Nru emacs-26.1+1/debian/changelog emacs-26.1+1/debian/changelog --- emacs-26.1+1/debian/changelog 2019-02-03 15:42:30.000000000 +0100 +++ emacs-26.1+1/debian/changelog 2019-07-12 20:42:27.000000000 +0200 @@ -1,3 +1,14 @@ +emacs (1:26.1+1-3.3) unstable; urgency=medium + + * Non-maintainer upload. + + * Drop transitional versioned emacsXX* packages. + + * Cherry-pick 408bf21a8c and 95b77b0451 to fix crashes with color fonts, + thanks to Vincent Lefevre. (Closes: #929567) + + -- Andreas Beckmann <a...@debian.org> Fri, 12 Jul 2019 20:42:27 +0200 + emacs (1:26.1+1-3.2) unstable; urgency=medium * Non-maintainer upload. diff -Nru emacs-26.1+1/debian/control emacs-26.1+1/debian/control --- emacs-26.1+1/debian/control 2019-02-03 15:42:30.000000000 +0100 +++ emacs-26.1+1/debian/control 2019-07-12 20:42:27.000000000 +0200 @@ -114,20 +114,20 @@ emacs-gtk (<< 1:25), emacs-lucid (<< 1:25), emacs-nox (<< 1:25), - emacs21 (<< 1:25), - emacs21-nox (<< 1:25), - emacs22 (<< 1:25), - emacs22-gtk (<< 1:25), - emacs22-nox (<< 1:25), - emacs23 (<< 1:25), - emacs23-lucid (<< 1:25), - emacs23-nox (<< 1:25), - emacs24 (<< 1:25), - emacs24-lucid (<< 1:25), - emacs24-nox (<< 1:25), - emacs25 (<< 1:25), - emacs25-lucid (<< 1:25), - emacs25-nox (<< 1:25), + emacs21, + emacs21-nox, + emacs22, + emacs22-gtk, + emacs22-nox, + emacs23, + emacs23-lucid, + emacs23-nox, + emacs24, + emacs24-lucid, + emacs24-nox, + emacs25, + emacs25-lucid, + emacs25-nox, apel (<< 10.8+0.20120427-4), edb (<< 1.32), egg (<< 4.2.0-2), @@ -143,143 +143,3 @@ GNU Emacs is the extensible self-documenting text editor. This package contains the elisp sources for the convenience of users, saving space in the main package for small systems. - -Package: emacs21 -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs21 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs21-nox -Section: oldlibs -Architecture: all -Depends: emacs-nox (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-nox - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs21 - installed automatically upgrade to the new unversioned emacs-nox - package. - -Package: emacs22 -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs22 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs22-gtk -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs22 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs22-nox -Section: oldlibs -Architecture: all -Depends: emacs-nox (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-nox - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs22 - installed automatically upgrade to the new unversioned emacs-nox - package. - -Package: emacs23 -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs23 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs23-lucid -Section: oldlibs -Architecture: all -Depends: emacs-lucid (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-lucid - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs23 - installed automatically upgrade to the new unversioned emacs-lucid - package. - -Package: emacs23-nox -Section: oldlibs -Architecture: all -Depends: emacs-nox (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-nox - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs23 - installed automatically upgrade to the new unversioned emacs-nox - package. - -Package: emacs24 -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs24 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs24-lucid -Section: oldlibs -Architecture: all -Depends: emacs-lucid (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-lucid - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs24 - installed automatically upgrade to the new unversioned emacs-lucid - package. - -Package: emacs24-nox -Section: oldlibs -Architecture: all -Depends: emacs-nox (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-nox - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs24 - installed automatically upgrade to the new unversioned emacs-nox - package. - -Package: emacs25 -Section: oldlibs -Architecture: all -Depends: emacs-gtk (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-gtk - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs25 - installed automatically upgrade to the new unversioned emacs-gtk - package. - -Package: emacs25-lucid -Section: oldlibs -Architecture: all -Depends: emacs-lucid (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-lucid - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs25 - installed automatically upgrade to the new unversioned emacs-lucid - package. - -Package: emacs25-nox -Section: oldlibs -Architecture: all -Depends: emacs-nox (>= 1:25), ${misc:Depends} -Description: GNU Emacs transitional package to emacs-nox - GNU Emacs is the extensible self-documenting text editor. This - package is a transitional package to ensure that systems with emacs25 - installed automatically upgrade to the new unversioned emacs-nox - package. diff -Nru emacs-26.1+1/debian/patches/0015-Ignore-color-fonts-when-using-Xft.patch emacs-26.1+1/debian/patches/0015-Ignore-color-fonts-when-using-Xft.patch --- emacs-26.1+1/debian/patches/0015-Ignore-color-fonts-when-using-Xft.patch 1970-01-01 01:00:00.000000000 +0100 +++ emacs-26.1+1/debian/patches/0015-Ignore-color-fonts-when-using-Xft.patch 2019-07-12 20:42:27.000000000 +0200 @@ -0,0 +1,51 @@ +From 77f3313d9159759126188903933884b2d308c0f3 Mon Sep 17 00:00:00 2001 +From: Robert Pluim <rpl...@gmail.com> +Date: Tue, 3 Apr 2018 11:06:01 +0200 +Subject: Ignore color fonts when using Xft + +* src/font.c (syms_of_font): New configuration variable +xft-ignore-color-fonts, default t. +* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore +color fonts if xft-ignore-color-fonts is t. (Bug#30874, Bug#30045) +* etc/NEWS: Document xft-ignore-color-fonts. +--- + src/font.c | 7 +++++++ + src/ftfont.c | 7 +++++++ + 2 files changed, 14 insertions(+) + +diff --git a/src/font.c b/src/font.c +index a6d3f5d4798..ef3f92b5949 100644 +--- a/src/font.c ++++ b/src/font.c +@@ -5473,6 +5473,13 @@ Disabling compaction of font caches might enlarge the Emacs memory + footprint in sessions that use lots of different fonts. */); + inhibit_compacting_font_caches = 0; + ++ DEFVAR_BOOL ("xft-ignore-color-fonts", ++ Vxft_ignore_color_fonts, ++ doc: /* ++Non-nil means don't query fontconfig for color fonts, since they often ++cause Xft crashes. Only has an effect in Xft builds. */); ++ Vxft_ignore_color_fonts = 1; ++ + #ifdef HAVE_WINDOW_SYSTEM + #ifdef HAVE_FREETYPE + syms_of_ftfont (); +diff --git a/src/ftfont.c b/src/ftfont.c +index c2e093e633d..24a92dd52e8 100644 +--- a/src/ftfont.c ++++ b/src/ftfont.c +@@ -764,6 +764,13 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots + if (scalable >= 0 + && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse)) + goto err; ++#ifdef HAVE_XFT ++ /* We really don't like color fonts, they cause Xft crashes. See ++ Bug#30874. */ ++ if (Vxft_ignore_color_fonts ++ && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse)) ++ goto err; ++#endif + + goto finish; + diff -Nru emacs-26.1+1/debian/patches/0016-Port-FC_COLOR-change-to-older-fontconfig.patch emacs-26.1+1/debian/patches/0016-Port-FC_COLOR-change-to-older-fontconfig.patch --- emacs-26.1+1/debian/patches/0016-Port-FC_COLOR-change-to-older-fontconfig.patch 1970-01-01 01:00:00.000000000 +0100 +++ emacs-26.1+1/debian/patches/0016-Port-FC_COLOR-change-to-older-fontconfig.patch 2019-07-12 20:42:27.000000000 +0200 @@ -0,0 +1,29 @@ +From 3cd4b72717032b17e596fce6f475f4a4029fa236 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <egg...@cs.ucla.edu> +Date: Tue, 3 Apr 2018 08:12:41 -0700 +Subject: Port FC_COLOR change to older fontconfig +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by John ff in: +https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html +* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]: +Don’t use FC_COLOR on older fontconfigs that don’t have it. +--- + src/ftfont.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ftfont.c b/src/ftfont.c +index 24a92dd52e8..84e4a303899 100644 +--- a/src/ftfont.c ++++ b/src/ftfont.c +@@ -764,7 +764,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots + if (scalable >= 0 + && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse)) + goto err; +-#ifdef HAVE_XFT ++#if defined HAVE_XFT && defined FC_COLOR + /* We really don't like color fonts, they cause Xft crashes. See + Bug#30874. */ + if (Vxft_ignore_color_fonts diff -Nru emacs-26.1+1/debian/patches/series emacs-26.1+1/debian/patches/series --- emacs-26.1+1/debian/patches/series 2019-02-03 15:42:30.000000000 +0100 +++ emacs-26.1+1/debian/patches/series 2019-07-12 20:42:27.000000000 +0200 @@ -12,3 +12,5 @@ 0012-ibuffer-filter-inclusion-3-regexp-quote-directory.patch 0013-Mark-echo-server-with-dns-test-as-unstable-for-now.patch 0014-Fix-an-eshell-ls-dired-test-for-non-recent-files.patch +0015-Ignore-color-fonts-when-using-Xft.patch +0016-Port-FC_COLOR-change-to-older-fontconfig.patch