gnu.org (original) (raw)
3.5 How do I install a piece of Texinfo documentation?
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
https://www.gnu.org/software/texinfo/
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 texinfoRET.
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.
Neither texinfo-format-buffer
nor makeinfo installs the resulting Info files in Emacs’s Info tree. To install Info files, perform these steps:
- Move the files to the info directory in the installed Emacs distribution. See What are src/config.h, site-lisp/default.el, etc.?, if you don’t know where that is.
- Run the
install-info
command, 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 theinstall-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:
- Info files don’t actually need to be installed before being used. You can use a prefix argument for the
info
command 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 namedinfo-file in your home directory, you can type this:
C-u C-h i/info-file RET/info-file) RET
Alternatively, you can feed a file name to theInfo-goto-node
command (invoked by pressing g in Info mode) by typing the name of the file in parentheses, like this:
C-h i g ( - You can create your own Info directory. You can tell Emacs where that Info directory is by adding its pathname to the value of the variable
Info-default-directory-list
. For example, to use a private Info directory which is a subdirectory of your home directory namedInfo, 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 alldir files inInfo-default-directory-list
are merged by the Info system.