* lisp/erc/erc.el: Fix comment.
[bpt/emacs.git] / lisp / paths.el
CommitLineData
0a10297a 1;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*-
6594deb0 2
73b0cd50 3;; Copyright (C) 1986, 1988, 1994, 1999-2011 Free Software Foundation, Inc.
3a801d0c 4
e5167999 5;; Maintainer: FSF
d7b4d18f 6;; Keywords: internal
bd78fa1d 7;; Package: emacs
e5167999 8
a0824fec 9;; This file is part of GNU Emacs.
10
eb3fa2cf 11;; GNU Emacs is free software: you can redistribute it and/or modify
a0824fec 12;; it under the terms of the GNU General Public License as published by
eb3fa2cf
GM
13;; the Free Software Foundation, either version 3 of the License, or
14;; (at your option) any later version.
a0824fec 15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
eb3fa2cf 22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
a0824fec 23
e5167999 24;;; Commentary:
a0824fec 25
26;; These are default settings for names of certain files and directories
27;; that Emacs needs to refer to from time to time.
28
29;; If these settings are not right, override them with `setq'
30;; in site-init.el. Do not change this file.
31
e5167999
ER
32;;; Code:
33
e884c260 34;; Docstrings in this file should, where reasonable, follow the
d35d0238 35;; conventions described in make-docfile, so that they get put in the
e884c260
DL
36;; DOC file rather than in memory.
37
97ad35dd 38(defun prune-directory-list (dirs &optional keep reject)
d35d0238
GM
39 "\
40Return a copy of DIRS with all non-existent directories removed.
97ad35dd
MB
41The optional argument KEEP is a list of directories to retain even if
42they don't exist, and REJECT is a list of directories to remove from
43DIRS, even if they exist; REJECT takes precedence over KEEP.
44
45Note that membership in REJECT and KEEP is checked using simple string
0d5f6046 46comparison."
97ad35dd
MB
47 (apply #'nconc
48 (mapcar (lambda (dir)
49 (and (not (member dir reject))
50 (or (member dir keep) (file-directory-p dir))
51 (list dir)))
52 dirs)))
53
a755d8e5 54(defvar Info-default-directory-list
e103ef95
EZ
55 (let* ((config-dir
56 (file-name-as-directory configure-info-directory))
57 (config
58 (list config-dir))
97ad35dd
MB
59 (unpruned-prefixes
60 ;; Directory trees that may not exist at installation time, and
5a89f0a7 61 ;; so shouldn't be pruned based on existence.
97ad35dd
MB
62 '("/usr/local/"))
63 (prefixes
64 ;; Directory trees in which to look for info subdirectories
65 (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/")
66 unpruned-prefixes))
67 (suffixes
68 ;; Subdirectories in each directory tree that may contain info
69 ;; directories.
cd4496ef 70 '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/"
e103ef95
EZ
71 "emacs/" "lib/" "lib/emacs/"))
72 (standard-info-dirs
73 (apply #'nconc
74 (mapcar (lambda (pfx)
75 (let ((dirs
76 (mapcar (lambda (sfx)
77 (concat pfx sfx "info/"))
78 suffixes)))
79 (if (member pfx unpruned-prefixes)
80 dirs
81 (prune-directory-list dirs config))))
82 prefixes))))
cd4496ef
CY
83 ;; If $(prefix)/share/info is not one of the standard info
84 ;; directories, they are probably installing an experimental
85 ;; version of Emacs, so make sure that experimental version's Info
86 ;; files override the ones in standard directories.
e103ef95 87 (if (member config-dir standard-info-dirs)
b6348438 88 (nconc standard-info-dirs config)
e103ef95 89 (cons config-dir standard-info-dirs)))
d4ecdb6b
RS
90 "Default list of directories to search for Info documentation files.
91They are searched in the order they are given in the list.
feea21d1 92Therefore, the directory of Info files that come with Emacs
e103ef95
EZ
93normally should come last (so that local files override standard ones),
94unless Emacs is installed into a non-standard directory. In the latter
95case, the directory of Info files that come with Emacs should be
96first in this list.
d4ecdb6b
RS
97
98Once Info is started, the list of directories to search
99comes from the variable `Info-directory-list'.
100This variable `Info-default-directory-list' is used as the default
395f3b7f
GM
101for initializing `Info-directory-list' when Info is started, unless
102the environment variable INFOPATH is set.")
a0824fec 103
d6fcf407 104(defvar news-directory
1e8780b1 105 (purecopy (if (file-exists-p "/usr/spool/news/")
7cf202bd 106 "/usr/spool/news/"
1e8780b1 107 "/var/spool/news/"))
a0824fec 108 "The root directory below which all news files are stored.")
b18ba80e 109(defvaralias 'news-path 'news-directory)
a0824fec 110
111(defvar news-inews-program
1e8780b1 112 (purecopy
a0824fec 113 (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
114 ((file-exists-p "/usr/local/inews") "/usr/local/inews")
115 ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
c40c2f9d 116 ((file-exists-p "/usr/contrib/lib/news/inews") "/usr/contrib/lib/news/inews")
a0824fec 117 ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
1e8780b1 118 (t "inews")))
a0824fec 119 "Program to post news.")
120
e884c260 121;; set this to your local server
1e8780b1 122(defvar gnus-default-nntp-server (purecopy "") "\
e884c260 123The name of the host running an NNTP server.
d390e294 124The null string means use the local host as the server site.")
a0824fec 125
ca0a881a 126(defvar gnus-nntp-service (purecopy "nntp") "\
d35d0238 127NNTP service name, usually \"nntp\" or 119.
527a0f36 128Go to a local news spool if its value is nil, in which case `gnus-nntp-server'
129should be set to `(system-name)'.")
a0824fec 130
e884c260
DL
131(defvar gnus-local-organization nil "\
132*The name of your organization, as a string.
a0824fec 133The `ORGANIZATION' environment variable is used instead if defined.")
134
6d341a2a 135(defcustom rmail-file-name (purecopy "~/RMAIL") "\
d35d0238 136Name of user's primary mail file."
e306edef
GM
137 :type 'string
138 :group 'rmail
139 :version "21.1")
5833af3a 140
d6fcf407 141(defvar rmail-spool-directory
ca0a881a 142 (purecopy
ebff2353
GM
143 (cond ((file-exists-p "/var/mail")
144 ;; SVR4 and recent BSD are said to use this.
145 ;; Rather than trying to know precisely which systems use it,
146 ;; let's assume this dir is never used for anything else.
fa8fb184 147 "/var/mail/")
7cf202bd
KH
148 ;; Many GNU/Linux systems use this name.
149 ((file-exists-p "/var/spool/mail")
c7de13da 150 "/var/spool/mail/")
ebff2353 151 ((memq system-type '(hpux usg-unix-v irix))
1eff7356 152 "/usr/mail/")
ca0a881a 153 (t "/usr/spool/mail/")))
a0824fec 154 "Name of directory used by system mailer for delivering new mail.
155Its name should end with a slash.")
156
d6fcf407 157(defcustom remote-shell-program
1e8780b1 158 (purecopy
93a18127
KH
159 (cond
160 ;; Some systems use rsh for the remote shell; others use that name for the
161 ;; restricted shell and use remsh for the remote shell. Let's try to guess
162 ;; based on what we actually find out there. The restricted shell is
163 ;; almost certainly in /bin or /usr/bin, so it's probably safe to assume
66263a7d
KH
164 ;; that an rsh found elsewhere is the remote shell program. The converse
165 ;; is not true: /usr/bin/rsh could be either one, so check that last.
93a18127 166 ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
66263a7d 167 ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
93a18127 168 ((file-exists-p "/bin/remsh") "/bin/remsh")
9ade6d5e 169 ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
66263a7d
KH
170 ((file-exists-p "/usr/local/bin/remsh") "/usr/local/bin/remsh")
171 ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
172 ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
93a18127 173 ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
fa195bce
KH
174 ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
175 ((file-exists-p "/bin/rcmd") "/bin/rcmd")
66263a7d
KH
176 ((file-exists-p "/bin/rsh") "/bin/rsh")
177 ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
1e8780b1 178 (t "rsh")))
d6fcf407
RS
179 "File name for remote-shell program (often rsh or remsh)."
180 :group 'environment
181 :type 'file)
93a18127 182
ca0a881a 183(defvar term-file-prefix (purecopy "term/") "\
e884c260 184If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\")))
a0824fec 185You may set this variable to nil in your `.emacs' file if you do not wish
186the terminal-initialization file to be loaded.")
187
6594deb0 188;;; paths.el ends here