Commit | Line | Data |
---|---|---|
0a10297a | 1 | ;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*- |
6594deb0 | 2 | |
0d30b337 | 3 | ;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2002, 2003, |
aaef169d | 4 | ;; 2004, 2005, 2006 Free Software Foundation, Inc. |
3a801d0c | 5 | |
e5167999 | 6 | ;; Maintainer: FSF |
d7b4d18f | 7 | ;; Keywords: internal |
e5167999 | 8 | |
a0824fec | 9 | ;; This file is part of GNU Emacs. |
10 | ||
11 | ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 | ;; it under the terms of the GNU General Public License as published by | |
e5167999 | 13 | ;; the Free Software Foundation; either version 2, or (at your option) |
a0824fec | 14 | ;; any later version. |
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 | |
b578f267 | 22 | ;; along with GNU Emacs; see the file COPYING. If not, write to the |
086add15 LK |
23 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 | ;; Boston, MA 02110-1301, USA. | |
a0824fec | 25 | |
e5167999 | 26 | ;;; Commentary: |
a0824fec | 27 | |
28 | ;; These are default settings for names of certain files and directories | |
29 | ;; that Emacs needs to refer to from time to time. | |
30 | ||
31 | ;; If these settings are not right, override them with `setq' | |
32 | ;; in site-init.el. Do not change this file. | |
33 | ||
e5167999 ER |
34 | ;;; Code: |
35 | ||
e884c260 DL |
36 | ;; Docstrings in this file should, where reasonable, follow the |
37 | ;; conventions described in bindings.el, so that they get put in the | |
38 | ;; DOC file rather than in memory. | |
39 | ||
97ad35dd | 40 | (defun prune-directory-list (dirs &optional keep reject) |
0d5f6046 | 41 | "Returns a copy of DIRS with all non-existent directories removed. |
97ad35dd MB |
42 | The optional argument KEEP is a list of directories to retain even if |
43 | they don't exist, and REJECT is a list of directories to remove from | |
44 | DIRS, even if they exist; REJECT takes precedence over KEEP. | |
45 | ||
46 | Note that membership in REJECT and KEEP is checked using simple string | |
0d5f6046 | 47 | comparison." |
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 | |
62 | ;; so shouldn't be pruned based on existance. | |
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. | |
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)))) | |
84 | ;; If $(prefix)/info is not one of the standard info directories, | |
85 | ;; they are probably installing an experimental version of Emacs, | |
86 | ;; so make sure that experimental version's Info files override | |
87 | ;; the ones in standard directories. | |
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. |
92 | They are searched in the order they are given in the list. | |
feea21d1 | 93 | Therefore, the directory of Info files that come with Emacs |
e103ef95 EZ |
94 | normally should come last (so that local files override standard ones), |
95 | unless Emacs is installed into a non-standard directory. In the latter | |
96 | case, the directory of Info files that come with Emacs should be | |
97 | first in this list. | |
d4ecdb6b RS |
98 | |
99 | Once Info is started, the list of directories to search | |
100 | comes from the variable `Info-directory-list'. | |
101 | This variable `Info-default-directory-list' is used as the default | |
395f3b7f GM |
102 | for initializing `Info-directory-list' when Info is started, unless |
103 | the environment variable INFOPATH is set.") | |
a0824fec | 104 | |
d6fcf407 | 105 | (defvar news-directory |
7cf202bd KH |
106 | (if (file-exists-p "/usr/spool/news/") |
107 | "/usr/spool/news/" | |
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 | |
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") |
118 | (t "inews")) | |
119 | "Program to post news.") | |
120 | ||
e884c260 DL |
121 | ;; set this to your local server |
122 | (defvar gnus-default-nntp-server "" "\ | |
123 | The name of the host running an NNTP server. | |
d390e294 | 124 | The null string means use the local host as the server site.") |
a0824fec | 125 | |
126 | (defvar gnus-nntp-service "nntp" | |
127 | "NNTP service name, usually \"nntp\" or 119). | |
527a0f36 | 128 | Go to a local news spool if its value is nil, in which case `gnus-nntp-server' |
129 | should 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 | 133 | The `ORGANIZATION' environment variable is used instead if defined.") |
134 | ||
e306edef GM |
135 | (defcustom rmail-file-name "~/RMAIL" |
136 | "*Name of user's primary mail file." | |
137 | :type 'string | |
138 | :group 'rmail | |
139 | :version "21.1") | |
5833af3a | 140 | |
d6fcf407 | 141 | (defvar rmail-spool-directory |
d9fc020b RS |
142 | (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration) |
143 | "/usr/spool/mail/") | |
f1180544 | 144 | ;; On The Bull DPX/2 /usr/spool/mail is used although |
b6c96aa0 RS |
145 | ;; it is usg-unix-v. |
146 | ((string-match "^m68k-bull-sysv3" system-configuration) | |
147 | "/usr/spool/mail/") | |
7a41a2e2 RS |
148 | ;; SVR4 and recent BSD are said to use this. |
149 | ;; Rather than trying to know precisely which systems use it, | |
150 | ;; let's assume this dir is never used for anything else. | |
151 | ((file-exists-p "/var/mail") | |
fa8fb184 | 152 | "/var/mail/") |
7cf202bd KH |
153 | ;; Many GNU/Linux systems use this name. |
154 | ((file-exists-p "/var/spool/mail") | |
c7de13da | 155 | "/var/spool/mail/") |
d9fc020b | 156 | ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix)) |
1eff7356 | 157 | "/usr/mail/") |
1eff7356 | 158 | (t "/usr/spool/mail/")) |
a0824fec | 159 | "Name of directory used by system mailer for delivering new mail. |
160 | Its name should end with a slash.") | |
161 | ||
d6fcf407 | 162 | (defcustom sendmail-program |
9c85ef9f | 163 | (cond |
9c85ef9f | 164 | ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail") |
1e0fea28 | 165 | ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail") |
9c85ef9f RS |
166 | ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail") |
167 | (t "fakemail")) ;In ../etc, to interface to /bin/mail. | |
d6fcf407 RS |
168 | "Program used to send messages." |
169 | :group 'mail | |
170 | :type 'file) | |
a0824fec | 171 | |
d6fcf407 | 172 | (defcustom remote-shell-program |
93a18127 KH |
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") | |
a608ec1b | 192 | (t "rsh")) |
d6fcf407 RS |
193 | "File name for remote-shell program (often rsh or remsh)." |
194 | :group 'environment | |
195 | :type 'file) | |
93a18127 | 196 | |
d6fcf407 | 197 | (defvar term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\ |
e884c260 | 198 | If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\"))) |
a0824fec | 199 | You may set this variable to nil in your `.emacs' file if you do not wish |
200 | the terminal-initialization file to be loaded.") | |
201 | ||
d6fcf407 | 202 | (defvar abbrev-file-name |
a0824fec | 203 | (if (eq system-type 'vax-vms) |
204 | "~/abbrev.def" | |
b33e350a | 205 | (convert-standard-filename "~/.abbrev_defs")) |
a0824fec | 206 | "*Default name of file to read abbrevs from.") |
6594deb0 | 207 | |
ab5796a9 | 208 | ;;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1 |
6594deb0 | 209 | ;;; paths.el ends here |