Viewing File: /usr/share/doc/texinfo/html/Debugging-with-Info.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.

Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software
Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Debugging with Info (GNU Texinfo 6.7)</title>

<meta name="description" content="Debugging with Info (GNU Texinfo 6.7)">
<meta name="keywords" content="Debugging with Info (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Catching-Mistakes.html" rel="up" title="Catching Mistakes">
<link href="Debugging-with-TeX.html" rel="next" title="Debugging with TeX">
<link href="makeinfo-Preferred.html" rel="prev" title="makeinfo Preferred">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="Debugging-with-Info"></span><div class="header">
<p>
Next: <a href="Debugging-with-TeX.html" accesskey="n" rel="next">Debugging with TeX</a>, Previous: <a href="makeinfo-Preferred.html" accesskey="p" rel="prev"><code>makeinfo</code> Preferred</a>, Up: <a href="Catching-Mistakes.html" accesskey="u" rel="up">Catching Mistakes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="Catching-Errors-with-Info-Formatting"></span><h3 class="section">F.2 Catching Errors with Info Formatting</h3>
<span id="index-Catching-errors-with-Info-formatting"></span>
<span id="index-Debugging-with-Info-formatting"></span>

<p>After you have written part of a Texinfo file, you can use the
<code>texinfo-format-region</code> or the <code>makeinfo-region</code> command to
see whether the region formats properly.
</p>
<p>Most likely, however, you are reading this section because for some
reason you cannot use the <code>makeinfo-region</code> command; therefore, the
rest of this section presumes that you are using
<code>texinfo-format-region</code>.
</p>
<p>If you have made a mistake with an @-command,
<code>texinfo-format-region</code> will stop processing at or after the
error and display an error message.  To see where in the buffer the
error occurred, switch to the &lsquo;<samp>*Info Region*</samp>&rsquo; buffer; the cursor
will be in a position that is after the location of the error.  Also,
the text will not be formatted after the place where the error
occurred (or more precisely, where it was detected).
</p>
<p>For example, if you accidentally end a menu with the command <code>@end
menus</code> with an &lsquo;s&rsquo; on the end, instead of with <code>@end menu</code>, you
will see an error message that says:
</p>
<div class="example">
<pre class="example">@end menus is not handled by texinfo
</pre></div>

<p>The cursor will stop at the point in the buffer where the error
occurs, or not long after it.  The buffer will look like this:
</p>
<div class="example">
<pre class="example">---------- Buffer: *Info Region* ----------
* Menu:

* Using texinfo-show-structure::  How to use
                                 `texinfo-show-structure'
                                 to catch mistakes.
* Running Info-validate::         How to check for
                                 unreferenced nodes.
@end menus
&lowast;
---------- Buffer: *Info Region* ----------
</pre></div>

<p>The <code>texinfo-format-region</code> command sometimes provides slightly
odd error messages.  For example, the following cross-reference fails
to format:
</p>
<div class="example">
<pre class="example">(@xref{Catching Mistakes, for more info.)
</pre></div>

<p>In this case, <code>texinfo-format-region</code> detects the missing closing
brace but displays a message that says &lsquo;<samp>Unbalanced parentheses</samp>&rsquo;
rather than &lsquo;<samp>Unbalanced braces</samp>&rsquo;.  This is because the formatting
command looks for mismatches between braces as if they were
parentheses.
</p>
<p>Sometimes <code>texinfo-format-region</code> fails to detect mistakes.  For
example, in the following, the closing brace is swapped with the
closing parenthesis:
</p>
<div class="example">
<pre class="example">(@xref{Catching Mistakes), for more info.}
</pre></div>

<p>Formatting produces:
</p><div class="example">
<pre class="example">(*Note for more info.: Catching Mistakes)
</pre></div>

<p>The only way for you to detect this error is to realize that the
reference should have looked like this:
</p>
<div class="example">
<pre class="example">(*Note Catching Mistakes::, for more info.)
</pre></div>

<p>Incidentally, if you are reading this node in Info and type <kbd>f
<span class="key">RET</span></kbd> (<code>Info-follow-reference</code>), you will generate an error
message that says:
</p>
<div class="example">
<pre class="example">No such node: &quot;Catching Mistakes) The only way &hellip;
</pre></div>

<p>This is because Info perceives the example of the error as the first
cross-reference in this node and if you type a <tt class="key">RET</tt> immediately
after typing the Info <kbd>f</kbd> command, Info will attempt to go to the
referenced node.  If you type <kbd>f catch <span class="key">TAB</span> <span class="key">RET</span></kbd>, Info
will complete the node name of the correctly written example and take
you to the &lsquo;Catching Mistakes&rsquo; node.  (If you try this, you can return
from the &lsquo;Catching Mistakes&rsquo; node by typing <kbd>l</kbd>
(<code>Info-last</code>).)
</p>

<hr>
<div class="header">
<p>
Next: <a href="Debugging-with-TeX.html" accesskey="n" rel="next">Debugging with TeX</a>, Previous: <a href="makeinfo-Preferred.html" accesskey="p" rel="prev"><code>makeinfo</code> Preferred</a>, Up: <a href="Catching-Mistakes.html" accesskey="u" rel="up">Catching Mistakes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
Back to Directory File Manager