summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2023-07-30 09:55:35 +0200
committerUlrich Müller <ulm@gentoo.org>2023-07-30 09:55:35 +0200
commitb0e1d5433f4f34744c2fdd5edbaa2fd1d4663ddd (patch)
tree2d08af5a6d84c8c8be7d91701f5515d2537c9499
parentFix D-Bus session bus issue when running as a daemon (diff)
downloademacs-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>
-rw-r--r--emacs/29.1/01_all_xdisp-segfault.patch32
-rw-r--r--emacs/29.1/02_all_modeline.patch28
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