Re: [PATCH, doc]: Rename Index node to prevent file collision

Eli Zaretskii
2012-06-22T10:03:02Z

> Date: Fri, 22 Jun 2012 08:58:19 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: brobecker@adacore.com, joseph@codesourcery.com, gdb-patches@sourceware.org
>
> > >> > The problem with your suggestion is that the GDB index is not a
> > >> > concept index, it is all the indices lumped into one. Â But I would be
> > >> > OK if we separate the concept index from the rest, and then we could
> > >> > have "Concept Index" and "Command and Variable Index".
> > >>
> > >> I'd rather not go there as it's a big change for little gain.
> > >
> > > ??? It's as simple as modifying the "@syncodeindex" directives at the
> > > beginning of gdb.texinfo, and then adding 2 @node lines for the two
> > > indices, instead of the current one. Â All the rest will be done by
> > > makeinfo. Â Am I missing something?
> >
> > Sorry, I assumed that we'd have to check and perhaps update each index
> > entry to see that it's in the right category.
>
> No. We already have separate index categories: see the @kindex,
> @findex, @vindex, etc. directives, in addition to @cindex, that we
> have all over the manual. It's just that these 4 directives at the
> beginning of gdb.texinfo:
>
> @syncodeindex ky cp
> @syncodeindex tp cp
>
> @c readline appendices use @vindex, @findex and @ftable,
> @c annotate.texi and gdbmi use @findex.
> @syncodeindex vr cp
> @syncodeindex fn cp
>
> arrange for all of them to be lumped into a single index "cp" (which
> stands for "Concept Index"), and so this directive in the single
> "Index" node we have:
>
> @printindex cp
>
> prints all of the index entries together.
>
> > Your texinfo foo is better than mine - could you post a patch?
>
> OK.

Here it is. Does this solve your problem?

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.978
diff -u -p -r1.978 gdb.texinfo
--- gdb.texinfo 22 Jun 2012 08:37:49 -0000 1.978
+++ gdb.texinfo 22 Jun 2012 10:01:35 -0000
@@ -18,13 +18,17 @@
@end iftex

@finalout
-@syncodeindex ky cp
-@syncodeindex tp cp
+@c To avoid file-name clashes between index.html and Index.html, when
+@c the manual is produced on a Posix host and then moved to a
+@c case-insensitive filesystem (e.g., MS-Windows), we separate the
+@c indices into two: Concept Index and all the rest.
+@syncodeindex ky fn
+@syncodeindex tp fn

@c readline appendices use @vindex, @findex and @ftable,
@c annotate.texi and gdbmi use @findex.
-@syncodeindex vr cp
-@syncodeindex fn cp
+@syncodeindex vr fn
+@syncodeindex fn fn

@c !!set GDB manual's edition---not the same as GDB version!
@c This is updated by GNU Press.
@@ -182,7 +186,9 @@ software in general. We will miss him.
* Copying:: GNU General Public License says
how you can copy and share GDB
* GNU Free Documentation License:: The license for this documentation
-* Index:: Index
+* Concept Index:: Index of @value{GDBN} concepts
+* Command and Variable Index:: Index of @value{GDBN} commands, variables,
+ functions, and Python data types
@end menu

@end ifnottex
@@ -1780,8 +1786,9 @@ In addition to @code{help}, you can use
and @code{show} to inquire about the state of your program, or the state
of @value{GDBN} itself. Each command supports many topics of inquiry; this
manual introduces each of them in the appropriate context. The listings
-under @code{info} and under @code{show} in the Index point to
-all the sub-commands. @xref{Index}.
+under @code{info} and under @code{show} in the Command, Variable, and
+Function Index point to all the sub-commands. @xref{Command and Variable
+Index}.

@c @group
@table @code
@@ -40415,11 +40422,16 @@ A string in the constant pool is zero-te
@appendix GNU Free Documentation License
@include fdl.texi

-@node Index
-@unnumbered Index
+@node Concept Index
+@unnumbered Concept Index

@printindex cp

+@node Command and Variable Index
+@unnumbered Command, Variable, and Function Index
+
+@printindex fn
+
@tex
% I think something like @@colophon should be in texinfo. In the