]> git.eshelyaron.com Git - emacs.git/commitdiff
Automatically detect cyclic lists in some Haiku functions
authorPo Lu <luangruo@yahoo.com>
Tue, 28 Jun 2022 05:43:13 +0000 (05:43 +0000)
committerPo Lu <luangruo@yahoo.com>
Tue, 28 Jun 2022 07:30:02 +0000 (07:30 +0000)
* src/haikuselect.c (haiku_lisp_to_message): Use FOR_EACH_TAIL
to iterate over message data.

src/haikuselect.c

index 96223902f8c176ea2c8a652b944f5a3a24987cf4..fe76e09810caeeaff7b1713133f6d13f3f2f3407 100644 (file)
@@ -441,10 +441,10 @@ haiku_lisp_to_message (Lisp_Object obj, void *message)
   int rc;
   specpdl_ref ref;
 
-  CHECK_LIST (obj);
-  for (tem = obj; CONSP (tem); tem = XCDR (tem))
+  tem = obj;
+
+  FOR_EACH_TAIL (tem)
     {
-      maybe_quit ();
       t1 = XCAR (tem);
       CHECK_CONS (t1);
 
@@ -490,9 +490,9 @@ haiku_lisp_to_message (Lisp_Object obj, void *message)
        signal_error ("Unknown data type", type_sym);
 
       CHECK_LIST (t1);
-      for (t2 = XCDR (t1); CONSP (t2); t2 = XCDR (t2))
+      t2 = XCDR (t1);
+      FOR_EACH_TAIL (t2)
        {
-         maybe_quit ();
          data = XCAR (t2);
 
          if (FIXNUMP (type_sym) || BIGNUMP (type_sym))