emacs-devel
[Top][All Lists]
Advanced

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

RE: Info-build-node-completions has an extra `*' node


From: Drew Adams
Subject: RE: Info-build-node-completions has an extra `*' node
Date: Sun, 17 Feb 2008 17:27:14 -0800

> >> Please read the Info manual at (info "(info) Go to node") 
> >> that says:
> >>
> >>      The node name `*' specifies the whole file.  So you can
> >>      look at all of the current file by typing `g*<RET>' or
> >>      all of any other file with `g(FILENAME)*<RET>'.
> >
> > I see. Guess I haven't read the Info manual in a long time. Out of
> > curiosity, why was this feature added? What is the need 
> > that it satisfies?
> 
> This feature is from prehistoric times.  It was already in 
> the revision 1.1.

Prehistoric? I see that it is in Emacs 21 (which I skipped), but it is not
in Emacs 20, whose last revision is also from the 21st century. Hardly
pterodactyl-like.

Anyway, I still question this feature, regardless of what geological epoque
it belongs to. You didn't reply to my question wrt what need this is
supposed to satisfy. Why is this useful?

> > And why is only `*' written in the mode line as the node 
> > name, rather than, say, `*** All Nodes ***' or `*** Whole
> > Manual ***' (the `***' or something similar indicating that
> > this is not just a node name). I'm afraid that `*'
> > is not very noticeable in the mode line. There are already 
> > other `*' there, so you see, for example, `*info* (emacs) *'.
> 
> I guess that's because the name displayed in the mode line 
> should be the same as provided in the completion for consistency.

For consistency, go to node should, well, go to a node, not show all of the
manual. ;-)  The consistency you describe doesn't help the user, IMO.

> > And it is not immediately obvious that the entire manual is 
> > in fact visible. I thought that it had just revisited the
> > current node, until I scrolled a bit and noticed that from
> > the node headers that it was widened.
> >
> > Someone falling into this state by accident might well get 
> > confused, IMO. And `*' is the first completion candidate
> > listed in *Completions*.
> 
> Maybe we should add an explanation text to the completion 
> candidate like e.g. `* (all nodes)'.  And accept also `*'
> but don't display it in the completion list.

So much for consistency.

Anyway, I agree that both the completion candidate and the mode-line
indication should be something other than just `*'. And completion with
REQUIRE-MATCH = t will cause input of just `* RET' to complete to `* (all
nodes)' and exit.

> > It might seem cute that `*' is the name for this pseudo-node
> > (a wildcard, presumably), but the behavior and meaning are 
> > not obvious. Why `go to node' would have an alternative
> > action of `show all nodes' is not clear to me -
> > why associate this behavior with `Info-goto-node'? 
> > I suppose you'll say that that's what we do for wildcards
> > with `find-file'.
> 
> Yes, this looks like wildcards.
> 
> > It's also not obvious how to get out of this 
> > view-whole-raw-info-file mode, once you fall into the
> > black hole. Things like `C-l' and `u' (Node has no Up)
> > don't help.
> >
> > It turns out that using `g' again, and picking some real 
> > node name this time, will restore Info to its normal self
> > (whew!). There might be additional ways to get back to
> > normal; I don't know.
> >
> > But I don't think it is obvious, and I do think it is 
> > potentially confusing. At the very least, a message
> > should inform the user: (a) what has happened,
> > and (b) how to get back to normal.
> 
> Displaying something like `all nodes' in the mode line would 
> inform about what has happened,

Not completely. It says nothing about (1) your seeing a raw Info file and
(2) node navigational commands no longer working (because the cursor is not
considered to be in any node, no matter where it is: Node has no Next, Node
has no Up, etc.)

IOW, this is only marginally Info node; it is really a different beast.

BTW, I discovered another (better) way to get back to normal: `l'.

> but I have no idea how it could inform how to get back.

A message, at least. Something like "Showing all nodes. Use `l' to return to
last node."

But first things first. What is the rationale for this? Does it really
fulfill a need? If not, let's just get rid of it, to avoid unnecessary
confusion.






reply via email to

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