mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-08 20:30:05 -05:00
f574f859ee
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>
24 lines
698 B
Diff
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;
|
|
}
|