emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 83f1e4b: Fix issues with type casting in delayed message function


From: Lars Ingebrigtsen
Subject: master 83f1e4b: Fix issues with type casting in delayed message functions
Date: Sun, 24 Oct 2021 20:19:50 -0400 (EDT)

branch: master
commit 83f1e4b3bcb9e651267adba79fed0a229263183e
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix issues with type casting in delayed message functions
    
    * src/eval.c (with_delayed_message_display)
    (with_delayed_message_cancel, Ffuncall_with_delayed_message): Fix
    some type confusion.
---
 src/eval.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/eval.c b/src/eval.c
index 110b67b..94ad060 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1082,12 +1082,13 @@ usage: (while TEST BODY...)  */)
 static void
 with_delayed_message_display (struct atimer *timer)
 {
-  message3 (timer->client_data);
+  message3 (build_string (timer->client_data));
 }
 
 static void
 with_delayed_message_cancel (void *timer)
 {
+  xfree (((struct atimer *) timer)->client_data);
   cancel_atimer (timer);
 }
 
@@ -1111,13 +1112,11 @@ is not displayed.  */)
   struct timespec interval = dtotimespec (XFLOATINT (timeout));
   struct atimer *timer = start_atimer (ATIMER_RELATIVE, interval,
                                       with_delayed_message_display,
-                                      message);
+                                      xstrdup (SSDATA (message)));
   record_unwind_protect_ptr (with_delayed_message_cancel, timer);
 
   Lisp_Object result = CALLN (Ffuncall, function);
 
-  cancel_atimer (timer);
-
   return unbind_to (count, result);
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]