Commit | Line | Data |
---|---|---|
0a10297a | 1 | ;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*- |
6594deb0 | 2 | |
c90f2757 | 3 | ;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2001, 2002, 2003, |
409cc4a3 | 4 | ;; 2004, 2005, 2006, 2007, 2008 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 | ||
eb3fa2cf | 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify |
a0824fec | 12 | ;; it under the terms of the GNU General Public License as published by |
eb3fa2cf GM |
13 | ;; the Free Software Foundation, either version 3 of the License, or |
14 | ;; (at your option) any later version. | |
a0824fec | 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 | |
eb3fa2cf | 22 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
a0824fec | 23 | |
e5167999 | 24 | ;;; Commentary: |
a0824fec | 25 | |
26 | ;; These are default settings for names of certain files and directories | |
27 | ;; that Emacs needs to refer to from time to time. | |
28 | ||
29 | ;; If these settings are not right, override them with `setq' | |
30 | ;; in site-init.el. Do not change this file. | |
31 | ||
e5167999 ER |
32 | ;;; Code: |
33 | ||
e884c260 DL |
34 | ;; Docstrings in this file should, where reasonable, follow the |
35 | ;; conventions described in bindings.el, so that they get put in the | |
36 | ;; DOC file rather than in memory. | |
37 | ||
97ad35dd | 38 | (defun prune-directory-list (dirs &optional keep reject) |
0d5f6046 | 39 | "Returns a copy of DIRS with all non-existent directories removed. |
97ad35dd MB |
40 | The optional argument KEEP is a list of directories to retain even if |
41 | they don't exist, and REJECT is a list of directories to remove from | |
42 | DIRS, even if they exist; REJECT takes precedence over KEEP. | |
43 | ||
44 | Note that membership in REJECT and KEEP is checked using simple string | |
0d5f6046 | 45 | comparison." |
97ad35dd MB |
46 | (apply #'nconc |
47 | (mapcar (lambda (dir) | |
48 | (and (not (member dir reject)) | |
49 | (or (member dir keep) (file-directory-p dir)) | |
50 | (list dir))) | |
51 | dirs))) | |
52 | ||
a755d8e5 | 53 | (defvar Info-default-directory-list |
e103ef95 EZ |
54 | (let* ((config-dir |
55 | (file-name-as-directory configure-info-directory)) | |
56 | (config | |
57 | (list config-dir)) | |
97ad35dd MB |
58 | (unpruned-prefixes |
59 | ;; Directory trees that may not exist at installation time, and | |
60 | ;; so shouldn't be pruned based on existance. | |
61 | '("/usr/local/")) | |
62 | (prefixes | |
63 | ;; Directory trees in which to look for info subdirectories | |
64 | (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/") | |
65 | unpruned-prefixes)) | |
66 | (suffixes | |
67 | ;; Subdirectories in each directory tree that may contain info | |
68 | ;; directories. | |
cd4496ef | 69 | '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/" |
e103ef95 EZ |
70 | "emacs/" "lib/" "lib/emacs/")) |
71 | (standard-info-dirs | |
72 | (apply #'nconc | |
73 | (mapcar (lambda (pfx) | |
74 | (let ((dirs | |
75 | (mapcar (lambda (sfx) | |
76 | (concat pfx sfx "info/")) | |
77 | suffixes))) | |
78 | (if (member pfx unpruned-prefixes) | |
79 | dirs | |
80 | (prune-directory-list dirs config)))) | |
81 | prefixes)))) | |
cd4496ef CY |
82 | ;; If $(prefix)/share/info is not one of the standard info |
83 | ;; directories, they are probably installing an experimental | |
84 | ;; version of Emacs, so make sure that experimental version's Info | |
85 | ;; files override the ones in standard directories. | |
e103ef95 | 86 | (if (member config-dir standard-info-dirs) |
b6348438 | 87 | (nconc standard-info-dirs config) |
e103ef95 | 88 | (cons config-dir standard-info-dirs))) |
d4ecdb6b RS |
89 | "Default list of directories to search for Info documentation files. |
90 | They are searched in the order they are given in the list. | |
feea21d1 | 91 | Therefore, the directory of Info files that come with Emacs |
e103ef95 EZ |
92 | normally should come last (so that local files override standard ones), |
93 | unless Emacs is installed into a non-standard directory. In the latter | |
94 | case, the directory of Info files that come with Emacs should be | |
95 | first in this list. | |
d4ecdb6b RS |
96 | |
97 | Once Info is started, the list of directories to search | |
98 | comes from the variable `Info-directory-list'. | |
99 | This variable `Info-default-directory-list' is used as the default | |
395f3b7f GM |
100 | for initializing `Info-directory-list' when Info is started, unless |
101 | the environment variable INFOPATH is set.") | |
a0824fec | 102 | |
d6fcf407 | 103 | (defvar news-directory |
7cf202bd KH |
104 | (if (file-exists-p "/usr/spool/news/") |
105 | "/usr/spool/news/" | |
106 | "/var/spool/news/") | |
a0824fec | 107 | "The root directory below which all news files are stored.") |
b18ba80e | 108 | (defvaralias 'news-path 'news-directory) |
a0824fec | 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 | ||
e306edef GM |
133 | (defcustom rmail-file-name "~/RMAIL" |
134 | "*Name of user's primary mail file." | |
135 | :type 'string | |
136 | :group 'rmail | |
137 | :version "21.1") | |
5833af3a | 138 | |
d6fcf407 | 139 | (defvar rmail-spool-directory |
d9fc020b RS |
140 | (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration) |
141 | "/usr/spool/mail/") | |
f1180544 | 142 | ;; On The Bull DPX/2 /usr/spool/mail is used although |
b6c96aa0 RS |
143 | ;; it is usg-unix-v. |
144 | ((string-match "^m68k-bull-sysv3" system-configuration) | |
145 | "/usr/spool/mail/") | |
7a41a2e2 RS |
146 | ;; SVR4 and recent BSD are said to use this. |
147 | ;; Rather than trying to know precisely which systems use it, | |
148 | ;; let's assume this dir is never used for anything else. | |
149 | ((file-exists-p "/var/mail") | |
fa8fb184 | 150 | "/var/mail/") |
7cf202bd KH |
151 | ;; Many GNU/Linux systems use this name. |
152 | ((file-exists-p "/var/spool/mail") | |
c7de13da | 153 | "/var/spool/mail/") |
f3041af1 | 154 | ((memq system-type '(hpux usg-unix-v unisoft-unix irix)) |
1eff7356 | 155 | "/usr/mail/") |
1eff7356 | 156 | (t "/usr/spool/mail/")) |
a0824fec | 157 | "Name of directory used by system mailer for delivering new mail. |
158 | Its name should end with a slash.") | |
159 | ||
d6fcf407 | 160 | (defcustom remote-shell-program |
93a18127 KH |
161 | (cond |
162 | ;; Some systems use rsh for the remote shell; others use that name for the | |
163 | ;; restricted shell and use remsh for the remote shell. Let's try to guess | |
164 | ;; based on what we actually find out there. The restricted shell is | |
165 | ;; almost certainly in /bin or /usr/bin, so it's probably safe to assume | |
66263a7d KH |
166 | ;; that an rsh found elsewhere is the remote shell program. The converse |
167 | ;; is not true: /usr/bin/rsh could be either one, so check that last. | |
93a18127 | 168 | ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh") |
66263a7d | 169 | ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh") |
93a18127 | 170 | ((file-exists-p "/bin/remsh") "/bin/remsh") |
9ade6d5e | 171 | ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh") |
66263a7d KH |
172 | ((file-exists-p "/usr/local/bin/remsh") "/usr/local/bin/remsh") |
173 | ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh") | |
174 | ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh") | |
93a18127 | 175 | ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh") |
fa195bce KH |
176 | ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd") |
177 | ((file-exists-p "/bin/rcmd") "/bin/rcmd") | |
66263a7d KH |
178 | ((file-exists-p "/bin/rsh") "/bin/rsh") |
179 | ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh") | |
a608ec1b | 180 | (t "rsh")) |
d6fcf407 RS |
181 | "File name for remote-shell program (often rsh or remsh)." |
182 | :group 'environment | |
183 | :type 'file) | |
93a18127 | 184 | |
d6fcf407 | 185 | (defvar term-file-prefix (if (eq system-type 'vax-vms) "[.term]" "term/") "\ |
e884c260 | 186 | If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\"))) |
a0824fec | 187 | You may set this variable to nil in your `.emacs' file if you do not wish |
188 | the terminal-initialization file to be loaded.") | |
189 | ||
d6fcf407 | 190 | (defvar abbrev-file-name |
a0824fec | 191 | (if (eq system-type 'vax-vms) |
192 | "~/abbrev.def" | |
b33e350a | 193 | (convert-standard-filename "~/.abbrev_defs")) |
a0824fec | 194 | "*Default name of file to read abbrevs from.") |
6594deb0 | 195 | |
cbee283d | 196 | ;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1 |
6594deb0 | 197 | ;;; paths.el ends here |