blob: 1a8ed29a051c0cbdad30ffb848c0dec3e6f6a07b [file] [log] [blame]
<!DOCTYPE html>
<html>
<!-- Created by Texinfo 6.8dev+dev, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This manual is for GNU Texinfo (version 6.8dev, 23 February 2022),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990-1993, 1995-1999, 2001-2022 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". -->
<title>Using Info-validate (GNU Texinfo 6.8dev)</title>
<meta name="description" content="Using Info-validate (GNU Texinfo 6.8dev)">
<meta name="keywords" content="Using Info-validate (GNU Texinfo 6.8dev)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<meta name="viewport" content="width=device-width,initial-scale=1">
<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="Running-Info_002dvalidate.html" rel="up" title="Running Info-validate">
<link href="Unsplit.html" rel="next" title="Unsplit">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
-->
</style>
</head>
<body lang="en">
<div class="subsubsection-level-extent" id="Using-Info_002dvalidate">
<div class="nav-panel">
<p>
Next: <a href="Unsplit.html" accesskey="n" rel="next">Creating an Unsplit File</a>, Up: <a href="Running-Info_002dvalidate.html" accesskey="u" rel="up">Finding Badly Referenced Nodes</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>
<h4 class="subsubsection subsection-level-set-subsubsection" id="Using-Info_002dvalidate-1">D.9.6.1 Using <code class="code">Info-validate</code></h4>
<a class="index-entry-id" id="index-Using-Info_002dvalidate"></a>
<a class="index-entry-id" id="index-Info-validating-a-large-file"></a>
<a class="index-entry-id" id="index-Validating-a-large-file"></a>
<p>To use <code class="code">Info-validate</code>, visit the Info file you wish to check and
type:
</p>
<div class="example">
<pre class="example-preformatted">M-x Info-validate
</pre></div>
<p>Note that the <code class="code">Info-validate</code> command requires an uppercase
&lsquo;I&rsquo;. You may also need to create a tag table before running
<code class="code">Info-validate</code>. See <a class="xref" href="Tagifying.html">Tagifying a File</a>.
</p>
<p>If your file is valid, you will receive a message that says &ldquo;File appears
valid&rdquo;. However, if you have a pointer that does not point to a node,
error messages will be displayed in a buffer called &lsquo;<samp class="samp">*problems in
info file*</samp>&rsquo;.
</p>
<p>For example, <code class="code">Info-validate</code> was run on a test file that contained
only the first node of this manual. One of the messages said:
</p>
<div class="example">
<pre class="example-preformatted">In node &quot;Overview&quot;, invalid Next: Texinfo Mode
</pre></div>
<p>This meant that the node called &lsquo;<samp class="samp">Overview</samp>&rsquo; had a &lsquo;Next&rsquo; pointer that
did not point to anything (which was true in this case, since the test file
had only one node in it).
</p>
<p>Now suppose we add a node named &lsquo;<samp class="samp">Texinfo Mode</samp>&rsquo; to our test case
but we do not specify a &lsquo;Previous&rsquo; for this node. Then we will get
the following error message:
</p>
<div class="example">
<pre class="example-preformatted">In node &quot;Texinfo Mode&quot;, should have Previous: Overview
</pre></div>
<p>This is because every &lsquo;Next&rsquo; pointer should be matched by a
&lsquo;Previous&rsquo; (in the node where the &lsquo;Next&rsquo; points) which points back.
</p>
<p><code class="code">Info-validate</code> also checks that all menu entries and cross-references
point to actual nodes.
</p>
<p><code class="code">Info-validate</code> requires a tag table and does not work with files
that have been split. (The <code class="code">texinfo-format-buffer</code> command
automatically splits large files.) In order to use <code class="code">Info-validate</code>
on a large file, you must run <code class="code">texinfo-format-buffer</code> with an
argument so that it does not split the Info file; and you must create a
tag table for the unsplit file.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Unsplit.html">Creating an Unsplit File</a>, Up: <a href="Running-Info_002dvalidate.html">Finding Badly Referenced Nodes</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>