Subject: bug#17623: 24.4.50; incorrect example for `apply-partially' in (elisp) `Calling Functions'

From: Michael Heerdegen <[email-masked]>
Date: Sat, 23 Oct 2021 17:29:09 +0200

Eli Zaretskii <[email-masked]> writes:

> > But Emacs' `1+' accepts one argument.
>
> Why does it matter?

Because the text talks about the number of accepted arguments, right in
the preceding lines.

> The example shows a function created by apply-partially, it doesn't
> say the result is exactly bug-for-bug compatible with the existing
> primitive.  Suppose we would enhance the built-in 1+ to accept any
> number of arguments: would you then retract your objections? why?

Yes, because then it would be a correct replacement.

> > 1 /= infinity.  Different functions.
>
> Actually, I think the issue here is that infinity - 1 = infinity.

In this context this is correct.  What issue?

> Anyway, you are saying that, because the description in the manual
> doesn't pedantically cover the case of functions that can accept any
> number of arguments, it is incorrect?  Really??

Can't you image that some people might have a look at the number of
accepted arguments of the example -- directly after we talked about the
number of accepted arguments of the result of an `apply-partially' call
-- to check if they understood the paragraph correctly?  Is this really
that far fetched?

> I'm sorry for this lecture, but it is my impression that you sometimes
> forget about this when you talk about our documentation -- this is not
> the first time we argue about similar stuff for similar reasons.

You don't seem to want to consider that what is a simplification for one
makes the thing harder to understand for others.  We should aim for a
documentation that is good for learning for everyone, not only for
people who think and learn like you.

Really, I'm a bit irritated about your reactions.  Is my way of learning
and reading wrong in your eyes?  If I say I find that text or detail
confusing - is it just that this can't be true, and that's it?  Or my
mistake?  Or does it not matter?

> That paragraph doesn't explain the arity.  It doesn't mention that
> word even once.  It explains apply-partially, not arity.

That "N".  It is called the arity of that function.  Also M-N.

> It wasn't, because it wasn't suggested anywhere I could see in the
> discussion.  I've no objections to adding this as a footnote, FWIW.

Then please do that.

Michael.