Commit | Line | Data |
---|---|---|
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 | "\ |
41 | Return 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 | |
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. |
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 |
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 | 124 | The name of the host running an NNTP server. |
d390e294 | 125 | The null string means use the local host as the server site.") |
a0824fec | 126 | |
ca0a881a | 127 | (defvar gnus-nntp-service (purecopy "nntp") "\ |
d35d0238 | 128 | NNTP service name, usually \"nntp\" or 119. |
527a0f36 | 129 | Go to a local news spool if its value is nil, in which case `gnus-nntp-server' |
130 | should 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 | 134 | The `ORGANIZATION' environment variable is used instead if defined.") |
135 | ||
6d341a2a | 136 | (defcustom rmail-file-name (purecopy "~/RMAIL") "\ |
d35d0238 | 137 | Name 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. |
156 | Its 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 | 185 | If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\"))) |
a0824fec | 186 | You may set this variable to nil in your `.emacs' file if you do not wish |
187 | the terminal-initialization file to be loaded.") | |
188 | ||
cbee283d | 189 | ;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1 |
6594deb0 | 190 | ;;; paths.el ends here |