<!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>makeinfo in Emacs (GNU Texinfo 6.7)</title>
<meta name="description" content="makeinfo in Emacs (GNU Texinfo 6.7)">
<meta name="keywords" content="makeinfo in Emacs (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="Creating-an-Info-File.html" rel="up" title="Creating an Info File">
<link href="texinfo_002dformat-commands.html" rel="next" title="texinfo-format commands">
<link href="makeinfo-Advantages.html" rel="prev" title="makeinfo Advantages">
<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="makeinfo-in-Emacs"></span><div class="header">
<p>
Next: <a href="texinfo_002dformat-commands.html" accesskey="n" rel="next"><code>texinfo-format</code> commands</a>, Previous: <a href="makeinfo-Advantages.html" accesskey="p" rel="prev"><code>makeinfo</code> Advantages</a>, Up: <a href="Creating-an-Info-File.html" accesskey="u" rel="up">Creating an Info File</a> [<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="Running-makeinfo-Within-Emacs"></span><h4 class="subsection">21.1.2 Running <code>makeinfo</code> Within Emacs</h4>
<span id="index-Running-makeinfo-in-Emacs"></span>
<span id="index-makeinfo-inside-Emacs"></span>
<span id="index-Shell_002c-running-makeinfo-in"></span>
<p>You can run <code>makeinfo</code> in GNU Emacs Texinfo mode by using either the
<code>makeinfo-region</code> or the <code>makeinfo-buffer</code> commands. In
Texinfo mode, the commands are bound to <kbd>C-c C-m C-r</kbd> and <kbd>C-c
C-m C-b</kbd> by default.
</p>
<dl compact="compact">
<dt><kbd>C-c C-m C-r</kbd></dt>
<dt><kbd>M-x makeinfo-region</kbd></dt>
<dd><p>Format the current region for Info.
<span id="index-makeinfo_002dregion"></span>
</p>
</dd>
<dt><kbd>C-c C-m C-b</kbd></dt>
<dt><kbd>M-x makeinfo-buffer</kbd></dt>
<dd><p>Format the current buffer for Info.
<span id="index-makeinfo_002dbuffer"></span>
</p></dd>
</dl>
<p>When you invoke <code>makeinfo-region</code> the output goes to a temporary
buffer. When you invoke <code>makeinfo-buffer</code> output goes to the
file set with <code>@setfilename</code> (see <a href="_0040setfilename.html"><code>@setfilename</code></a>).
</p>
<p>The Emacs <code>makeinfo-region</code> and <code>makeinfo-buffer</code> commands
run the <code>makeinfo</code> program in a temporary shell buffer. If
<code>makeinfo</code> finds any errors, Emacs displays the error messages in
the temporary buffer.
</p>
<span id="index-Errors_002c-parsing"></span>
<span id="index-Parsing-errors"></span>
<span id="index-next_002derror"></span>
<p>You can parse the error messages by typing <kbd>C-x `</kbd>
(<code>next-error</code>). This causes Emacs to go to and position the
cursor on the line in the Texinfo source that <code>makeinfo</code> thinks
caused the error. See <a href="../emacs/Compilation.html#Compilation">Running <code>make</code> or
Compilers Generally</a> in <cite>The GNU Emacs Manual</cite>, for more
information about using the <code>next-error</code> command.
</p>
<p>In addition, you can kill the shell in which the <code>makeinfo</code>
command is running or make the shell buffer display its most recent
output.
</p>
<dl compact="compact">
<dt><kbd>C-c C-m C-k</kbd></dt>
<dt><kbd>M-x makeinfo-kill-job</kbd></dt>
<dd><span id="index-makeinfo_002dkill_002djob"></span>
<p>Kill the current running <code>makeinfo</code> job
(from <code>makeinfo-region</code> or <code>makeinfo-buffer</code>).
</p>
</dd>
<dt><kbd>C-c C-m C-l</kbd></dt>
<dt><kbd>M-x makeinfo-recenter-output-buffer</kbd></dt>
<dd><span id="index-makeinfo_002drecenter_002doutput_002dbuffer"></span>
<p>Redisplay the <code>makeinfo</code> shell buffer to display its most recent
output.
</p></dd>
</dl>
<p>(Note that the parallel commands for killing and recentering a TeX
job are <kbd>C-c C-t C-k</kbd> and <kbd>C-c C-t C-l</kbd>. See <a href="Texinfo-Mode-Printing.html">Texinfo Mode Printing</a>.)
</p>
<p>You can specify options for <code>makeinfo</code> by setting the
<code>makeinfo-options</code> variable with either the <kbd>M-x
customize</kbd> or the <kbd>M-x set-variable</kbd> command, or by setting the
variable in your <samp>.emacs</samp> initialization file.
</p>
<p>For example, you could write the following in your <samp>.emacs</samp> file:
</p>
<div class="example">
<pre class="example">(setq makeinfo-options
"--paragraph-indent=0 --no-split
--fill-column=70 --verbose")
</pre></div>
<p>For more information, see<br>
<a href="../emacs/Easy-Customization.html#Easy-Customization">Easy Customization Interface</a> in <cite>The GNU Emacs Manual</cite>,<br>
<a href="../emacs/Examining.html#Examining">Examining and Setting Variables</a> in <cite>The GNU Emacs Manual</cite>,<br>
<a href="../emacs/Init-File.html#Init-File">Init File</a> in <cite>The GNU Emacs Manual</cite>, and<br>
<a href="Invoking-texi2any.html#makeinfo-Options"><code>makeinfo</code> Options</a>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="texinfo_002dformat-commands.html" accesskey="n" rel="next"><code>texinfo-format</code> commands</a>, Previous: <a href="makeinfo-Advantages.html" accesskey="p" rel="prev"><code>makeinfo</code> Advantages</a>, Up: <a href="Creating-an-Info-File.html" accesskey="u" rel="up">Creating an Info File</a> [<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>