Subject: bug#37925: 26.3; Elisp manual: add index entry for sets/kinds of variables

From: Eli Zaretskii <[email-masked]>
Date: Sat, 26 Oct 2019 19:26:04 +0300

> Date: Sat, 26 Oct 2019 08:41:59 -0700 (PDT)
> From: Drew Adams <[email-masked]>
> Cc: [email-masked]
> 
> > > Please consider adding index entries that correspond directly to
> > > these node names.  A user should be able to do, for example (and
> > > preferably with or without the hyphen):
> > >
> > >   i mode-line variables
> > >
> > > Today that's not possible.
> > 
> > Yes, it is possible today, because each variable is indexed by its
> > name.  So, for example "i mode-line TAB" will show the list of all the
> > variables (and some other related topics as well).
> 
> That's not the "it" that I said is not possible.
> That's an way to find something different:
> information about a specific variable, known or
> recognized as such.

Why isn't that enough?

> > In general, the technique of working with index entries that I
> > recommend is to try the text you thought about initially, in this case
> > "mode-line variables", and if that doesn't bring anything useful,
> > remove some text from the end and try again, with TAB.  (That is
> > assuming the above text is something you really thought about in some
> > real-life use case, and not a synthetic example of no practical
> > importance.)
> 
> You're missing the point, I think.  You focus on
> `mode-line' because each of the mode-line variables
> has prefix `mode-line' in its name.  That's not true
> of some of the other kinds of variables covered (by
> kind) in nodes: list, generalized, constant, output...

I took mode-line because that was your example.

The bug report in its entirety is not useful because it lumps together
several (too many) sections that are almost certainly unrelated, in
terms of why there is no index entry that you decided were necessary.
These matters should be always considered on a case by case basis.

> Please read the bug title (and body).

I had, please don't make nasty assumptions, and if you do, please have
the courtesy of keeping them to yourself.

> Not only that.  If you're interested in knowing
> about mode-line variables, and you don't know
> what they are, or even if there are any, their
> individual names as entries won't help you much,
> because the names aren't identified in the index
> entries as _variable_ names.

Why would I want to know about mode-line variables as a group?  That
subsection is a hodgepodge of unrelated variables, with nothing to
keep them together.  What is the use case for me to want to see all of
them?

> > Please consider describing use cases where the name of the variable,
> > or the results of TAB as above, will not let the user arrive to the
> > place where he or she needs to be.  Otherwise, what you ask for is to
> > provide one more index entry that begins like many others we already
> > have and points to the same place, something that is not useful, and
> > we therefore avoid it.
> 
> See above.  For example, `i list TAB' will
> not show you anything that suggests a node
> about list variables.  It won't get you to
> node `List Variables'.

OK, let's take this example.  For starters, there are no "list
variables" in Emacs.  The section's name is "Modifying List
Variables", which is something else entirely.  This section has the
following index entries:

  @cindex modify a list
  @cindex list modification

In addition, each function described in the section is indexed by its
name.  Why would we want to add to that an index entry "list
variables", if it has nothing to do with the section's contents or
even its name?

So please look at each section separately, read its content, and then
tell what index entries you think are missing, and why, and please do
that separately for each section.  Arguing about missing index entries
from _node_names_, just because they all end in "Variables", is the
wrong way.

> And BTW, we have these entries, which go to
> 3 different nodes.  They're not distinguished
> at the level of entries (except for the 2nd
> one).
> 
> buffer-local variables
> buffer-local variables in modes
> buffer-local-variables

They are all different entries, so what's wrong with them?  Also, how
is this related to the subject of this bug report?