Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-419
[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
97ad35dd 3;; Copyright (C) 1986, 1988, 1994, 1999, 2000 Free Software Foundation, Inc.
3a801d0c 4
e5167999 5;; Maintainer: FSF
d7b4d18f 6;; Keywords: internal
e5167999 7
a0824fec 8;; This file is part of GNU Emacs.
9
10;; GNU Emacs is free software; you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by
e5167999 12;; the Free Software Foundation; either version 2, or (at your option)
a0824fec 13;; any later version.
14
15;; GNU Emacs is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details.
19
20;; You should have received a copy of the GNU General Public License
b578f267
EN
21;; along with GNU Emacs; see the file COPYING. If not, write to the
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23;; Boston, MA 02111-1307, USA.
a0824fec 24
e5167999 25;;; Commentary:
a0824fec 26
27;; These are default settings for names of certain files and directories
28;; that Emacs needs to refer to from time to time.
29
30;; If these settings are not right, override them with `setq'
31;; in site-init.el. Do not change this file.
32
e5167999
ER
33;;; Code:
34
e884c260
DL
35;; Docstrings in this file should, where reasonable, follow the
36;; conventions described in bindings.el, so that they get put in the
37;; DOC file rather than in memory.
38
97ad35dd
MB
39(defun prune-directory-list (dirs &optional keep reject)
40 "Returns a copy of DIRS with all non-existant directories removed.
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
46comparision."
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
61 ;; so shouldn't be pruned based on existance.
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.
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))))
83 ;; If $(prefix)/info is not one of the standard info directories,
84 ;; they are probably installing an experimental version of Emacs,
85 ;; so make sure that experimental version's Info files override
86 ;; the ones in standard directories.
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
7cf202bd
KH
105 (if (file-exists-p "/usr/spool/news/")
106 "/usr/spool/news/"
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
112 (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
113 ((file-exists-p "/usr/local/inews") "/usr/local/inews")
114 ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
c40c2f9d 115 ((file-exists-p "/usr/contrib/lib/news/inews") "/usr/contrib/lib/news/inews")
a0824fec 116 ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
117 (t "inews"))
118 "Program to post news.")
119
e884c260
DL
120;; set this to your local server
121(defvar gnus-default-nntp-server "" "\
122The name of the host running an NNTP server.
d390e294 123The null string means use the local host as the server site.")
a0824fec 124
125(defvar gnus-nntp-service "nntp"
126 "NNTP service name, usually \"nntp\" or 119).
527a0f36 127Go to a local news spool if its value is nil, in which case `gnus-nntp-server'
128should be set to `(system-name)'.")
a0824fec 129
e884c260
DL
130(defvar gnus-local-organization nil "\
131*The name of your organization, as a string.
a0824fec 132The `ORGANIZATION' environment variable is used instead if defined.")
133
e306edef
GM
134(defcustom rmail-file-name "~/RMAIL"
135 "*Name of user's primary mail file."
136 :type 'string
137 :group 'rmail
138 :version "21.1")
5833af3a 139
d6fcf407 140(defvar rmail-spool-directory
d9fc020b
RS
141 (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration)
142 "/usr/spool/mail/")
f1180544 143 ;; On The Bull DPX/2 /usr/spool/mail is used although
b6c96aa0
RS
144 ;; it is usg-unix-v.
145 ((string-match "^m68k-bull-sysv3" system-configuration)
146 "/usr/spool/mail/")
7a41a2e2
RS
147 ;; SVR4 and recent BSD are said to use this.
148 ;; Rather than trying to know precisely which systems use it,
149 ;; let's assume this dir is never used for anything else.
150 ((file-exists-p "/var/mail")
fa8fb184 151 "/var/mail/")
7cf202bd
KH
152 ;; Many GNU/Linux systems use this name.
153 ((file-exists-p "/var/spool/mail")
c7de13da 154 "/var/spool/mail/")
d9fc020b 155 ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix))
1eff7356 156 "/usr/mail/")
1eff7356 157 (t "/usr/spool/mail/"))
a0824fec 158 "Name of directory used by system mailer for delivering new mail.
159Its name should end with a slash.")
160
d6fcf407 161(defcustom sendmail-program
9c85ef9f 162 (cond
9c85ef9f 163 ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
1e0fea28 164 ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
9c85ef9f
RS
165 ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
166 (t "fakemail")) ;In ../etc, to interface to /bin/mail.
d6fcf407
RS
167 "Program used to send messages."
168 :group 'mail
169 :type 'file)
a0824fec 170
d6fcf407 171(defcustom remote-shell-program
93a18127
KH
172 (cond
173 ;; Some systems use rsh for the remote shell; others use that name for the
174 ;; restricted shell and use remsh for the remote shell. Let's try to guess
175 ;; based on what we actually find out there. The restricted shell is
176 ;; almost certainly in /bin or /usr/bin, so it's probably safe to assume
66263a7d
KH
177 ;; that an rsh found elsewhere is the remote shell program. The converse
178 ;; is not true: /usr/bin/rsh could be either one, so check that last.
93a18127 179 ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
66263a7d 180 ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
93a18127 181 ((file-exists-p "/bin/remsh") "/bin/remsh")
9ade6d5e 182 ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
66263a7d
KH
183 ((file-exists-p "/usr/local/bin/remsh") "/usr/local/bin/remsh")
184 ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
185 ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
93a18127 186 ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
fa195bce
KH
187 ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
188 ((file-exists-p "/bin/rcmd") "/bin/rcmd")
66263a7d
KH
189 ((file-exists-p "/bin/rsh") "/bin/rsh")
190 ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
a608ec1b 191 (t "rsh"))
d6fcf407
RS
192 "File name for remote-shell program (often rsh or remsh)."
193 :group 'environment
194 :type 'file)
93a18127 195
d6fcf407 196(defvar term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\
e884c260 197If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\")))
a0824fec 198You may set this variable to nil in your `.emacs' file if you do not wish
199the terminal-initialization file to be loaded.")
200
d6fcf407 201(defvar abbrev-file-name
a0824fec 202 (if (eq system-type 'vax-vms)
203 "~/abbrev.def"
b33e350a 204 (convert-standard-filename "~/.abbrev_defs"))
a0824fec 205 "*Default name of file to read abbrevs from.")
6594deb0 206
ab5796a9 207;;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1
6594deb0 208;;; paths.el ends here