Improve recent doc fix for cl-reduce

* lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
:INITIAL-VALUE when :FROM-END is non-nil.  Improve wording when SEQ
is empty and :INITIAL-VALUE is unspecified (bug#37400).  Describe
behavior when SEQ comprises a single element.
This commit is contained in:
Basil L. Contovounesios 2019-10-07 17:54:18 +01:00
parent 6fe58ff088
commit bb59647420

View file

@ -129,14 +129,16 @@ second element of SEQ, then calling FUNCTION with that result and
the third element of SEQ, then with that result and the fourth
element of SEQ, etc.
If :INITIAL-VALUE is specified, it is added to the front of SEQ.
If SEQ is empty, return :INITIAL-VALUE and FUNCTION is not
called.
If :INITIAL-VALUE is specified, it is logically added to the
front of SEQ (or the back if :FROM-END is non-nil). If SEQ is
empty, return :INITIAL-VALUE and FUNCTION is not called.
If SEQ is empty and no :INITIAL-VALUE is given, then the function
is called with zero arguments, and reduce returns whatever
function does. This is the only case where the function is called
with other than two arguments.
If SEQ is empty and no :INITIAL-VALUE is specified, then return
the result of calling FUNCTION with zero arguments. This is the
only case where FUNCTION is called with fewer than two arguments.
If SEQ contains exactly one element and no :INITIAL-VALUE is
specified, then return that element and FUNCTION is not called.
\n(fn FUNCTION SEQ [KEYWORD VALUE]...)"
(cl--parsing-keywords (:from-end (:start 0) :end :initial-value :key) ()