Subject: bug#6591: 24.0.50; incorrect doc for `catch'

From: "Drew Adams" <[email-masked]>
Date: Sun, 11 Jul 2010 09:52:35 -0700

> The dots are important, because BODY normally implies one single form.
> We are somewhat abusing notation by using `BODY...' to denote one or
> more forms, but the convention is well-established and easy to grasp,
> and there are no better alternatives.

No better alternative?  Did you read the thread?  What about doing what the rest
of the world does: (catch TAG FORM...)?

Then if you really need to talk about the "body" for some reason, just say that
the body is everything that follows TAG or it is the collection of forms or some
such.  No need to use "body" in the syntax description.  (And no real need to
even mention the body.)

> I suggest doing everywhere what the `progn' documentation does, and
> refer to BODY as "BODY forms".
> 
>   (progn BODY...)
>   Eval BODY forms sequentially and return value of last one.

Same problem - see the start of the thread.

What does "BODY forms" refer to: (1) a set of BODYs, each of which is a Lisp
form, or (2) the set of Lisp forms that comprise a BODY.  The term "BODY forms"
is ambiguous.  It can mean the forms that make up BODY or a list of forms each
of which is a BODY.

And what does `...' signify here: repetition of what it follows (i.e. repetition
of BODY), as in the rest of the world, or a special Emacs-only syntax where
`BODY...' is taken as a single token that is replaced by splicing in a list of
Lisp forms?

(progn FORM...) is much clearer.  Users can parse it in the usual way: FORM is
replaceable by a Lisp form, and `FORM...' simply means a repetition of Lisp
forms.