comparison src/fns.c @ 10588:2a8f29cd9e9f

(Frassoc): New function. (syms_of_fns): defsubr it.
author Richard M. Stallman <rms@gnu.org>
date Sun, 29 Jan 1995 22:04:10 +0000
parents 40c59e55775a
children 1a13a256f976
comparison
equal deleted inserted replaced
10587:99b9f20b6921 10588:2a8f29cd9e9f
567 return Qnil; 567 return Qnil;
568 } 568 }
569 569
570 DEFUN ("assoc", Fassoc, Sassoc, 2, 2, 0, 570 DEFUN ("assoc", Fassoc, Sassoc, 2, 2, 0,
571 "Return non-nil if KEY is `equal' to the car of an element of LIST.\n\ 571 "Return non-nil if KEY is `equal' to the car of an element of LIST.\n\
572 The value is actually the element of LIST whose car is KEY.") 572 The value is actually the element of LIST whose car equals KEY.")
573 (key, list) 573 (key, list)
574 register Lisp_Object key; 574 register Lisp_Object key;
575 Lisp_Object list; 575 Lisp_Object list;
576 { 576 {
577 register Lisp_Object tail; 577 register Lisp_Object tail;
600 register Lisp_Object elt, tem; 600 register Lisp_Object elt, tem;
601 elt = Fcar (tail); 601 elt = Fcar (tail);
602 if (!CONSP (elt)) continue; 602 if (!CONSP (elt)) continue;
603 tem = Fcdr (elt); 603 tem = Fcdr (elt);
604 if (EQ (key, tem)) return elt; 604 if (EQ (key, tem)) return elt;
605 QUIT;
606 }
607 return Qnil;
608 }
609
610 DEFUN ("rassoc", Frassoc, Srassoc, 2, 2, 0,
611 "Return non-nil if KEY is `equal' to the cdr of an element of LIST.\n\
612 The value is actually the element of LIST whose cdr equals KEY.")
613 (key, list)
614 register Lisp_Object key;
615 Lisp_Object list;
616 {
617 register Lisp_Object tail;
618 for (tail = list; !NILP (tail); tail = Fcdr (tail))
619 {
620 register Lisp_Object elt, tem;
621 elt = Fcar (tail);
622 if (!CONSP (elt)) continue;
623 tem = Fequal (Fcdr (elt), key);
624 if (!NILP (tem)) return elt;
605 QUIT; 625 QUIT;
606 } 626 }
607 return Qnil; 627 return Qnil;
608 } 628 }
609 629
1462 defsubr (&Smember); 1482 defsubr (&Smember);
1463 defsubr (&Smemq); 1483 defsubr (&Smemq);
1464 defsubr (&Sassq); 1484 defsubr (&Sassq);
1465 defsubr (&Sassoc); 1485 defsubr (&Sassoc);
1466 defsubr (&Srassq); 1486 defsubr (&Srassq);
1487 defsubr (&Srassoc);
1467 defsubr (&Sdelq); 1488 defsubr (&Sdelq);
1468 defsubr (&Sdelete); 1489 defsubr (&Sdelete);
1469 defsubr (&Snreverse); 1490 defsubr (&Snreverse);
1470 defsubr (&Sreverse); 1491 defsubr (&Sreverse);
1471 defsubr (&Ssort); 1492 defsubr (&Ssort);