comparison src/fns.c @ 1919:51be204d02a0

* fns.c (Fequal): Call internal_equal to recurse on elements of lists and vectors, not Fequal.
author Jim Blandy <jimb@redhat.com>
date Mon, 22 Feb 1993 14:41:57 +0000
parents 001382595e48
children eedbad26e34c
comparison
equal deleted inserted replaced
1918:699ae3079c09 1919:51be204d02a0
845 #endif 845 #endif
846 if (XTYPE (o1) != XTYPE (o2)) return Qnil; 846 if (XTYPE (o1) != XTYPE (o2)) return Qnil;
847 if (XTYPE (o1) == Lisp_Cons) 847 if (XTYPE (o1) == Lisp_Cons)
848 { 848 {
849 Lisp_Object v1; 849 Lisp_Object v1;
850 v1 = Fequal (Fcar (o1), Fcar (o2), depth + 1); 850 v1 = internal_equal (Fcar (o1), Fcar (o2), depth + 1);
851 if (NILP (v1)) 851 if (NILP (v1))
852 return v1; 852 return v1;
853 o1 = Fcdr (o1), o2 = Fcdr (o2); 853 o1 = Fcdr (o1), o2 = Fcdr (o2);
854 goto do_cdr; 854 goto do_cdr;
855 } 855 }
868 for (index = 0; index < XVECTOR (o1)->size; index++) 868 for (index = 0; index < XVECTOR (o1)->size; index++)
869 { 869 {
870 Lisp_Object v, v1, v2; 870 Lisp_Object v, v1, v2;
871 v1 = XVECTOR (o1)->contents [index]; 871 v1 = XVECTOR (o1)->contents [index];
872 v2 = XVECTOR (o2)->contents [index]; 872 v2 = XVECTOR (o2)->contents [index];
873 v = Fequal (v1, v2, depth + 1); 873 v = internal_equal (v1, v2, depth + 1);
874 if (NILP (v)) return v; 874 if (NILP (v)) return v;
875 } 875 }
876 return Qt; 876 return Qt;
877 } 877 }
878 if (XTYPE (o1) == Lisp_String) 878 if (XTYPE (o1) == Lisp_String)