Function: memql
memql is a function defined in fns.c.
Signature
(memql ELT LIST)
Documentation
Return non-nil if ELT is an element of LIST. Comparison done with eql.
The value is actually the tail of LIST whose car is ELT.
Other relevant functions are documented in the list group.
Probably introduced at or before Emacs version 22.1.
Shortdoc
;; list
(memql 2.0 '(1.0 2.0 3.0))
=> (2.0 3.0)
Source Code
// Defined in /usr/src/emacs/src/fns.c
{
Lisp_Object tail = list;
if (FLOATP (elt))
{
FOR_EACH_TAIL (tail)
{
Lisp_Object tem = XCAR (tail);
if (FLOATP (tem) && same_float (elt, tem))
return tail;
}
}
else if (BIGNUMP (elt))
{
FOR_EACH_TAIL (tail)
{
Lisp_Object tem = XCAR (tail);
if (BIGNUMP (tem)
&& mpz_cmp (*xbignum_val (elt), *xbignum_val (tem)) == 0)
return tail;
}
}
else
return Fmemq (elt, list);
CHECK_LIST_END (tail, list);
return Qnil;
}