mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 22:38:07 -05:00
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>
This commit is contained in:
parent
87194d5783
commit
f574f859ee
3 changed files with 27 additions and 0 deletions
|
@ -917,6 +917,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
|
||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-ignore-empty-xim-styles.patch \
|
||||
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
|
||||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
|
||||
|
|
|
@ -85,6 +85,7 @@ (define-public emacs
|
|||
"119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))
|
||||
(patches (search-patches "emacs-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-ignore-empty-xim-styles.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -261,6 +262,7 @@ (define-public emacs-next
|
|||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "emacs27-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-ignore-empty-xim-styles.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
(modules (origin-modules (package-source emacs)))
|
||||
;; TODO: once the snippet for `emacs' is changed to not fail when
|
||||
|
|
24
gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
Normal file
24
gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
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;
|
||||
}
|
Loading…
Reference in a new issue