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

Reply via email to