Mercurial > emacs
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) |