[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
23.2.3 Info Files in Other Directories
If an Info file is not in the ‘info’ directory, there are three ways to specify its location:
- Write the pathname in the ‘dir’ file as the second part of the menu.
-
Specify the Info directory name in the
INFOPATH
environment variable in your ‘.profile’ or ‘.cshrc’ initialization file. (Only you and others who set this environment variable will be able to find Info files whose location is specified this way.) -
If you are using Emacs, list the name of the file in a second ‘dir’
file, in its directory; and then add the name of that directory to the
Info-directory-list
variable in your personal or site initialization file.This variable tells Emacs where to look for ‘dir’ files (the files must be named ‘dir’). Emacs merges the files named ‘dir’ from each of the listed directories. (In Emacs version 18, you can set the
Info-directory
variable to the name of only one directory.)
For example, to reach a test file in the ‘/home/bob/info’ directory, you could add an entry like this to the menu in the standard ‘dir’ file:
* Test: (/home/bob/info/info-test). Bob's own test file.
In this case, the absolute file name of the ‘info-test’ file is written as the second part of the menu entry.
If you don’t want to edit the system ‘dir’ file, you can tell
Info where to look by setting the INFOPATH
environment variable
in your shell startup file. This works with both the Emacs and
standalone Info readers.
Specifically, if you use a Bourne-compatible shell such as sh
or bash
for your shell command interpreter, you set the
INFOPATH
environment variable in the ‘.profile’
initialization file; but if you use csh
or tcsh
, you set
the variable in the ‘.cshrc’ initialization file. On
MS-DOS/MS-Windows systems, you must set INFOPATH
in your
‘autoexec.bat’ file or in the registry. Each type of shell uses
a different syntax.
-
In a ‘.cshrc’ file, you could set the
INFOPATH
variable as follows:setenv INFOPATH .:~/info:/usr/local/emacs/info
-
In a ‘.profile’ file, you would achieve the same effect by writing:
INFOPATH=.:$HOME/info:/usr/local/emacs/info export INFOPATH
-
In a ‘autoexec.bat’ file, you write this command (note the
use of ‘;’ as the directory separator, and a different syntax for
using values of other environment variables):
set INFOPATH=.;%HOME%/info;c:/usr/local/emacs/info
The ‘.’ indicates the current directory as usual. Emacs uses the
INFOPATH
environment variable to initialize the value of Emacs’s
own Info-directory-list
variable. The standalone Info reader
merges any files named ‘dir’ in any directory listed in the
INFOPATH
variable into a single menu presented to you in the node
called ‘(dir)Top’.
However you set INFOPATH
, if its last character is a colon (on
MS-DOS/MS-Windows systems, use a semicolon instead), this is replaced
by the default (compiled-in) path. This gives you a way to augment
the default path with new directories without having to list all the
standard places. For example (using sh
syntax):
INFOPATH=/home/bob/info: export INFOPATH
will search ‘/home/bob/info’ first, then the standard directories. Leading or doubled colons are not treated specially.
When you create your own ‘dir’ file for use with
Info-directory-list
or INFOPATH
, it’s easiest to start by
copying an existing ‘dir’ file and replace all the text after the
‘* Menu:’ with your desired entries. That way, the punctuation
and special CTRL-_ characters that Info needs will be present.
As one final alternative, which works only with Emacs Info, you can
change the Info-directory-list
variable. For example:
(add-hook 'Info-mode-hook '(lambda () (add-to-list 'Info-directory-list (expand-file-name "~/info"))))
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on October 2, 2013 using texi2html 5.0.