Commit | Line | Data |
---|---|---|
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. | |
41 | The optional argument KEEP is a list of directories to retain even if | |
42 | they don't exist, and REJECT is a list of directories to remove from | |
43 | DIRS, even if they exist; REJECT takes precedence over KEEP. | |
44 | ||
45 | Note that membership in REJECT and KEEP is checked using simple string | |
46 | comparision." | |
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. |
91 | They are searched in the order they are given in the list. | |
feea21d1 | 92 | Therefore, the directory of Info files that come with Emacs |
e103ef95 EZ |
93 | normally should come last (so that local files override standard ones), |
94 | unless Emacs is installed into a non-standard directory. In the latter | |
95 | case, the directory of Info files that come with Emacs should be | |
96 | first in this list. | |
d4ecdb6b RS |
97 | |
98 | Once Info is started, the list of directories to search | |
99 | comes from the variable `Info-directory-list'. | |
100 | This variable `Info-default-directory-list' is used as the default | |
395f3b7f GM |
101 | for initializing `Info-directory-list' when Info is started, unless |
102 | the 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 "" "\ | |
121 | The name of the host running an NNTP server. | |
d390e294 | 122 | The 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 | 126 | Go to a local news spool if its value is nil, in which case `gnus-nntp-server' |
127 | should 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 | 131 | The `ORGANIZATION' environment variable is used instead if defined.") |
132 | ||
e884c260 DL |
133 | (defvar gnus-startup-file "~/.newsrc" "\ |
134 | The file listing groups to which user is subscribed. | |
a0824fec | 135 | Will 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. |
162 | Its 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") | |
a608ec1b RS |
192 | (t "rsh")) |
193 | "File name for remote-shell program (often rsh or remsh).") | |
93a18127 | 194 | |
e884c260 DL |
195 | (defconst term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\ |
196 | If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\"))) | |
a0824fec | 197 | You may set this variable to nil in your `.emacs' file if you do not wish |
198 | the terminal-initialization file to be loaded.") | |
199 | ||
a0824fec | 200 | (defconst abbrev-file-name |
201 | (if (eq system-type 'vax-vms) | |
202 | "~/abbrev.def" | |
b33e350a | 203 | (convert-standard-filename "~/.abbrev_defs")) |
a0824fec | 204 | "*Default name of file to read abbrevs from.") |
6594deb0 ER |
205 | |
206 | ;;; paths.el ends here |