in the same order as in the first list.
+2002-05-11 Andreas Schwab <schwab@suse.de>
+
+ * coding.c (intersection): Keep the elements of the returned list
+ in the same order as in the first list.
+
2002-05-11 Kim F. Storm <storm@cua.dk>
* keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
intersection (l1, l2)
Lisp_Object l1, l2;
{
- Lisp_Object val;
+ Lisp_Object val = Fcons (Qnil, Qnil), tail;
- for (val = Qnil; CONSP (l1); l1 = XCDR (l1))
+ for (tail = val; CONSP (l1); l1 = XCDR (l1))
{
if (!NILP (Fmemq (XCAR (l1), l2)))
- val = Fcons (XCAR (l1), val);
+ {
+ XSETCDR (tail, Fcons (XCAR (l1), Qnil));
+ tail = XCDR (tail);
+ }
}
- return val;
+ return XCDR (val);
}