;; #### called `site-run-file' in FSFmacs
-(defvar site-start-file (purecopy "site-start")
+(defvar site-start-file "site-start"
"File containing site-wide run-time initializations.
This file is loaded at run-time before `.emacs'. It
contains inits that need to be in place for the entire site, but
;;We do that if this regexp matches the locale name
;;specified by the LC_ALL, LC_CTYPE and LANG environment variables.")
-(defvar mail-host-address nil
- "*Name of this machine, for purposes of naming users.")
+(defcustom mail-host-address nil
+ "*Name of this machine, for purposes of naming users."
+ :type 'string
+ :group 'mail)
-(defvar user-mail-address nil
+(defcustom user-mail-address nil
"*Full mailing address of this user.
This is initialized based on `mail-host-address',
-after your init file is read, in case it sets `mail-host-address'.")
-
-(defvar auto-save-list-file-prefix "~/.saves-"
- "Prefix for generating auto-save-list-file-name.
-Emacs's pid and the system name will be appended to
-this prefix to create a unique file name.")
+after your init file is read, in case it sets `mail-host-address'."
+ :type 'string
+ :group 'mail)
(defvar init-file-debug nil)
\f
(defvar command-switch-alist
- (purecopy
- '(("-help" . command-line-do-help)
- ("-version". command-line-do-version)
- ("-V" . command-line-do-version)
- ("-funcall". command-line-do-funcall)
- ("-f" . command-line-do-funcall)
- ("-e" . command-line-do-funcall-1)
- ("-eval" . command-line-do-eval)
- ("-load" . command-line-do-load)
- ("-l" . command-line-do-load)
- ("-insert" . command-line-do-insert)
- ("-i" . command-line-do-insert)
- ("-kill" . command-line-do-kill)
- ;; Options like +35 are handled specially.
- ;; Window-system, site, or package-specific code might add to this.
- ;; X11 handles its options by letting Xt remove args from this list.
- ))
+ '(("-help" . command-line-do-help)
+ ("-version". command-line-do-version)
+ ("-V" . command-line-do-version)
+ ("-funcall". command-line-do-funcall)
+ ("-f" . command-line-do-funcall)
+ ("-e" . command-line-do-funcall-1)
+ ("-eval" . command-line-do-eval)
+ ("-load" . command-line-do-load)
+ ("-l" . command-line-do-load)
+ ("-insert" . command-line-do-insert)
+ ("-i" . command-line-do-insert)
+ ("-kill" . command-line-do-kill)
+ ;; Options like +35 are handled specially.
+ ;; Window-system, site, or package-specific code might add to this.
+ ;; X11 handles its options by letting Xt remove args from this list.
+ )
"Alist of command-line switches.
Elements look like (SWITCH-STRING . HANDLER-FUNCTION).
HANDLER-FUNCTION receives switch name as sole arg;
In addition, the")
"The"))
(princ " following options are accepted:
+ -sd Show dump ID. Ignored when configured without --pdump.
+ -nd Don't load the dump file. Roughly like old temacs.
+ Ignored when configured without --pdump.
-t <device> Use TTY <device> instead of the terminal for input
and output. This implies the -nw option.
-nw Inhibit the use of any window-system-specific
-vanilla Equivalent to -q -no-site-file -no-early-packages.
-q Same as -no-init-file.
-user-init-file <file> Use <file> as init file.
- -user-init-directory <directory> use <directory> as init directory.
+ -user-init-directory <directory> Use <directory> as init directory.
-user <user> Load user's init file instead of your own.
Equivalent to -user-init-file ~<user>/.emacs
-user-init-directory ~<user>/.xemacs/
(setq default-directory (abbreviate-file-name default-directory))
;; Specify the file for recording all the auto save files of
;; this session. This is used by recover-session.
- (setq auto-save-list-file-name
- (expand-file-name
- (format "%s%d-%s"
- auto-save-list-file-prefix
- (emacs-pid)
- (system-name))))
+ (if auto-save-list-file-prefix
+ (setq auto-save-list-file-name
+ (expand-file-name
+ (format "%s%d-%s"
+ auto-save-list-file-prefix
+ (emacs-pid)
+ (system-name)))))
(run-hooks 'emacs-startup-hook)
(and term-setup-hook
(run-hooks 'term-setup-hook))
(catch 'found
(dolist (file user-init-file-base-list)
(let ((expanded (expand-file-name file init-directory)))
- (when (file-exists-p expanded)
+ (when (file-readable-p expanded)
(throw 'found expanded)))))))
(defun find-user-home-directory-init-file (&optional home-directory)
(catch 'found
(dolist (file user-home-init-file-base-list)
(let ((expanded (expand-file-name file home-directory)))
- (when (file-exists-p expanded)
+ (when (file-readable-p expanded)
(throw 'found expanded))))
nil)))
"Ask user if she wants to migrate the init file(s) to new location."
(if (and (not load-home-init-file)
(not (find-user-init-directory-init-file user-init-directory))
- (file-exists-p user-init-file))
+ (stringp user-init-file)
+ (file-readable-p user-init-file))
(if (with-output-to-temp-buffer (help-buffer-name nil)
(progn
(princ "XEmacs recommends that the initialization code in
(defun load-user-init-file ()
"This function actually reads the init file."
- (if (or user-init-file
- (setq user-init-file (find-user-init-file user-init-directory)))
+ (if (not user-init-file)
+ (setq user-init-file
+ (find-user-init-file user-init-directory)))
+ (if (and user-init-file
+ (file-readable-p user-init-file))
(load user-init-file t t t))
(if (not custom-file)
(setq custom-file (make-custom-file-name user-init-file)))
- (if (and (not (string= custom-file user-init-file))
- (file-exists-p custom-file))
+ (if (and custom-file
+ (or (not user-init-file)
+ (not (string= custom-file user-init-file)))
+ (file-readable-p custom-file))
(load custom-file t t t))
(unless inhibit-default-init
(let ((inhibit-startup-message nil))