mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-28 08:11:05 -08:00
(Frassoc): New function.
(syms_of_fns): defsubr it.
This commit is contained in:
parent
c6f5b077fe
commit
0fb5a19cb5
1 changed files with 22 additions and 1 deletions
23
src/fns.c
23
src/fns.c
|
|
@ -569,7 +569,7 @@ assq_no_quit (key, list)
|
|||
|
||||
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 @@ The value is actually the element of LIST whose cdr is ELT.")
|
|||
}
|
||||
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 @@ Used by `featurep' and `require', and altered by `provide'.");
|
|||
defsubr (&Sassq);
|
||||
defsubr (&Sassoc);
|
||||
defsubr (&Srassq);
|
||||
defsubr (&Srassoc);
|
||||
defsubr (&Sdelq);
|
||||
defsubr (&Sdelete);
|
||||
defsubr (&Snreverse);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue