Emacs releases come with pre-built Info files, and the normal install process places them in the correct location. This is true for most applications that provide Info files. The following section is only relevant if you want to install extra Info files by hand.
First, you must turn the Texinfo source files into Info files. You may do this using the stand-alone makeinfo program, available as part of the Texinfo package at
For information about the Texinfo format, read the Texinfo manual which comes with the Texinfo package. This manual also comes installed in Info format, so you can read it from Emacs; type C-h i m texinfo RET.
Alternatively, you could use the Emacs command M-x texinfo-format-buffer, after visiting the Texinfo source file of the manual you want to convert.
texinfo-format-buffer nor makeinfo installs the
resulting Info files in Emacs’s Info tree. To install Info files,
perform these steps:
install-infocommand, which is part of the Texinfo distribution, to update the main Info directory menu, like this:
install-info --info-dir=dir-path dir-path/file
where dir-path is the full path to the directory where you copied the produced Info file(s), and file is the name of the Info file you produced and want to install.
If you don’t have the
install-info command installed, you can
edit the file info/dir in the installed Emacs distribution, and
add a line for the top level node in the Info package that you are
installing. Follow the examples already in this file. The format is:
* Topic: (relative-pathname). Short description of topic.
If you want to install Info files and you don’t have the necessary privileges, you have several options:
infocommand and specify the name of the Info file in the minibuffer. This goes to the node named ‘Top’ in that file. For example, to view an Info file named info-file in your home directory, you can type this:
C-u C-h i ~/info-file RET
Alternatively, you can feed a file name to the
command (invoked by pressing g in Info mode) by typing the name
of the file in parentheses, like this:
C-h i g (~/info-file) RET
Info-default-directory-list. For example, to use a private Info directory which is a subdirectory of your home directory named Info, you could put this in your init file (see How do I set up an init file properly?):
(add-to-list 'Info-default-directory-list "~/Info/")
You will need a top-level Info file named dir in this directory
which has everything the system dir file has in it, except it
should list only entries for Info files in that directory. You might
not need it if (fortuitously) all files in this directory were
referenced by other dir files. The node lists from all
dir files in
Info-default-directory-list are merged by the