D.10.4.2 Creating an Unsplit File and Adding a Tag Table

You can run Info-validate only on a single Info file that has a tag table. The command will not work on the indirect subfiles that are generated when a master file is split. If you have a large file (longer than 300,000 bytes or so), you need to run the texinfo-format-buffer or makeinfo-buffer command in such a way that it does not create indirect subfiles. You will also need to create a tag table for the Info file. After you have done this, you can run Info-validate and look for badly referenced nodes.

The first step is to create an unsplit Info file. To prevent texinfo-format-buffer from splitting a Texinfo file into smaller Info files, give a prefix to the M-x texinfo-format-buffer command:

C-u M-x texinfo-format-buffer

or else

C-u C-c C-e C-b

When you do this, texinfo-format-buffer will not split the file and will not create a tag table for it.

After creating an unsplit Info file, you must create a tag table for it (see Tagifying a File). Visit the unsplit Info file created by texinfo-format-buffer and type:

M-x Info-tagify

The third step is to validate the Info file:

M-x Info-validate

(Note the uppercase ‘I’ in Info-validate.) In brief, the steps are:

C-u M-x texinfo-format-buffer
M-x Info-tagify
M-x Info-validate

After you have validated the node structure, you can rerun texinfo-format-buffer in the normal way so it will construct a tag table and split the file automatically, or you can make the tag table and split the file manually (see Splitting a File Manually).