# HG changeset patch # User Kim F. Storm # Date 1160496717 0 # Node ID c8f96b8b18b7496eb3538d2d892d603f7172f09e # Parent 0c1743a61b91f25ff850d2ac01b7e58f69f3c5fb (Sets And Lists): Add memql. diff -r 0c1743a61b91 -r c8f96b8b18b7 lispref/lists.texi --- a/lispref/lists.texi Tue Oct 10 16:11:48 2006 +0000 +++ b/lispref/lists.texi Tue Oct 10 16:11:57 2006 +0000 @@ -1395,6 +1395,27 @@ destructively. See @ref{Sets And Lists}. @end defun +@defun memql object list +The function @code{member} tests to see whether @var{object} is a member +of @var{list}, comparing members with @var{object} using @code{eql}, +so floating point elements are compared by value. +If @var{object} is a member, @code{memql} returns a list starting with +its first occurrence in @var{list}. Otherwise, it returns @code{nil}. + +Compare this with @code{memq}: + +@example +@group +(memql 1.2 '(1.1 1.2 1.3) ; @r{@code{1.2} and @code{1.2} are @code{eql}.} + @result{} (1.2 1.3) +@end group +@group +(memq 1.2 '(1.1 1.2 1.3) ; @r{@code{1.2} and @code{1.2} are not @code{eq}.} + @result{} nil +@end group +@end example +@end defun + The following three functions are like @code{memq}, @code{delq} and @code{remq}, but use @code{equal} rather than @code{eq} to compare elements. @xref{Equality Predicates}.