annotate lisp/cus-file.el @ 410:de805c49cfc1 r21-2-35

Import from CVS: tag r21-2-35
author cvs
date Mon, 13 Aug 2007 11:19:21 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
410
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
1 ;;; cus-file.el --- Manage location of the customize init file
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
2
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
3 ;; Copyright (C) 2000 by Free Software Foundation, Inc.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
4
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
5 ;; Author: Mike Sperber <mike@xemacs.org>
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
6 ;; Keywords: internal
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
7
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
8 ;; This file is part of XEmacs.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
9
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
10 ;; XEmacs is free software; you can redistribute it and/or modify it
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
13 ;; any later version.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
14
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
18 ;; General Public License for more details.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
19
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
23 ;; 02111-1307, USA.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
24
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
25 ;;; Synched up with: Not in FSF
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
26
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
27 ;;; Commentary:
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
28
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
29 ;; This file manages the location of the custom init file without
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
30 ;; loading all of the custom code itself.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
31
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
32
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
33 ;;; Code:
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
34 (provide 'cus-file)
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
35
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
36 ;;;###autoload
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
37 (defconst custom-file-base "custom.el"
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
38 "Base of file name for storing customization information.")
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
39
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
40 ;;;###autoload
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
41 (defvar custom-file nil
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
42 "File used for storing customization information.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
43 If you change this from the default you need to
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
44 explicitly load that file for the settings to take effect.")
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
45
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
46 ;;;###autoload
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
47 (defun make-custom-file-name (init-file &optional force-new)
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
48 "Construct the default custom file name from the init file name.
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
49 If FORCE-NEW is non-nil, force post-migration location."
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
50 (let* ((init-file (or init-file user-init-file))
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
51 (init-file-directory (file-name-directory init-file)))
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
52 (if (or force-new
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
53 (string= init-file-directory
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
54 (expand-file-name
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
55 (file-name-as-directory user-init-directory))))
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
56 (expand-file-name custom-file-base user-init-directory)
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
57 init-file)))
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
58
de805c49cfc1 Import from CVS: tag r21-2-35
cvs
parents:
diff changeset
59 ;;; cus-file.el ends here