Subject: Re: bug#30241: Emacs 26.0.91: "Generalized variables" are not defined.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 11 Feb 2018 18:00:43 +0200

> Date: Sat, 10 Feb 2018 21:58:41 +0000
> Cc: Drew Adams <[email-masked]>, [email-masked]
> From: Alan Mackenzie <[email-masked]>
> 
> I've read https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html,
> and found it clear indeed.  However it was also long.  After reading it,
> the Elisp sections on generalised variables make much more sense.
> 
> This suggests that these Elisp sections contain the material, but are
> not suitable for readers who don't already understand generalised
> variables.
> 
> In that CL page, a generalised variable is effectively defined as
> something you can use `setf' on within the first three paragraphs.  In
> the elisp sections, that identification is not present in the opening
> paragraphs - there is no definition on that opening page.  The first
> sub-page does not define a generalised variable as something you can use
> setf on - it merely says setf is a way to access one.  But that
> definition needs to be in the top level page, and it needs to be clear
> that it _is_ a definition.

It seems strange to me to define something in terms of its uses, but
if people think this is better than the other way around, I don't
mind.

Can you propose how to change what we have now to include what you
think should be there?

> The CL page gives a complete list of forms setf will work with.  The
> elisp page merely gives a list, without it being clear whether that list
> is complete or not.

It's supposed to be a complete list, but if someone knows of other
forms, let them speak up.

Thanks.