bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#32803: 26.1.50; cl-do: Add more literature in docstring


From: Tino Calancha
Subject: bug#32803: 26.1.50; cl-do: Add more literature in docstring
Date: Tue, 25 Sep 2018 05:43:25 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Mon, 24 Sep 2018, Eric Abrahamsen wrote:

Eli Zaretskii <eliz@gnu.org> writes:

From: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: Eli Zaretskii <eliz@gnu.org>,  32803@debbugs.gnu.org
Date: Mon, 24 Sep 2018 09:43:49 -0700

+Then, in each iteration of the loop, the END-TEST is evaluated; if true,
         ^^^^^^^

From the peanut gallery: Without looking at the code, I'm not sure if
this means the test is evaluated *before* BODY (ie, BODY may never run),
or *after* BODY (ie, BODY always runs at least once).

You've removed the answer to that question.  The full text says:

                                                          Then, in each
     iteration of the loop, the END-TEST is evaluated; if true, the loop
     is finished.  Otherwise, the body FORMS are evaluated, then each
     VAR is set to the associated STEP expression [...]

which clearly tells that the test is done _before_ the BODY is run.
Right?

I guess you're right, yes. "In" still seems unnecessarily vague, though,
when it could simply be replaced with "before". But not that big a deal,
I guess.
Thank you for the feedback Eric.
In some sense, the endtest is part of the loop, that's why the "in".
It behaves similar like this:

[initialize/update VARS]
(if endtest
  (return RESULT)
 body)


I am OK to rephrase it to make it more obvious if you have something
in mind.
Some people learning CL complaint about this iteration as been weird.
I see it as a generalization of a `dolist'.  Paul Graham build many tools
on top of this.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]