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 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.
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
infodirectory in the installed Emacs distribution. See What aresrc/config.h,site-lisp/default.el, etc.?, if you don’t know where that is.Run the
install-infocommand, which is part of the Texinfo distribution, to update the main Info directory menu, like this:bashinstall-info --info-dir=dir-path dir-path/filewhere
dir-pathis the full path to the directory where you copied the produced Info file(s), andfileis the name of the Info file you produced and want to install.If you don’t have the
install-infocommand installed, you can edit the fileinfo/dirin 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:orgmode* 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
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 namedinfo-filein your home directory, you can type this:kbdC-u C-h i ~/info-file RETAlternatively, you can feed a file name to the
Info-goto-nodecommand (invoked by pressing g in Info mode) by typing the name of the file in parentheses, like this:kbdC-h i g (~/info-file) RETYou 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?):emacs-lisp(add-to-list 'Info-default-directory-list "~/Info/")You will need a top-level Info file named
dirin this directory which has everything the systemdirfile 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 otherdirfiles. The node lists from alldirfiles inInfo-default-directory-listare merged by the Info system.