emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115100: * doc/lispref/loading.texi (Library Search)


From: Glenn Morris
Subject: [Emacs-diffs] trunk r115100: * doc/lispref/loading.texi (Library Search): Update section.
Date: Thu, 14 Nov 2013 08:38:56 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115100
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Thu 2013-11-14 00:38:50 -0800
message:
  * doc/lispref/loading.texi (Library Search): Update section.
modified:
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/loading.texi       
loading.texi-20091113204419-o5vbwnq5f7feedwu-6193
=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2013-11-11 22:52:08 +0000
+++ b/doc/lispref/ChangeLog     2013-11-14 08:38:50 +0000
@@ -1,3 +1,7 @@
+2013-11-14  Glenn Morris  <address@hidden>
+
+       * loading.texi (Library Search): Update section.
+
 2013-11-11  Xue Fuqiao  <address@hidden>
 
        * os.texi (User Identification, Time of Day, Time Conversion):

=== modified file 'doc/lispref/loading.texi'
--- a/doc/lispref/loading.texi  2013-06-24 06:58:52 +0000
+++ b/doc/lispref/loading.texi  2013-11-14 08:38:50 +0000
@@ -253,37 +253,38 @@
 in a list of directories specified by the variable @code{load-path}.
 
 @defvar load-path
address@hidden @env{EMACSLOADPATH} environment variable
 The value of this variable is a list of directories to search when
 loading files with @code{load}.  Each element is a string (which must be
 a directory name) or @code{nil} (which stands for the current working
 directory).
 @end defvar
 
-  Each time Emacs starts up, it sets up the value of @code{load-path}
-in several steps.  First, it initializes @code{load-path} to the
-directories specified by the environment variable @env{EMACSLOADPATH},
-if that exists.  The syntax of @env{EMACSLOADPATH} is the same as used
-for @code{PATH}; directory names are separated by @samp{:} (or
address@hidden;}, on some operating systems), and @samp{.} stands for the
-current default directory.  Here is an example of how to set
address@hidden variable from @command{sh}:
-
address@hidden
-export EMACSLOADPATH
-EMACSLOADPATH=/home/foo/.emacs.d/lisp:/opt/emacs/lisp
address@hidden example
-
address@hidden
-Here is how to set it from @code{csh}:
-
address@hidden
-setenv EMACSLOADPATH /home/foo/.emacs.d/lisp:/opt/emacs/lisp
address@hidden example
+  When Emacs starts up, it sets up the value of @code{load-path}
+in several steps.  First, it initializes @code{load-path} using
+default locations set when Emacs was compiled.  Normally, this
+is a directory something like
+
address@hidden
+"/usr/local/share/emacs/@var{version}/lisp"
address@hidden example
+
+followed by a similarly named @file{leim} directory.  These
+directories contain the standard Lisp files that come with Emacs.
+If Emacs cannot find them, it will not start correctly.
+
+If you run Emacs from the directory where it was built---that is, an
+executable that has not been formally installed---Emacs instead
+initializes @code{load-path} using the @file{lisp} and @file{leim}
+directories in the directory containing the sources from which it
+was built.  If you built Emacs in a separate directory from the
+sources, it also adds those directories from the build directory.
+(In all cases, elements are represented as absolute file names.)
 
 @cindex site-lisp directories
-  If @env{EMACSLOADPATH} is not set (which is usually the case), Emacs
-initializes @code{load-path} with the following two directories:
+Unless you start Emacs with the @option{--no-site-lisp} option,
+it then adds two more @file{site-lisp} directories to the front of
address@hidden  These are intended for locally installed Lisp files,
+and are normally of the form:
 
 @example
 "/usr/local/share/emacs/@var{version}/site-lisp"
@@ -297,26 +298,45 @@
 @end example
 
 @noindent
-The first one is for locally installed packages for a particular Emacs
-version; the second is for locally installed packages meant for use
-with all installed Emacs versions.
-
-  If you run Emacs from the directory where it was built---that is, an
-executable that has not been formally installed---Emacs puts two more
-directories in @code{load-path}.  These are the @code{lisp} and
address@hidden subdirectories of the main build directory.  (Both
-are represented as absolute file names.)
-
-  Next, Emacs ``expands'' the initial list of directories in
address@hidden by adding the subdirectories of those directories.
-Both immediate subdirectories and subdirectories multiple levels down
-are added.  But it excludes subdirectories whose names do not start
-with a letter or digit, and subdirectories named @file{RCS} or
address@hidden, and subdirectories containing a file named
address@hidden
-
-  Next, Emacs adds any extra load directory that you specify using the
address@hidden command-line option (@pxref{Action Arguments,,,emacs, The
+The first one is for locally installed files for a specific Emacs
+version; the second is for locally installed files meant for use
+with all installed Emacs versions.  (If Emacs is running uninstalled,
+it also adds @file{site-lisp} directories from the source and build
+directories, if they exist.  Normally these directories do not contain
address@hidden directories.)
+
address@hidden @env{EMACSLOADPATH} environment variable
+If the environment variable @env{EMACSLOADPATH} is set, it overrides
+the above initialization procedure.  That is, Emacs initializes
address@hidden based solely on the value of the environment
+variable.  You must therefore include the directory containing the
+standard Lisp files, else Emacs will not function.  In most
+situations, it is better to use the @option{-L} command-line option
+(see below) to add elements to @code{load-path}.
+
+The syntax of @env{EMACSLOADPATH} is the same as used for @code{PATH};
+directory names are separated by @samp{:} (or @samp{;}, on some
+operating systems), and @samp{.} stands for the current default
+directory.  Here is an example of how to set @env{EMACSLOADPATH}
+variable (from a @command{sh}-style shell):
+
address@hidden
+export EMACSLOADPATH
+EMACSLOADPATH=/home/foo/.emacs.d/lisp:/usr/local/emacs/24.3/lisp
address@hidden example
+
+  For each directory in @code{load-path}, Emacs then checks to see if
+it contains a file @file{subdirs.el}, and if so, loads it.  The
address@hidden file is created when Emacs is built/installed,
+and contains code that causes Emacs to add any subdirectories of those
+directories to @code{load-path}.  Both immediate subdirectories and
+subdirectories multiple levels down are added.  But it excludes
+subdirectories whose names do not start with a letter or digit, and
+subdirectories named @file{RCS} or @file{CVS}, and subdirectories
+containing a file named @file{.nosearch}.
+
+  Next, Emacs adds any extra load directories that you specify using the
address@hidden command-line option (@pxref{Action Arguments,,,emacs, The
 GNU Emacs Manual}).  It also adds the directories where optional
 packages are installed, if any (@pxref{Packaging Basics}).
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]