(packages-load-package-auto-autoloads late-package-load-path)
(packages-load-package-auto-autoloads last-package-load-path)))
- (unwind-protect
- (command-line)
+ (let (error-data)
+ (condition-case data
+ (command-line)
+ ;; catch non-error signals, especially quit
+ (t (setq error-data data)))
;; Do this again, in case the init file defined more abbreviations.
(setq default-directory (abbreviate-file-name default-directory))
;; Specify the file for recording all the auto save files of
;; (font-menu-add-default))
(when window-setup-hook
(run-hooks 'window-setup-hook))
- (setq window-setup-hook nil))
+ (setq window-setup-hook nil)
+ (if error-data
+ ;; re-signal, and don't allow continuation as that will probably
+ ;; wipe out the user's .emacs if she hasn't migrated yet!
+ (signal-error (car error-data) (cdr error-data))))
(if load-user-init-file-p
(maybe-migrate-user-init-file))
- ;;####FSFmacs junk
- ;; (or menubar-bindings-done
- ;; (precompute-menubar-bindings))
+ ;; FSF calls precompute-menubar-bindings. We don't mix menubars
+ ;; and keymaps.
))
-;;####FSFmacs junk
-;;; Precompute the keyboard equivalents in the menu bar items.
-;;(defun precompute-menubar-bindings ()
-;; (if (eq window-system 'x)
-;; (let ((submap (lookup-key global-map [menu-bar])))
-;; (while submap
-;; (and (consp (car submap))
-;; (symbolp (car (car submap)))
-;; (stringp (car-safe (cdr (car submap))))
-;; (keymapp (cdr (cdr (car submap))))
-;; (x-popup-menu nil (cdr (cdr (car submap)))))
-;; (setq submap (cdr submap))))))
-
(defun command-line-early (args)
;; This processes those switches which need to be processed before
;; starting up the window system.
(push (pop args) new-args)))
(t (push arg new-args))))
+ ;; obsolete, initialize for backward compatibility
(setq init-file-user (and load-user-init-file-p ""))
(nreverse new-args)))
;; handled here instead of down in C.
(setq command-line-args-left (command-line-early command-line-args-left))
+ (when (eq system-type 'windows-nt)
+ (init-mswindows-at-startup))
+
;; Setup the toolbar icon directory
(when (featurep 'toolbar)
(init-toolbar-location))
(find-user-init-file user-init-directory)))
(if (not custom-file)
(setq custom-file (make-custom-file-name user-init-file)))
+ ;; #### should test load-user-init-file-p here, not in load-init-file
+ ;; see comment there
(if (and user-init-file
(file-readable-p user-init-file))
(load user-init-file t t t))
(debug-on-error-initial
(if (eq init-file-debug t) 'startup init-file-debug)))
(let ((debug-on-error debug-on-error-initial))
+ ;; #### I believe this test is incorrect, it leads to custom-file
+ ;; (at least) being undefined
(if (and load-user-init-file-p init-file-debug)
(progn
;; Do this without a condition-case if the user wants to debug.
(load-user-init-file))
(condition-case error
(progn
+ ;; #### probably incorrect, see comment above
(if load-user-init-file-p
(load-user-init-file))
(setq init-file-had-error nil))