diff options
author | Ulrich Müller <ulm@gentoo.org> | 2023-07-30 09:55:35 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2023-07-30 09:55:35 +0200 |
commit | b0e1d5433f4f34744c2fdd5edbaa2fd1d4663ddd (patch) | |
tree | 2d08af5a6d84c8c8be7d91701f5515d2537c9499 /emacs | |
parent | Fix D-Bus session bus issue when running as a daemon (diff) | |
download | emacs-patches-b0e1d5433f4f34744c2fdd5edbaa2fd1d4663ddd.tar.gz emacs-patches-b0e1d5433f4f34744c2fdd5edbaa2fd1d4663ddd.tar.bz2 emacs-patches-b0e1d5433f4f34744c2fdd5edbaa2fd1d4663ddd.zip |
29.1: Fix modeline problemsemacs-29.1-patches-1
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/29.1/01_all_xdisp-segfault.patch | 32 | ||||
-rw-r--r-- | emacs/29.1/02_all_modeline.patch | 28 |
2 files changed, 60 insertions, 0 deletions
diff --git a/emacs/29.1/01_all_xdisp-segfault.patch b/emacs/29.1/01_all_xdisp-segfault.patch new file mode 100644 index 0000000..835185b --- /dev/null +++ b/emacs/29.1/01_all_xdisp-segfault.patch @@ -0,0 +1,32 @@ +Fix segmentation fault due to invalid mode-line-format +Patch backported from master branch +https://debbugs.gnu.org/64893 + +commit 7ea3f39deec3d54914077455e70605a14eb7d200 +Author: Eli Zaretskii <eliz@gnu.org> +Date: Thu Jul 27 15:34:38 2023 +0300 + + Avoid crashes due to invalid 'mode-line-format' + + * src/xdisp.c (display_mode_element, redisplay_window_error): + Don't take XCAR of what can be Qnil. (Bug#64893) + +--- emacs-29.1/src/xdisp.c ++++ emacs-29.1/src/xdisp.c +@@ -17601,6 +17601,7 @@ redisplay_window_error (Lisp_Object erro + if (max_redisplay_ticks > 0 + && CONSP (error_data) + && EQ (XCAR (error_data), Qerror) ++ && CONSP (XCDR (error_data)) + && STRINGP (XCAR (XCDR (error_data)))) + Vdelayed_warnings_list = Fcons (list2 (XCAR (error_data), + XCAR (XCDR (error_data))), +@@ -27091,7 +27092,7 @@ display_mode_element (struct it *it, int + + oprops = Fcopy_sequence (oprops); + tem = props; +- while (CONSP (tem)) ++ while (CONSP (tem) && CONSP (XCDR (tem))) + { + oprops = plist_put (oprops, XCAR (tem), + XCAR (XCDR (tem))); diff --git a/emacs/29.1/02_all_modeline.patch b/emacs/29.1/02_all_modeline.patch new file mode 100644 index 0000000..d51a79e --- /dev/null +++ b/emacs/29.1/02_all_modeline.patch @@ -0,0 +1,28 @@ +Avoid spurious whitespace in the modeline +Patch backported from master branch +https://debbugs.gnu.org/58183 + +commit 8c3338f6ba354218aee12c223d778be4180f892b +Author: Ulrich Müller <ulm@gentoo.org> +Date: Fri Jul 28 12:21:42 2023 +0200 + + Avoid spurious whitespace in the modeline of emacsclient frames + + * lisp/bindings.el (mode-line-client): Compute 'help-echo text + property in advance. (Bug#58183) + +--- emacs-29/lisp/bindings.el ++++ emacs-29/lisp/bindings.el +@@ -226,9 +226,9 @@ mode-line-mule-info + (put 'mode-line-mule-info 'risky-local-variable t) + + (defvar mode-line-client +- `("" +- (:propertize ("" (:eval (if (frame-parameter nil 'client) "@" ""))) +- help-echo ,(purecopy "emacsclient frame"))) ++ `(:eval ++ (if (frame-parameter nil 'client) ++ ,(propertize "@" 'help-echo (purecopy "emacsclient frame")))) + "Mode line construct for identifying emacsclient frames.") + ;; Autoload if this file no longer dumped. + ;;;###autoload |