(defvar emacs-quick-startup nil)
+(defvar emacs-basic-display nil)
+
(defvar init-file-debug nil)
(defvar init-file-had-error nil)
(while (and (not done) args)
(let* ((longopts '(("--no-init-file") ("--no-site-file") ("--user")
("--debug-init") ("--iconic") ("--icon-type")
- ("--no-blinking-cursor")))
+ ("--no-blinking-cursor") ("--bare-bones")))
(argi (pop args))
(orig-argi argi)
argval)
(setq argval nil
argi orig-argi)))))
(cond
- ((equal argi "-Q")
+ ((member argi '("-Q" "-quick"))
(setq init-file-user nil
site-run-file nil
- no-blinking-cursor t
- emacs-quick-startup t)
+ emacs-quick-startup t))
+ ((member argi '("-D" "-basic-display"))
+ (setq no-blinking-cursor t
+ emacs-basic-display t)
(push '(vertical-scroll-bars . nil) initial-frame-alist))
((member argi '("-q" "-no-init-file"))
(setq init-file-user nil))
(and command-line-args
(setcdr command-line-args args)))
- ;; Under X Windows, this creates the X frame and deletes the terminal frame.
+ ;; Under X Window, this creates the X frame and deletes the terminal frame.
(when (fboundp 'frame-initialize)
(frame-initialize))
+ ;; Turn off blinking cursor if so specified in X resources. This is here
+ ;; only because all other settings of no-blinking-cursor are here.
+ (unless (or noninteractive
+ emacs-basic-display
+ (and (memq window-system '(x w32 mac))
+ (not (member (x-get-resource "cursorBlink" "CursorBlink")
+ '("off" "false")))))
+ (setq no-blinking-cursor t))
+
;; If frame was created with a menu bar, set menu-bar-mode on.
(unless (or noninteractive
- emacs-quick-startup
+ emacs-basic-display
(and (memq window-system '(x w32))
(<= (frame-parameter nil 'menu-bar-lines) 0)))
(menu-bar-mode 1))
;; If frame was created with a tool bar, switch tool-bar-mode on.
(unless (or noninteractive
- emacs-quick-startup
+ emacs-basic-display
(not (display-graphic-p))
(<= (frame-parameter nil 'tool-bar-lines) 0))
(tool-bar-mode 1))
(custom-reevaluate-setting 'blink-cursor-mode)
(custom-reevaluate-setting 'normal-erase-is-backspace)
+ ;; If you change the code below, you need to also change the
+ ;; corresponding code in the tooltip-mode defcustom. The two need
+ ;; to be equivalent under all conditions, or Custom will get confused.
(unless (or noninteractive
- emacs-quick-startup
+ emacs-basic-display
(not (display-graphic-p))
(not (fboundp 'x-show-tip)))
(tooltip-mode 1))
;; the session manager and we have a session manager connection.
(if (and (boundp 'x-session-previous-id)
(stringp x-session-previous-id))
- (emacs-session-restore x-session-previous-id)))
+ (with-no-warnings
+ (emacs-session-restore x-session-previous-id))))
(defcustom initial-scratch-message (purecopy "\
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
"Useful File menu items:\n"
:face variable-pitch "\
Exit Emacs\t(Or type Control-x followed by Control-c)
-Recover Session\tRecover files you were editing before a crash
+Recover Crashed Session\tRecover files you were editing before a crash
:group 'initialization)
-(defcustom fancy-splash-delay 10
+(defcustom fancy-splash-delay 7
"*Delay in seconds between splash screens."
:group 'fancy-splash-screen
:type 'integer)
-(defcustom fancy-splash-max-time 60
+(defcustom fancy-splash-max-time 30
"*Show splash screens for at most this number of seconds.
-Values less than 60 seconds are ignored."
+Values less than twice `fancy-splash-delay' are ignored."
:group 'fancy-splash-screen
:type 'integer)
Arguments from ARGS should be either strings, functions called
with no args that return a string, or pairs `:face FACE',
where FACE is a valid face specification, as it can be used with
-`put-text-properties'."
+`put-text-property'."
(let ((current-face nil))
(while args
(if (eq (car args) :face)
(emacs-version)
"\n"
:face '(variable-pitch :height 0.5)
- "Copyright (C) 2004 Free Software Foundation, Inc.")
+ "Copyright (C) 2005 Free Software Foundation, Inc.")
(and auto-save-list-file-prefix
;; Don't signal an error if the
;; directory for auto-save-list files
mode-line-format (propertize "---- %b %-"
'face '(:weight bold))
fancy-splash-stop-time (+ (float-time)
- (max 60 fancy-splash-max-time))
+ fancy-splash-max-time)
timer (run-with-timer 0 fancy-splash-delay
#'fancy-splash-screens-1
splash-buffer))
nil t))
(error nil))
(kill-buffer buffer)))))
+ ;; display-splash-screen at the end of command-line-1 calls
+ ;; use-fancy-splash-screens-p. This can cause image.el to be
+ ;; loaded, putting "Loading image... done" in the echo area.
+ ;; This hides startup-echo-area-message. So
+ ;; use-fancy-splash-screens-p is called here simply to get the
+ ;; loading of image.el (if needed) out of the way before
+ ;; display-startup-echo-area-message runs.
(progn
- ;; Stop any "Loading image..." message hiding echo-area-message.
(use-fancy-splash-screens-p)
(display-startup-echo-area-message)))
(kill-emacs t))
((string-match "^\\+[0-9]+\\'" argi)
- (setq line (string-to-int argi)))
+ (setq line (string-to-number argi)))
((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi)
- (setq line (string-to-int (match-string 1 argi))
- column (string-to-int (match-string 2 argi))))
+ (setq line (string-to-number (match-string 1 argi))
+ column (string-to-number (match-string 2 argi))))
((setq tem (assoc argi command-line-x-option-alist))
;; Ignore X-windows options and their args if not using X.