unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 2975@debbugs.gnu.org
Subject: bug#2975: `texinfo-master-menu' doesn't work.
Date: Mon, 12 Dec 2011 12:25:44 +0000	[thread overview]
Message-ID: <20111212122544.GA2910@acm.acm> (raw)
In-Reply-To: <83mxazkm5d.fsf@gnu.org>

Hello again, Eli.

On Sun, Dec 11, 2011 at 08:18:06PM +0200, Eli Zaretskii wrote:
> > Date: Sun, 11 Dec 2011 17:38:59 +0000
> > Cc: bug-texinfo@gnu.org, 2975-done@debbugs.gnu.org
> > From: Alan Mackenzie <acm@muc.de>

> > > "C-c C-u m" (texinfo-master-menu) is not supposed to update the menus
> > > in the buffer, including the menu in the Top node, unless you invoke
> > > it with a prefix argument.  If you don't invoke it with a prefix arg,
> > > you need to update the menus yourself, either manually or by running
> > > texinfo-make-menu or texinfo-all-menus-update.  This is because this
> > > command only looks at the _existing_ menus; it does NOT look at the
> > > @node lines to recreate or update any missing/outdated entries in
> > > those menus.

> > > I made this clear in the doc string of texinfo-master-menu.

Although I updated and rebuilt Emacs yesterday, I got the old doc string,
so please forgive my reply.  The way I got this doc string was:

    emacs -Q
    M-x load-library texinfo
    C-h f texinfo-master-menu

.  It turns out that the doc string is duplicated in texinfo.el in an
autoload form.  ;-(

[ .... ]

> And now the current doc string:

>     "Make a master menu for a whole Texinfo file.
>   Remove pre-existing master menu, if there is one.

>   This function supports only single-file manuals.  For multi-file
>   manuals, use `texinfo-multiple-files-update'.

>   This function creates or updates the @detailmenu section of a
>   master menu that follows the Top node.  It replaces any existing
>   detailed menu that follows the top node.  The detailed menu
>   includes every entry from all the other menus.  By default, the
>   existing menus, including the menu in the Top node, are not
>   updated according to the buffer contents, so all the menus should
>   be updated first using `texinfo-make-menu' or
>   `texinfo-all-menus-update', which see.  Alternatively, invoke
>   this function with a prefix argument, see below.

>   Non-nil, non-numeric argument (C-u prefix, if interactive) means
>   first update all existing menus in the buffer (incorporating
>   descriptions from pre-existing menus) before it constructs the

Correction: "before CONSTRUCTING the master menu."

>   master menu.  If the argument is numeric (e.g., \"C-u 2\"),
>   update all existing nodes as well, by calling
>   \`texinfo-update-node' on the entire file.  Warning: do NOT
>   invoke with a numeric argument if your Texinfo file uses @node
>   lines without the `Next', `Previous', `Up' pointers, as the
>   result could be an invalid Texinfo file!

>   The function removes and recreates the detailed part of an already
>   existing master menu.  This action assumes that the pre-existing
>   master menu uses the standard `texinfo-master-menu-header' for the
>   detailed menu.

>   The master menu has the following format, which is adapted from the
>   recommendation in the Texinfo Manual:

>      * The first part contains the major nodes in the Texinfo file: the
>        nodes for the chapters, chapter-like sections, and the major
>        appendices.  This includes the indices, so long as they are in
>        chapter-like sections, such as unnumbered sections.

>      * The second and subsequent parts contain a listing of the other,
>        lower level menus, in order.  This way, an inquirer can go
>        directly to a particular node if he or she is searching for
>        specific information.

>   Each of the menus in the detailed node listing is introduced by the
>   title of the section containing the menu.

> > @dfn{master menu} is on page "Master Menu Parts" in the Texinfo manual.
> > In particular,

> >     A master menu is enclosed in `@menu' and `@end menu' commands ...

> I didn't do anything with the Texinfo manual, mind you.  This bug
> report is about Emacs.

:-)  There's an inconsistency there.  The manual is Karl B's thing, isn't
it?

> > Why doesn't C-c C-u m update the entire master menu?  I mean, what use is
> > the current command, as opposed to the one I want?

> I'm just guessing here, but my guess is that you sometimes may wish to
> create or update only the @detailmenu.  After all, texinfo-make-menu
> is the way to create/update any menu, including the top-level menu, if
> you don't have one or if it is outdated.

[ .... ]

> > t-m-m's doc string states explicitly that it DOES make a master menu.

> It sounds like your notion of "master menu" is different from what the
> command means, see above.

THAT is the thing that's caused this discussion.  I have conceptualised
"master menu" as the entire hierarchical thing starting at Top.  You have
seen a separate menu in each node (including Top) and then @detailedmenu
as a summary, a distinct entity.  Now everything is clear.

-- 
Alan Mackenzie (Nuremberg, Germany).





  reply	other threads:[~2011-12-12 12:25 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2011-12-12 13:02         ` Eli Zaretskii
     [not found] <20191.12232.556454.551166@gargle.gargle.HOWL>
     [not found] ` <E1RYHPD-0000vm-PC@fencepost.gnu.org>
     [not found]   ` <h87h28tgcg.fsf@fencepost.gnu.org>
     [not found]     ` <20191.48632.665251.448872@gargle.gargle.HOWL>
2011-12-07 20:43       ` bug#2975: texinfo-master-menu and emacs.texi Stefan Monnier
2011-12-07 21:19         ` Roland Winkler
2011-12-08  6:17           ` Eli Zaretskii
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

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=20111212122544.GA2910@acm.acm \
    --to=acm@muc.de \
    --cc=2975@debbugs.gnu.org \
    --cc=eliz@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 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).