- (if (and window-system (not noninteractive))
- (load (concat term-file-prefix
- (symbol-name window-system)
- "-win")
- ;; Every window system should have a startup file;
- ;; barf if we can't find it.
- nil t))
+ (condition-case error
+ (if (and window-system (not noninteractive))
+ (load (concat term-file-prefix
+ (symbol-name window-system)
+ "-win")
+ ;; Every window system should have a startup file;
+ ;; barf if we can't find it.
+ nil t))
+ ;; If we can't read it, print the error message and exit.
+ (error
+ (princ
+ (if (eq (car error) 'error)
+ (apply 'concat (cdr error))
+ (if (memq 'file-error (get (car error) 'error-conditions))
+ (format "%s: %s"
+ (nth 1 error)
+ (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))
+ (cdr error) ", "))))
+ 'external-debugging-output)
+ (setq window-system nil)
+ (kill-emacs)))