]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fset_match_data): Be sure to make search_regs always sane.
authorKenichi Handa <handa@m17n.org>
Mon, 30 Oct 2000 04:10:22 +0000 (04:10 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 30 Oct 2000 04:10:22 +0000 (04:10 +0000)
src/search.c

index ceeaef810e66d27682d9c6976ce45b0c14618354..27b9b8181ca96560001d97bb14d803fe001712fb 100644 (file)
@@ -2746,6 +2746,9 @@ LIST should have been created by calling `match-data' previously.")
                                       length * sizeof (regoff_t));
          }
 
+       for (i = search_regs.num_regs; i < length; i++)
+         search_regs.start[i] = -1;
+
        search_regs.num_regs = length;
       }
   }
@@ -2760,6 +2763,8 @@ LIST should have been created by calling `match-data' previously.")
        }
       else
        {
+         int from;
+
          if (MARKERP (marker))
            {
              if (XMARKER (marker)->buffer == 0)
@@ -2769,7 +2774,7 @@ LIST should have been created by calling `match-data' previously.")
            }
 
          CHECK_NUMBER_COERCE_MARKER (marker, 0);
-         search_regs.start[i] = XINT (marker);
+         from = XINT (marker);
          list = Fcdr (list);
 
          marker = Fcar (list);
@@ -2777,6 +2782,7 @@ LIST should have been created by calling `match-data' previously.")
            XSETFASTINT (marker, 0);
 
          CHECK_NUMBER_COERCE_MARKER (marker, 0);
+         search_regs.start[i] = from;
          search_regs.end[i] = XINT (marker);
        }
       list = Fcdr (list);