unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Info-scroll-prefer-subnodes default in Emacs.
@ 2003-06-20  1:19 Luc Teirlinck
  2003-06-21  4:56 ` Richard Stallman
  0 siblings, 1 reply; 14+ messages in thread
From: Luc Teirlinck @ 2003-06-20  1:19 UTC (permalink / raw)
  Cc: Karl Berry

I am rewriting parts of the Info tutorial.  This took me a little bit
longer than expected, because I had to learn texinfo first (which I
had never used before) and because I checked the entire tutorial for
undocumented differences between the Emacs and stand-alone versions.
I am about ready to send a proposed revision to Karl for review.
Before I can do that however, I feel that the following problem needs
to be addressed.

One of the differences between the Emacs and stand-alone versions is
the behavior of <SPC>.  The tutorial describes the stand-alone
version.  I could try to torture the brains of unsuspecting newbies by
trying to explain them the subtleties of the Emacs version.  However,
I believe that it would make a lot more sense to change the default
Emacs behavior to the stand-alone behavior, by changing the default
value of Info-scroll-prefer-subnodes from t to nil.

Description of the stand-alone behavior:

   <SPC> and <DEL> not only move forward and backward through the
current node.  They also move between nodes.  <SPC> at the end of a
node moves to the next node; <DEL> (or <BACKSPACE>) at the beginning
of a node moves to the previous node.  In effect, these commands
scroll through all the nodes in an Info file as a single logical
sequence.  You can read an entire manual top to bottom by just typing
<SPC>, and move backward through the entire manual from bottom to top
by typing <DEL> (or <BACKSPACE>).

My comments:

Makes sense, is intuitive, easy to understand, and obviously useful.
Perfectly consistent with the usual Emacs behavior of <SPC> in other
read-only documentation-style buffers.

Emacs behavior:

Same a stand-alone, except when menus come in sight.  Then things get
wild.  Then we go to some menu entry.  Surprising enough to newbies.
But which menu entry?

Consider the following part of the dir file:

* CC Mode: (ccmode).   Emacs mode for editing C, C++, Objective-C,
                          Java, Pike, and IDL code.
* CL: (cl).	       Partial Common Lisp support for Emacs Lisp.

With point on the "J" of "Java" where do we go to?  To CL, "of
course".  It might actually make more sense for <SPC> to do that than
for RETURN (which now visits CC Mode) because RETURN is supposed to
visit the node to which the description refers, whereas <SPC> is
supposed to scroll FORWARD and hence visiting CL might make
(relatively) more sense than visiting CC mode.  Might be OK for some
advanced users, but way too complicated and subtle for newbies (as
well as for me, actually).

Throughout Emacs, <SPC> in read-only buffers usually scrolls forward
but does NOT visit "the next thing referenced past point".  

Somebody tries C-h i for the very first time.  Huge dir buffer.  So
the first thing we do is what we are used to do in documentation style
read-only buffers, say NEWS (C-h n), we type <SPC> to browse through
the huge list of entries.  What happened?  Where did we go to and why?

I believe that the obvious thing to do is to change the default value
of `Info-scroll-prefer-subnodes' from t to nil.  Way more transparent
to newbies and eliminates one more difference between the Emacs and
stand-alone versions.  Advanced users who find the more complex
current Emacs behavior more convenient can easily customize the
variable.

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Info-scroll-prefer-subnodes default in Emacs.
@ 2003-06-20 13:55 Karl Berry
  2003-06-23  1:57 ` Miles Bader
  0 siblings, 1 reply; 14+ messages in thread
From: Karl Berry @ 2003-06-20 13:55 UTC (permalink / raw)
  Cc: emacs-devel

    I believe that the obvious thing to do is to change the default value
    of `Info-scroll-prefer-subnodes' from t to nil.  Way more transparent

FWIW, I agree.  The current emacs behavior has bothered me since it was
introduced.

Thanks,
karl

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Info-scroll-prefer-subnodes default in Emacs.
@ 2003-06-24 13:26 Karl Berry
  0 siblings, 0 replies; 14+ messages in thread
From: Karl Berry @ 2003-06-24 13:26 UTC (permalink / raw)
  Cc: emacs-devel

    In Emacs Info, `]' and `[' behave as
    usual in Indices.  In the stand-alone version, they do not.  

That's a bug in standalone info, I'll see if anyone wants to work on it.

    How do we determine reliably whether or not a node is an Index?

    I do not believe that the method used by Emacs `[' and `]':
    if and only if the node name contains the word "index" is reliable
    enough by any means.

I agree, but I don't see any way to do any better at present.

The only real solution I can think of is to have makeinfo insert an
invisible cookie saying `this is an index' into the info file.  That
wouldn't be hard.

Thanks,
k

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Info-scroll-prefer-subnodes default in Emacs.
@ 2003-06-25 13:43 Karl Berry
  2003-06-26  5:30 ` Richard Stallman
  0 siblings, 1 reply; 14+ messages in thread
From: Karl Berry @ 2003-06-25 13:43 UTC (permalink / raw)
  Cc: emacs-devel

    One way is to have two kinds of
    menus, one that represents the document's structure and one that
    doesn't.  The index could say `* Index:' instead of `* Menu:'.  It
    would work the same in m but differently in SPC.  Karl, what do you
    think?

That sounds like a very clean idea to me, except ...
that new info files then won't be compatible with old Info readers.
We've gone to great lengths to avoid such incompatibilities in the past.

My idea along these lines was not as elegant, but it retains
compatibility: have makeinfo output a magic cookie (say ^H^[index^H^],
for the sake of argument, similar to the new cookie we use for images)
at the beginning of an index.  New info readers will recognize that, not
display it, and do the right thing.  Old info readers will display it,
which is ugly but not fatal -- the index entries would still work.

    Another way is to do the index using xrefs instead of menus.

Seems more verbose.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-06-26  5:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-20  1:19 Info-scroll-prefer-subnodes default in Emacs Luc Teirlinck
2003-06-21  4:56 ` Richard Stallman
2003-06-24  2:55   ` Luc Teirlinck
2003-06-24  3:50     ` Luc Teirlinck
2003-06-24  3:56       ` Luc Teirlinck
2003-06-25  2:56       ` Richard Stallman
2003-06-24  4:12     ` Eli Zaretskii
2003-06-25  3:03       ` Luc Teirlinck
2003-06-25  2:57     ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2003-06-20 13:55 Karl Berry
2003-06-23  1:57 ` Miles Bader
2003-06-24 13:26 Karl Berry
2003-06-25 13:43 Karl Berry
2003-06-26  5:30 ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).