;; --terminal FILE Using this implies "-nw" also.
;; This option is handled by emacs.c
;; -------------------------
-;; -d DISPNAME Use DISPNAME as the name of the X-windows
+;; -d DISPNAME Use DISPNAME as the name of the X
;; -display DISPNAME display for the initial frame.
;; --display DISPNAME This option is handled by emacs.c
;; -------------------------
;; --debug-init debugger run.
;; -------------------------
;; -i ICONTYPE Set type of icon using when Emacs is
-;; -itype ICONTYPE iconified under X-windows.
+;; -itype ICONTYPE iconified under X.
;; --icon-type ICONTYPE This option is passed on to term/x-win.el
;;
-;; -iconic Start Emacs iconified under X-windows.
+;; -iconic Start Emacs iconified.
;; --iconic This option is passed on to term/x-win.el
;; -------------------------
-;; Various X-windows options for colors/fonts/geometry/title etc.
+;; Various X options for colors/fonts/geometry/title etc.
;; These options are passed on to term/x-win.el which see. Certain
;; of these are also found in term/pc-win.el
;; -------------------------
;;; This is here, rather than in x-win.el, so that we can ignore these
;;; options when we are not using X.
-(defvar command-line-x-option-alist
+(defconst command-line-x-option-alist
'(("-bw" 1 x-handle-numeric-switch border-width)
("-d" 1 x-handle-display)
("-display" 1 x-handle-display)
("-font" 1 x-handle-switch font)
("-ib" 1 x-handle-numeric-switch internal-border-width)
("-g" 1 x-handle-geometry)
+ ("-lsp" 1 x-handle-numeric-switch line-spacing)
("-geometry" 1 x-handle-geometry)
("-fg" 1 x-handle-switch foreground-color)
("-foreground" 1 x-handle-switch foreground-color)
("--xrm" 1 x-handle-xrm-switch)
("--cursor-color" 1 x-handle-switch cursor-color)
("--vertical-scroll-bars" 0 x-handle-switch vertical-scroll-bars t)
+ ("--line-spacing" 1 x-handle-numeric-switch line-spacing)
("--border-color" 1 x-handle-switch border-width))
"Alist of X Windows options.
Each element has the form
:group 'mail)
(defcustom auto-save-list-file-prefix
- (if (eq system-type 'ms-dos)
- "~/_s" ; MS-DOS cannot have initial dot, and allows only 8.3 names
- "~/.saves-")
+ (cond ((eq system-type 'ms-dos)
+ ;; MS-DOS cannot have initial dot, and allows only 8.3 names
+ "~/_emacs.d/auto-save.list/_s")
+ (t
+ "~/.emacs.d/auto-save-list/.saves-"))
"Prefix for generating `auto-save-list-file-name'.
This is used after reading your `.emacs' file to initialize
`auto-save-list-file-name', by appending Emacs's pid and the system name,
if you have not already set `auto-save-list-file-name' yourself.
+Directories in the prefix will be created if necessary.
Set this to nil if you want to prevent `auto-save-list-file-name'
from being initialized."
:type '(choice (const :tag "Don't record a session's auto save list" nil)
(let ((tail load-path)
(thisdir (directory-file-name default-directory)))
(while (and tail
+ ;;Don't go all the way to the nil terminator.
+ (cdr tail)
(not (equal thisdir (car tail)))
(not (and (memq system-type '(ms-dos windows-nt))
(equal (downcase thisdir) (downcase (car tail))))))
(setq tail (cdr tail)))
- (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail)))))
+ ;;Splice the new section in.
+ (when tail
+ (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail))))))
(defun normal-top-level ()
(if command-line-processed
new)
(while tail
(setq new (cons (car tail) new))
- (let ((default-directory (car tail)))
- (load (expand-file-name "subdirs.el" (car tail)) t t t))
+ (condition-case nil
+ (let ((default-directory (car tail)))
+ (load (expand-file-name "subdirs.el" (car tail)) t t t)))
(setq tail (cdr tail))))
(if (not (eq system-type 'vax-vms))
(progn
(setq auto-save-list-file-name
;; Under MS-DOS our PID is almost always reused between
;; Emacs invocations. We need something more unique.
- (if (eq system-type 'ms-dos)
- (concat
- (make-temp-name
- (expand-file-name auto-save-list-file-prefix))
- "~")
-
- (expand-file-name (format "%s%d-%s~"
- auto-save-list-file-prefix
- (emacs-pid)
- (system-name)))))))
+ (cond ((eq system-type 'ms-dos)
+ ;; We are going to access the auto-save
+ ;; directory, so make sure it exists.
+ (make-directory
+ (file-name-directory auto-save-list-file-prefix)
+ t)
+ (concat
+ (make-temp-name
+ (expand-file-name
+ auto-save-list-file-prefix))
+ "~"))
+ (t
+ (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))
(if (memq 'file-error (get (car error) 'error-conditions))
(format "%s: %s"
(nth 1 error)
- (mapconcat '(lambda (obj) (prin1-to-string obj t))
+ (mapconcat (lambda (obj) (prin1-to-string obj t))
(cdr (cdr error)) ", "))
(format "%s: %s"
(get (car error) 'error-message)
- (mapconcat '(lambda (obj) (prin1-to-string obj t))
+ (mapconcat (lambda (obj) (prin1-to-string obj t))
(cdr error) ", "))))
'external-debugging-output)
(setq window-system nil)
(if (fboundp 'frame-initialize)
(frame-initialize))
;; If frame was created with a menu bar, set menu-bar-mode on.
- (if (or (not (memq window-system '(x w32)))
- (> (cdr (assq 'menu-bar-lines (frame-parameters))) 0))
+ (if (and (not noninteractive)
+ (or (not (memq window-system '(x w32)))
+ (> (cdr (assq 'menu-bar-lines (frame-parameters))) 0)))
(menu-bar-mode t))
+ ;; Can't do this init in defcustom because window-system isn't set.
+ (when (and (not noninteractive)
+ (not (eq system-type 'ms-dos))
+ (memq window-system '(x w32)))
+ (setq-default blink-cursor t)
+ (blink-cursor-mode 1))
+
(run-hooks 'before-init-hook)
;; Run the site-start library if it exists. The point of this file is
;; don't let it be set from default.el.
(if (eq user-init-file t)
(setq user-init-file nil))
+ ;; If we loaded a compiled file, set
+ ;; `user-init-file' to the source version if that
+ ;; exists.
+ (when (and user-init-file
+ (equal (file-name-extension user-init-file)
+ "elc")
+ (file-exists-p user-init-file-1))
+ (when (file-newer-than-file-p
+ user-init-file-1 user-init-file)
+ (message "Warning: %s is newer than %s"
+ user-init-file-1 user-init-file)
+ (sit-for 1))
+ (setq user-init-file user-init-file-1))
(or inhibit-default-init
(let ((inhibit-startup-message nil))
;; Users are supposed to be told their rights.
(funcall initial-major-mode))))
;; Register default TTY colors for the case the terminal hasn't a
- ;; terminal init file. The colors are good for xterm-color and the
- ;; FreeBSD console (cons.*). They should be sufficient for Linux
- ;; too, I guess.
- (or (eq window-system 'pc) ; pc-win.el did this already
- (let ((colors '("black" "red" "green" "yellow" "blue" "magenta"
- "cyan" "white"))
- (i 0))
+ ;; terminal init file.
+ (or (memq window-system '(x w32))
+ (not (tty-display-color-p))
+ (let* ((colors (cond ((eq window-system 'pc)
+ msdos-color-values)
+ ((eq system-type 'windows-nt)
+ w32-tty-standard-colors)
+ (t tty-standard-colors)))
+ (color (car colors)))
(while colors
- (face-register-tty-color (car colors) i)
- (setq colors (cdr colors) i (1+ i)))))
+ (tty-color-define (car color) (cadr color) (cddr color))
+ (setq colors (cdr colors) color (car colors)))))
;; Load library for our terminal type.
;; User init file can set term-file-prefix to nil to prevent this.
;; If -batch, terminate after processing the command options.
(if noninteractive (kill-emacs t)))
-(defcustom initial-scratch-message "\
-This buffer is for notes you don't want to save, and for Lisp evaluation.
-If you want to create a file, visit that file with C-x C-f,
-then enter the text in that file's own buffer.
+(defcustom initial-scratch-message (purecopy "\
+;; This buffer is for notes you don't want to save, and for Lisp evaluation.
+;; If you want to create a file, visit that file with C-x C-f,
+;; then enter the text in that file's own buffer.
-"
+")
"Initial message displayed in *scratch* buffer at startup.
If this is nil, no message will be displayed."
:type 'string)
"For information about the GNU Project and its goals, type C-h C-p."
(substitute-command-keys
"For information about the GNU Project and its goals, type \\[describe-project]."))))
- (when (and (not noninteractive)
- (memq window-system '(x w32)))
- (make-mode-line-mouse-sensitive))
(if (null command-line-args-left)
(cond ((and (not inhibit-startup-message) (not noninteractive)
;; Don't clobber a non-scratch buffer if init file
Important Help menu items:
Emacs Tutorial Learn-by-doing tutorial for using Emacs efficiently.
+Emacs FAQ Frequently asked questions and answers
\(Non)Warranty GNU Emacs comes with ABSOLUTELY NO WARRANTY
Copying Conditions Conditions for redistributing and changing Emacs.
Getting New Versions How to obtain the latest version of Emacs.
")
(insert "\n\n" (emacs-version)
"
-Copyright (C) 1999 Free Software Foundation, Inc."))
+Copyright (C) 2000 Free Software Foundation, Inc."))
;; If keys have their default meanings,
;; use precomputed string to save lots of time.
(if (and (eq (key-binding "\C-h") 'help-command)
\(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)")
(and auto-save-list-file-prefix
+ ;; Don't signal an error if the
+ ;; directory for auto-save-list files
+ ;; does not yet exist.
+ (file-directory-p (file-name-directory
+ auto-save-list-file-prefix))
(directory-files
(file-name-directory auto-save-list-file-prefix)
nil
(insert "\n\n" (emacs-version)
"
-Copyright (C) 1999 Free Software Foundation, Inc.")
+Copyright (C) 2000 Free Software Foundation, Inc.")
(if (and (eq (key-binding "\C-h\C-c") 'describe-copying)
(eq (key-binding "\C-h\C-d") 'describe-distribution)
(eq (key-binding "\C-h\C-w") 'describe-no-warranty))
(append '(("--funcall") ("--load") ("--insert") ("--kill")
("--directory") ("--eval") ("--execute")
("--find-file") ("--visit") ("--file"))
- (mapcar '(lambda (elt)
- (list (concat "-" (car elt))))
+ (mapcar (lambda (elt)
+ (list (concat "-" (car elt))))
command-switch-alist)))
(line 0))