guix/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
Leo Prikler f574f859ee
gnu: emacs: Ignore empty XIM styles.
As of libx11 version 1.6.10, xim may be NULL, which causes a segmentation
fault in the execution of ARRAYELTS.  As a cautionary measure, we
short-circuit this logic.

* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: New file.
* gnu/packages/emacs.scm (emacs emacs-next)[patches]: Use it.
* gnu/local.mk: Register it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-08-03 12:26:02 +02:00

24 lines
698 B
Diff

Fix contributed upstream here:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42694.
Index: emacs-26.3/src/xfns.c
===================================================================
--- emacs-26.3.orig/src/xfns.c
+++ emacs-26.3/src/xfns.c
@@ -2533,6 +2533,8 @@ xic_free_xfontset (struct frame *f)
static XIMStyle
best_xim_style (XIMStyles *xim)
{
+ if (xim == NULL) goto out;
+
int i, j;
int nr_supported = ARRAYELTS (supported_xim_styles);
@@ -2541,6 +2543,7 @@ best_xim_style (XIMStyles *xim)
if (supported_xim_styles[i] == xim->supported_styles[j])
return supported_xim_styles[i];
+ out:
/* Return the default style. */
return XIMPreeditNothing | XIMStatusNothing;
}