Some fixes to follow coding conventions in files maintained by FSF.
[bpt/emacs.git] / lisp / paths.el
CommitLineData
55535639 1;;; paths.el --- define pathnames for use by various Emacs commands
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
7cf202bd
KH
104(defvar news-path
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.")
109
110(defvar news-inews-program
111 (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
112 ((file-exists-p "/usr/local/inews") "/usr/local/inews")
113 ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
c40c2f9d 114 ((file-exists-p "/usr/contrib/lib/news/inews") "/usr/contrib/lib/news/inews")
a0824fec 115 ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
116 (t "inews"))
117 "Program to post news.")
118
e884c260
DL
119;; set this to your local server
120(defvar gnus-default-nntp-server "" "\
121The name of the host running an NNTP server.
d390e294 122The null string means use the local host as the server site.")
a0824fec 123
124(defvar gnus-nntp-service "nntp"
125 "NNTP service name, usually \"nntp\" or 119).
527a0f36 126Go to a local news spool if its value is nil, in which case `gnus-nntp-server'
127should be set to `(system-name)'.")
a0824fec 128
e884c260
DL
129(defvar gnus-local-organization nil "\
130*The name of your organization, as a string.
a0824fec 131The `ORGANIZATION' environment variable is used instead if defined.")
132
e884c260
DL
133(defvar gnus-startup-file "~/.newsrc" "\
134The file listing groups to which user is subscribed.
a0824fec 135Will use `gnus-startup-file'-SERVER instead if exists.")
136
e306edef
GM
137(defcustom rmail-file-name "~/RMAIL"
138 "*Name of user's primary mail file."
139 :type 'string
140 :group 'rmail
141 :version "21.1")
5833af3a 142
a0824fec 143(defconst rmail-spool-directory
d9fc020b
RS
144 (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration)
145 "/usr/spool/mail/")
b6c96aa0
RS
146 ;; On The Bull DPX/2 /usr/spool/mail is used although
147 ;; it is usg-unix-v.
148 ((string-match "^m68k-bull-sysv3" system-configuration)
149 "/usr/spool/mail/")
7a41a2e2
RS
150 ;; SVR4 and recent BSD are said to use this.
151 ;; Rather than trying to know precisely which systems use it,
152 ;; let's assume this dir is never used for anything else.
153 ((file-exists-p "/var/mail")
fa8fb184 154 "/var/mail/")
7cf202bd
KH
155 ;; Many GNU/Linux systems use this name.
156 ((file-exists-p "/var/spool/mail")
c7de13da 157 "/var/spool/mail/")
d9fc020b 158 ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix))
1eff7356 159 "/usr/mail/")
1eff7356 160 (t "/usr/spool/mail/"))
a0824fec 161 "Name of directory used by system mailer for delivering new mail.
162Its name should end with a slash.")
163
164(defconst sendmail-program
9c85ef9f 165 (cond
9c85ef9f 166 ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
1e0fea28 167 ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
9c85ef9f
RS
168 ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
169 (t "fakemail")) ;In ../etc, to interface to /bin/mail.
a0824fec 170 "Program used to send messages.")
171
93a18127
KH
172(defconst remote-shell-program
173 (cond
174 ;; Some systems use rsh for the remote shell; others use that name for the
175 ;; restricted shell and use remsh for the remote shell. Let's try to guess
176 ;; based on what we actually find out there. The restricted shell is
177 ;; almost certainly in /bin or /usr/bin, so it's probably safe to assume
66263a7d
KH
178 ;; that an rsh found elsewhere is the remote shell program. The converse
179 ;; is not true: /usr/bin/rsh could be either one, so check that last.
93a18127 180 ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
66263a7d 181 ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
93a18127 182 ((file-exists-p "/bin/remsh") "/bin/remsh")
9ade6d5e 183 ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
66263a7d
KH
184 ((file-exists-p "/usr/local/bin/remsh") "/usr/local/bin/remsh")
185 ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
186 ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
93a18127 187 ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
fa195bce
KH
188 ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
189 ((file-exists-p "/bin/rcmd") "/bin/rcmd")
66263a7d
KH
190 ((file-exists-p "/bin/rsh") "/bin/rsh")
191 ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
93a18127
KH
192 (t "rsh")))
193
e884c260
DL
194(defconst term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\
195If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\")))
a0824fec 196You may set this variable to nil in your `.emacs' file if you do not wish
197the terminal-initialization file to be loaded.")
198
a0824fec 199(defconst abbrev-file-name
200 (if (eq system-type 'vax-vms)
201 "~/abbrev.def"
b33e350a 202 (convert-standard-filename "~/.abbrev_defs"))
a0824fec 203 "*Default name of file to read abbrevs from.")
6594deb0
ER
204
205;;; paths.el ends here