Mercurial > emacs
diff 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 |
line wrap: on
line diff
--- a/src/fns.c Sun Jan 29 10:15:51 1995 +0000 +++ b/src/fns.c Sun Jan 29 22:04:10 1995 +0000 @@ -569,7 +569,7 @@ DEFUN ("assoc", Fassoc, Sassoc, 2, 2, 0, "Return non-nil if KEY is `equal' to the car of an element of LIST.\n\ -The value is actually the element of LIST whose car is KEY.") +The value is actually the element of LIST whose car equals KEY.") (key, list) register Lisp_Object key; Lisp_Object list; @@ -606,6 +606,26 @@ } return Qnil; } + +DEFUN ("rassoc", Frassoc, Srassoc, 2, 2, 0, + "Return non-nil if KEY is `equal' to the cdr of an element of LIST.\n\ +The value is actually the element of LIST whose cdr equals KEY.") + (key, list) + register Lisp_Object key; + Lisp_Object list; +{ + register Lisp_Object tail; + for (tail = list; !NILP (tail); tail = Fcdr (tail)) + { + register Lisp_Object elt, tem; + elt = Fcar (tail); + if (!CONSP (elt)) continue; + tem = Fequal (Fcdr (elt), key); + if (!NILP (tem)) return elt; + QUIT; + } + return Qnil; +} DEFUN ("delq", Fdelq, Sdelq, 2, 2, 0, "Delete by side effect any occurrences of ELT as a member of LIST.\n\ @@ -1464,6 +1484,7 @@ defsubr (&Sassq); defsubr (&Sassoc); defsubr (&Srassq); + defsubr (&Srassoc); defsubr (&Sdelq); defsubr (&Sdelete); defsubr (&Snreverse);
