Skip to content
Snippets Groups Projects
Commit fe9e074f authored by Shironeko's avatar Shironeko
Browse files

upgpkg: 27.2-1

parent 9e9cb402
No related branches found
No related tags found
No related merge requests found
From f21fa142aca53e3de5783e1ce6fe1bf116174aeb Mon Sep 17 00:00:00 2001
From: Robert Pluim <rpluim@gmail.com>
Date: Tue, 3 Apr 2018 11:06:01 +0200
Subject: [PATCH] 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.
---
etc/NEWS | 6 ++++++
src/font.c | 7 +++++++
src/ftfont.c | 7 +++++++
3 files changed, 20 insertions(+)
diff --git a/etc/NEWS b/etc/NEWS
index 873e2dfd1d..2bec8de0ea 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -31,6 +31,12 @@ in its NEWS.)
* Changes in Emacs 26.2
+---
+** New variable 'xft-ignore-color-fonts'.
+Default t means don't try to load color fonts when using Xft, as they
+often cause crashes. Set it to nil if you really need those fonts.
+(Bug#30874)
+
* Editing Changes in Emacs 26.2
diff --git a/src/font.c b/src/font.c
index e53935a15c..305bb14576 100644
--- a/src/font.c
+++ b/src/font.c
@@ -5476,6 +5476,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 c2e093e633..24a92dd52e 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;
--
2.17.1
From 97d61f878e6378efbde73923a36f71caac73a4a0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 3 Apr 2018 08:12:41 -0700
Subject: [PATCH] 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 24a92dd52e..84e4a30389 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
--
2.17.1
From acaebed014951fdd13855aa7bba9aee60618785f Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Tue, 3 Apr 2018 19:59:40 +0300
Subject: [PATCH] ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace.
---
src/ftfont.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ftfont.c b/src/ftfont.c
index 84e4a30389..8f048d2983 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -768,7 +768,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
/* We really don't like color fonts, they cause Xft crashes. See
Bug#30874. */
if (Vxft_ignore_color_fonts
- && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse))
+ && ! FcPatternAddBool (pattern, FC_COLOR, FcFalse))
goto err;
#endif
--
2.17.1
# Maintainer: Shironeko <shironeko(at)tesaguri.club>
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
pkgname=emacs
pkgver=27.2
pkgrel=1
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch=('x86_64')
url="https://www.gnu.org/software/emacs/emacs.html"
license=('GPL3')
depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'gnutls' 'jansson' 'cairo' 'harfbuzz')
#validpgpkeys=('E6C9029C363AD41D787A8EBB91C1262F01EB8D39' '28D3BED851FDF3AB57FEF93C233587A47C207910')
source=(https://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz)
sha1sums=('8d18e2bfb6e28cf060ce7587290954e9c582aa25')
build() {
cd "$srcdir"/$pkgname-$pkgver
ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int \
--with-modules --with-cairo --with-harfbuzz --disable-libsystemd
make
}
package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install
# remove conflict with ctags package
mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
# fix user/root permissions on usr/share files
find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;
}
groups=('shironeko')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment