all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "Roland Winkler" <winkler@gnu.org>
Cc: 2975@debbugs.gnu.org
Subject: bug#2975: texinfo-master-menu and emacs.texi
Date: Thu, 08 Dec 2011 01:17:40 -0500	[thread overview]
Message-ID: <E1RYXIa-0008WU-1F@fencepost.gnu.org> (raw)
In-Reply-To: <20191.55423.572257.75919@gargle.gargle.HOWL> (winkler@gnu.org)

> Date: Wed, 7 Dec 2011 15:19:59 -0600
> From: "Roland Winkler" <winkler@gnu.org>
> Cc: 2975@debbugs.gnu.org
> 
> On Wed Dec 7 2011 Stefan Monnier wrote:
> > I'm pretty sure texinfo-master-menu is not used for that, indeed.
> > I think "update all menus" is the more common helper command.
> > 
> > IIRC it also suffered from problems where it adds data to "Node"s which
> > should better not be added at all, so makeinfo can auto-fill it for you
> > (and makeinfo actually complains about what texinfo-master-menu puts
> > there).
> 
> I am not sure I understand what you say about nodes.

What Stefan says is that the form of @node produced by
texinfo-master-menu (when it is invoked on a region and/or with a
prefix argument) includes the Next, Prev, and Up pointers, even if the
original file didn't have those pointers.  Worse, due to incomplete
support of the more advanced Texinfo features, the produced pointers
can cause makeinfo barf.  IOW, the command could potentially take a
perfectly valid Texinfo file and produce an invalid one.

The node pointers thingy is particularly baaad because makeinfo
doesn't actually need these pointers, if your Texinfo files are
structured using a few simple rules, documented in the Texinfo manual,
see "texinfo(makeinfo Pointer Creation)".

If you keep your Texinfo structured according to these rules, there's
no need for Next, Prev, and Up pointers on the @node lines; makeinfo
will compute them automatically.

By forcibly inserting these pointers, texinfo-master-menu prevents you
from using this very convenient feature: you are forced to maintain
these pointers whenever you insert or delete nodes.

> I started this thread because
> 
> > The texinfo manual says about "Updating Nodes and Menus"
> > 
> >   If you do not use the updating commands, you need to write menus
> >   and node pointers by hand, which is a tedious task.
> 
> Is there any emacs command that can help reliably for updating the nodes?
> (Nodes appear to get screwed up by texinfo-master-menu.)

Well, see above: you don't need to be bothered by that, if you adhere
to the rules explained in the Texinfo manual.

> Of course, I believe that makeinfo can add the info about the node
> pointers. But what about output formats not supported by makeinfo?
> I believe that something like TeX needs them.

TeX doesn't need them.  These pointers are there to allow traversing
the on-line manual, and are not needed for non on-line versions.

> > Maybe the better course here is to deprecate it, seeing how noone seems
> > interested in fixing it (if it can be fixed).

Define "fixed".  Which of the current misfeatures are urgent to fix?

> This would certainly help at least somewhat to clarify the
> situation.

See my other mail (which I didn't write yet ;-) about "the situation".





  reply	other threads:[~2011-12-08  6:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-07  9:20 texinfo-master-menu and emacs.texi Roland Winkler
2011-12-07  9:57 ` Leo
2011-12-07 14:30   ` Roland Winkler
2011-12-07 13:19 ` Eli Zaretskii
2011-12-07 14:08   ` Roland Winkler
2011-12-08  6:46     ` Eli Zaretskii
2011-12-08 19:04       ` Roland Winkler
2011-12-10 11:01     ` Eli Zaretskii
2011-12-07 17:57   ` Glenn Morris
2011-12-07 19:26     ` Roland Winkler
2011-12-07 20:43       ` bug#2975: " Stefan Monnier
2011-12-07 21:19         ` Roland Winkler
2011-12-08  6:17           ` Eli Zaretskii [this message]
2011-12-08 10:38             ` Štěpán Němec
2011-12-08 12:20               ` Eli Zaretskii
2011-12-08 14:46                 ` Stefan Monnier
2011-12-10 11:00                   ` Eli Zaretskii
2011-12-08 18:52                 ` Roland Winkler
2011-12-08 18:55                   ` Roland Winkler
2011-12-08 19:06                   ` Štěpán Němec
2011-12-08 19:37                     ` Eli Zaretskii
2011-12-08 19:59                       ` Štěpán Němec
2011-12-08 20:54                         ` Roland Winkler
2011-12-09  7:28                           ` Eli Zaretskii
2011-12-09  7:48                             ` Roland Winkler
2011-12-10  0:17                           ` Karl Berry
2011-12-10 10:57                             ` Eli Zaretskii
2011-12-09  7:30                         ` Eli Zaretskii
2011-12-08 19:33                   ` Eli Zaretskii
2011-12-07 22:08     ` Roland Winkler
2011-12-07 22:13       ` Karl Berry
2011-12-10 12:42     ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2009-04-12 21:33 bug#2975: `texinfo-master-menu' doesn't work Alan Mackenzie
2011-12-10 12:40 ` Eli Zaretskii
     [not found] ` <837h24mwfs.fsf@gnu.org>
     [not found]   ` <20111211173859.GA2755@acm.acm>
2011-12-11 18:18     ` Eli Zaretskii
2011-12-12 12:25       ` Alan Mackenzie
2011-12-12 13:02         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1RYXIa-0008WU-1F@fencepost.gnu.org \
    --to=eliz@gnu.org \
    --cc=2975@debbugs.gnu.org \
    --cc=winkler@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.