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