comparison man/xemacs/startup.texi @ 371:cc15677e0335 r21-2b1

Import from CVS: tag r21-2b1
author cvs
date Mon, 13 Aug 2007 11:03:08 +0200
parents a4f53d9b3154
children 6240c7796c7a
comparison
equal deleted inserted replaced
370:bd866891f083 371:cc15677e0335
1 @node Startup Paths, Packages, Command Switches, Top 1 @node Startup Paths, Basic, Command Switches, Top
2 @comment node-name, next, previous, up 2 @comment node-name, next, previous, up
3 @section How XEmacs finds Directories and Files 3 @section How XEmacs finds Directories and Files
4 4
5 @cindex startup paths 5 @cindex startup paths
6 @cindex directories 6 @cindex directories
7 7
8 XEmacs deals with a multitude of files during operation. These files 8 XEmacs deals with a multitude of files during operation. These files
9 are spread over many directories, and XEmacs determines the location of 9 are spread over many directories, and XEmacs determines the location of
10 most of these directories at startup and organizes them into various 10 most of these directories at startup and organizes them into various
11 paths. (A @dfn{path}, 11 paths. (A @emph{path},
12 @cindex path 12 @cindex path
13 for the purposes of this section, is simply a list of directories which 13 for the purposes of this section, is simply a list of directories which
14 XEmacs searches successively in order to locate a file.) 14 XEmacs searches successively in order to locate a file.)
15 15
16 @subsection XEmacs Directory Hierarchies 16 @subsection XEmacs Directory Hierarchies
28 matter where they may be hidden. 28 matter where they may be hidden.
29 29
30 XEmacs will always respect directory options passed to @code{configure}. 30 XEmacs will always respect directory options passed to @code{configure}.
31 However, if it cannot locate a directory at the configured place, it 31 However, if it cannot locate a directory at the configured place, it
32 will initiate a search for the directory in any of a number of 32 will initiate a search for the directory in any of a number of
33 @dfn{hierachies} rooted under a directory which XEmacs assumes contain 33 @emph{hierachies} rooted under a directory which XEmacs assumes contain
34 parts of the XEmacs installation; it may locate several such hierarchies 34 parts of the XEmacs installation; it may locate several such hierarchies
35 and search across them. (Typically, there are just one or two 35 and search across them. (Typically, there are just one or two
36 hierarchies: the hierarchy where XEmacs was or will be installed, and 36 hierarchies: the hierarchy where XEmacs was or will be installed, and
37 the one where it is being built.) Such a directory containing a 37 the one where it is being built.) Such a directory containing a
38 hierarchy is called a @dfn{root}. 38 hierarchy is called a @emph{root}.
39 @cindex root of a hierarchy 39 @cindex root of a hierarchy
40 Whenever this section refers to a directory using the shorthand 40 Whenever this section refers to a directory using the shorthand
41 @code{<root>}, it means that XEmacs searches for it under all 41 @code{<root>}, it means that XEmacs searches for it under all
42 hierarchies XEmacs was able to scrounge up. In a 42 hierarchies under all hierarchies XEmacs was able to scrounge up. In a
43 running XEmacs, the hierarchy roots are stored in the variable 43 running XEmacs, the hierarchy roots are stored in the variable
44 @code{emacs-roots}. 44 @code{emacs-roots}.
45 @vindex emacs-roots 45 @vindex emacs-roots
46 46
47 @subsection Package Hierarchies 47 @subsection Package Hierarchies
51 the core installation. They are part of any of the many packages 51 the core installation. They are part of any of the many packages
52 usually installed on top of an XEmacs installation. (@xref{Packages}.) 52 usually installed on top of an XEmacs installation. (@xref{Packages}.)
53 Hence, they play a prominent role in the various paths XEmacs sets up. 53 Hence, they play a prominent role in the various paths XEmacs sets up.
54 54
55 XEmacs locates packages in any of a number of package hierarchies. 55 XEmacs locates packages in any of a number of package hierarchies.
56 Package hierarchies fall into three groups: @dfn{early}, @dfn{late}, 56 Package hierarchies fall into three groups: @emph{early}, @emph{late},
57 and @dfn{last}, 57 and @emph{last},
58 @cindex early package hierarchies 58 @cindex early package hierarchies
59 @cindex late package hierarchies 59 @cindex late package hierarchies
60 @cindex last package hierarchies 60 @cindex last package hierarchies
61 according to the relative location at which they show 61 according to the relative location at which they show
62 up in the various XEmacs paths. Early package hierarchies are at the 62 up in the various XEmacs paths. Early package hierarchies are at the
67 subdirectory @file{.xemacs} of the user's home directory. 67 subdirectory @file{.xemacs} of the user's home directory.
68 68
69 Moreover, XEmacs expects late hierarchies in the subdirectories 69 Moreover, XEmacs expects late hierarchies in the subdirectories
70 @file{site-packages}, @file{mule-packages}, and @file{xemacs-packages} 70 @file{site-packages}, @file{mule-packages}, and @file{xemacs-packages}
71 (in that order) of the @file{<root>/lib/xemacs} subdirectory of one of 71 (in that order) of the @file{<root>/lib/xemacs} subdirectory of one of
72 the installation hierarchies. (If you run in-place, these are direct 72 the installation hierarchies. (If you run in-place, these are directr
73 subdirectories of the build directory.) Furthermore, XEmacs will also 73 subdirectories of the build directory.) Furthermore, XEmacs will also
74 search these subdirectories in the @file{<root>/lib/xemacs-<VERSION>} 74 search these subdirectories in the @file{<root>/lib/xemacs-<VERSION>}
75 subdirectory and prefer directories found there. 75 subdirectory and prefer directories found there.
76 76
77 By default, XEmacs does not have a pre-configured last package 77 By default, XEmacs does not have a pre-configured last package
78 hierarchy. Last hierarchies are primarily for using package hierarchies 78 hierarchy. Last hierarchies are primarily for using package
79 of outdated versions of XEmacs as a fallback option. For example, it is 79 hierarchies of outdated versions of XEmacs as a fallback option. For
80 possible to run XEmacs 21.0 with the 20.4 package hierarchy as a last 80 example, it is possible to run XEmacs with the 20.4 package hierarchy
81 hierarchy. 81 as a last hierarchy.
82 82
83 It is possible to specify at configure-time the location of the various 83 It is possible to specify at configure-time the location of the various
84 package hierarchies with the @code{--package-path} option to configure. 84 package hierarchies with the @code{--package-path} option to configure.
85 @cindex package path 85 @cindex package path
86 The early, late, and last components of the package path are separated 86 The early, late, and last components of the package path are separated
87 by double instead of single colons. If all three components are 87 by double instead of single colons. If three components are present,
88 present, they locate the early, late, and last package hierarchies 88 they are locate the early, late, and last package hierarchies
89 respectively. If two components are present, they locate the early and 89 respectively. If two components are present, they locate the early and
90 late hierarchies. If only one component is present, it locates the 90 late hierarchies. If only one component is present, it locates the late
91 late hierarchy. At run time, the package path may also be specified via 91 hierarchy. At run time, the package path may also be specified via the
92 the @code{EMACSPACKAGEPATH} environment variable. 92 @code{PACKAGEPATH} environment variable.
93 93
94 An XEmacs package is laid out just like a normal installed XEmacs lisp 94 An XEmacs package is laid out just like a normal installed XEmacs lisp
95 directory. It may have @file{lisp}, @file{etc}, @file{info}, and 95 directory. It may have @file{lisp}, @file{etc}, @file{info}, and
96 @file{lib-src} subdirectories. XEmacs adds these at appropriate places 96 @file{lib-src} subdirectories. XEmacs adds these at appropriate places
97 within the various system-wide paths. 97 within the various system-wide paths.
101 @subsection Directories and Paths 101 @subsection Directories and Paths
102 @cindex paths 102 @cindex paths
103 103
104 Here is a list of the various directories and paths XEmacs tries to 104 Here is a list of the various directories and paths XEmacs tries to
105 locate during startup. XEmacs distinguishes between directories and 105 locate during startup. XEmacs distinguishes between directories and
106 paths specific to @dfn{version}, @dfn{site}, and @dfn{architecture} 106 paths specific to @emph{version}, @emph{site}, and @emph{architecture}
107 when looking for them. 107 when looking for them.
108 108
109 @table @code 109 @table @code
110 @item version-specific 110 @item version-specific
111 @cindex version-specific directories
112 directories are specific to the version of XEmacs they belong to and 111 directories are specific to the version of XEmacs they belong to and
113 typically reside under @file{<root>/lib/xemacs-<VERSION>}. 112 typically reside under @file{<root>/lib/xemacs-<VERSION>}.
114 @item site-specific 113 @item site-specific
115 @cindex site-specific directories
116 directories are independent of the version of XEmacs they belong to and 114 directories are independent of the version of XEmacs they belong to and
117 typically reside under @file{<root>/lib/xemacs} 115 typically reside under @file{<root>/lib/xemacs}
118 @item architecture-specific 116 @item architecture-specific
119 @cindex architecture-specific directories
120 directories are specific both to the version of XEmacs and the 117 directories are specific both to the version of XEmacs and the
121 architecture it runs on and typically reside under 118 architecture it runs on and typically reside under
122 @file{<root>/lib/xemacs-<VERSION>/<ARCHITECTURE>}. 119 @file{<root>/lib/xemacs-<VERSION>/<ARCHITECTURE>}.
123 @end table 120 @end table
124 121
125 During installation, all of these directories may also reside directly 122 During installation, all of these directories may also reside directly
126 under @file{<root>}, because that is where they are in the XEmacs tarball. 123 under @file{<root>}, because that is where they are in the XEmacs tarball.
127 124
128 If XEmacs runs with the @code{-debug-paths} option (@pxref{Command 125 If XEmacs runs with the @code{-debug-paths} option (@xref{Command
129 Switches}), it will print the values of these variables, hopefully 126 Switches}), it will print the values of these variables, hopefully
130 aiding in debugging any problems which come up. 127 aiding in debugging any problems which come up.
131 128
132 @table @code 129 @table @code
133 130
178 Is the path for executables which XEmacs may want to start. It contains 175 Is the path for executables which XEmacs may want to start. It contains
179 the package executable paths as well as @code{exec-directory}, and the 176 the package executable paths as well as @code{exec-directory}, and the
180 directories of the environment variables @code{PATH} 177 directories of the environment variables @code{PATH}
181 @vindex PATH 178 @vindex PATH
182 and @code{EMACSPATH}. 179 and @code{EMACSPATH}.
183 @vindex EMACSPATH 180 @vindex EMCSPATH
184 181
185 @item doc-directory 182 @item doc-directory
186 @vindex doc-directory 183 @vindex doc-directory
187 Is the directory containing the architecture-specific @file{DOC} file 184 Is the directory containing the architecture-specific @file{DOC} file
188 that contains documentation for XEmacs' commands. 185 that contains documentation for XEmacs' commands.