Skip to content

Commit

Permalink
Improve documentation of 'assoc'
Browse files Browse the repository at this point in the history
* doc/lispref/lists.texi (Association Lists):
* src/fns.c (Fassoc): Document how TESTFN is called.  (Bug#50110)
  • Loading branch information
Eli-Zaretskii committed Aug 18, 2021
1 parent 91f549b commit 78b4276
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
10 changes: 6 additions & 4 deletions doc/lispref/lists.texi
Expand Up @@ -1557,10 +1557,12 @@ of property lists and association lists.
@defun assoc key alist &optional testfn
This function returns the first association for @var{key} in
@var{alist}, comparing @var{key} against the alist elements using
@var{testfn} if it is non-@code{nil} and @code{equal} otherwise
(@pxref{Equality Predicates}). It returns @code{nil} if no
association in @var{alist} has a @sc{car} equal to @var{key}. For
example:
@var{testfn} if it is a function, and @code{equal} otherwise
(@pxref{Equality Predicates}). If @var{testfn} is a function, it is
called with two arguments: the @sc{car} of an element from @var{alist}
and @var{key}. The function returns @code{nil} if no
association in @var{alist} has a @sc{car} equal to @var{key}, as
tested by @var{testfn}. For example:

@smallexample
(setq trees '((pine . cones) (oak . acorns) (maple . seeds)))
Expand Down
3 changes: 2 additions & 1 deletion src/fns.c
Expand Up @@ -1755,7 +1755,8 @@ DEFUN ("assoc", Fassoc, Sassoc, 2, 3, 0,
doc: /* Return non-nil if KEY is equal to the car of an element of ALIST.
The value is actually the first element of ALIST whose car equals KEY.
Equality is defined by TESTFN if non-nil or by `equal' if nil. */)
Equality is defined by the function TESTFN, defaulting to `equal'.
TESTFN is called with 2 arguments: a car of an alist element and KEY. */)
(Lisp_Object key, Lisp_Object alist, Lisp_Object testfn)
{
if (eq_comparable_value (key) && NILP (testfn))
Expand Down

0 comments on commit 78b4276

Please sign in to comment.