Greetings, all.
I've just encountered a bug in the info mode included with XEmacs 21.1.14.
I've written an info document for some software that we use internally, and
it includes some cross-references:
The two relevant paragraphs from the texinfo source follow:
The makefile sets preprocessor directives as necessary to make this work
in all build modes. In most of the build modes, @code{OUTLINE} is not
defined, and @code{INLINE} expands to @samp{inline}. Therefore, the
@file{.icc} file is read from within the @file{.h} file, and the
functions are compiled inline. In @samp{debug} mode, however,
@code{OUTLINE} and @code{INLINE} are both defined to be the empty
string. Here, then, the @file{.icc} file is read from within the
@file{.cc} file, and the functions are treated as normal, out-of-line
functions. (See @ref{preprocessor-vars}, for the reasons why two
variables are necessary here.)
....
@anchor{preprocessor-vars}An earlier version of the design had a single
macro, @code{IT7_BUILD_MODE}, which expanded to one of the strings
@samp{release}, @samp{debug}, @samp{profile}, etc. Due to limitations
in the preprocessor, however, this did not work as expected. It is
possible to compare a preprocessor macro against a numeric literal at
compile time, using the following syntax:
These paragraphs are fairly far apart from each other, and appear in
different nodes.
When the file is big enough for makeinfo (v4.0) to split it across several
nodes, XEmacs's info mode can no longer follow the cross reference to
@anchor{preprocessor-vars}: it complains `No such node: preprocessor-vars'.
When I open the info file directly, I can see the cross-reference tag in
the list of node names and footnotes, as I expect it to be, so I think
makeinfo is doing its job correctly. In addition, the standalone info
browser v2.10-p1 and the info browser incorporated in FSF Emacs 20.7.1 do
the job correctly.
When the document is small enough to fit into a single .info file, however,
XEmacs follows the cross-reference correctly. There appears to be some
difficulty following cross-references when a document is split into
multiple parts; this fails both when the reference and its target are in
the same part and when they are in different parts.
Thanks kindly,
Richard
--
/"\
\ /
X ASCII RIBBON CAMPAIGN
/ \ AGAINST HTML MAIL