Subject: Re: bug#26961: 26.0.50; Possible timming issue in regex-tests.el

From: Tino Calancha <[email-masked]>
Date: Fri, 19 May 2017 12:31:10 +0900

Eli Zaretskii <[email-masked]> writes:

>> From: Tino Calancha <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> Date: Thu, 18 May 2017 16:00:31 +0900
>> 
>> The problem arise from the recursive call in mark_object:
>> mark_object (ptr->car);
>
> The recursive call cannot be the problem, as GC in general and
> mark_object in particular are by definition recursive.  The problem is
> elsewhere, and to track it down you need to look at the object that
> causes the problem.

Following diff hunk from commit
'Improve unescaped character literal warnings'
(16004397f4)
seems the origin of the problem: those lists with
defsym's in their heads.

diff --git a/src/lread.c b/src/lread.c
--- a/src/lread.c
+++ b/src/lread.c
@@ -963,9 +963,11 @@ load_warn_unescaped_character_literals (Lisp_Object file)
   AUTO_STRING (format,
                "Loading `%s': unescaped character literals %s detected!");
   AUTO_STRING (separator, ", ");
+  AUTO_STRING (inner_format, "`?%c'");
   CALLN (Fmessage,
          format, file,
-         Fmapconcat (Qstring,
+         Fmapconcat (list3 (Qlambda, list1 (Qchar),
+                            list3 (Qformat, inner_format, Qchar)),
                      Fsort (Vlread_unescaped_character_literals, Qlss),
                      separator));
 }

Do you think this code is wrong?