[Top][All Lists]

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

Re: Texinfo Mode: node-based movement functions.

From: Alan Mackenzie
Subject: Re: Texinfo Mode: node-based movement functions.
Date: Sun, 7 Nov 2004 13:55:04 +0000 (GMT)

Hi, Robert!

On Sat, 6 Nov 2004, Robert J. Chassell wrote:

>   In Texinfo Mode we have functions for moving to the beginning and end of
>   a "page" (i.e. a @chapter) and for narrowing to a @chapter (together with
>   its @sections).
>   I think there should also be functions for moving to the beginning and
>   end of an individual @node, and for narrowing to it.  ....

>Why do you give a _node_ such relevance?  I am curious.  The reason is
>that I have written many Texinfo documents over the past 18 years (or
>more) and never needed a `goto Texinfo node command'.  If I had to go
>to the node in Texinfo mode, I did a `C-s @no' or `C-r @no' and got
>there.  (The search also brings up address@hidden' lines, but I ignore
>them.  And clearly, most of my node-based movements have been to a
>nearby node.)  Mostly, I have had to go to (and sometimes change)
>content, which means going to chapters or sections.

I have edited only very few Texinfo files, and all of these have been in
the heierarchical style encouraged by Texinfo Mode (i.e. every @section
etc. is a @node, @chapters "contain" @sections, ....).  I am currently
refurbishing cc-mode.texi.  This has involved a lot of shifting of
nodes from one place to another.  Up until yesterday I'd been using
`C-M-[rs] address@hidden' and it'd got on my nerves to the point where I 
stand it any more. ;-)

Why do I focus so much on nodes?  It seems to me that a node is a
coherent whole, much like a defun in other languages.  It is, after all,
exactly the unit that is displayed by Info.  I often narrow to a node,
then search through it or scan through it to make sure all the pertinent
material is in that node.  Or I quickly scroll through the (narrowed)
node to get a feel for its size.

>Are you thinking of the other surface expressions besides Info that
>Texinfo enables?  Certainly, nodes are published in Info, which is one
>of the surface expressions.  They may be published in HTML -- I don't
>know.  They are not published in a printed copy, whether using DVI,
>PDF, XML, or PS.  I know that for sure, since I have to get rid of
>nodes==sections that are too close to the first section of a chapter,
>but should be in an Info file. (I keep the node but get rid of the
>published section.)

I've never seen a printed form of a Texinfo manual.  What do you mean by
"too close" here?  What blemish does this closeness cause?  By "get rid
of", you mean with @ifinfo, or the like?

>However, a surface expression is not relevant to writing the deep
>representation.  So perhaps the `goto Texinfo node commands' will be
>useful to some writers.  (Fourteen ago, I wrote some
>`texinfo-insert-...' commands that too few people cared about so they
>were not included in the standard distribution.  However, they have
>remained part of my .emacs file ever since.  I found the lack of
>inclusion really weird since I use them.  Moreover, I always thought
>of myself as an exemplar of the average so others should use them,
>too.  Evidentally I am not such an exemplar.  Are your node movement
>commands the same or are they useful by many other people?)

I feel that I am a typical Texinfo user.  Then again, I feel I'm a
typical C and C++ programmer, too.  I've little objective evidence to
back these feelings up, and quite a bit to refute them.  ;-(  I think I
posted the code as a working idea, rather than a completed patch, to test
for a general want of @node functionality.  So far, there hasn't been any
resonance from anybody else, so the commands will probably just stay in
my .emacs. 

>In any event, if you continue to develop the commands, please take
>account of @ignore and the rest; they are used often by everyone.

I certainly will.  Thanks for the feedback!

>    Robert J. Chassell                         

Alan Mackenzie (Munich, Germany)

reply via email to

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