]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of 'assoc'
authorEli Zaretskii <eliz@gnu.org>
Wed, 18 Aug 2021 19:07:30 +0000 (22:07 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 18 Aug 2021 19:07:30 +0000 (22:07 +0300)
* doc/lispref/lists.texi (Association Lists):
* src/fns.c (Fassoc): Document how TESTFN is called.  (Bug#50110)

doc/lispref/lists.texi
src/fns.c

index ac99835f7b39ac8a315a83e108127ea20939fbd8..bbe1dce42d84d24c7e33d8fdc9eec941dec623e4 100644 (file)
@@ -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)))
index 932800a3a49640a53291ca1c34035c33c308833c..5126439fd66b62dff4adc3e9a63b0d408869d51a 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -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))