(when (and (frame-live-p frame)
proc
;; See if this is the last frame for this client.
- (< 1 (let ((frame-num 0))
- (dolist ((f (frame-list)))
+ (>= 1 (let ((frame-num 0))
+ (dolist (f (frame-list))
(when (eq proc (frame-parameter f 'client))
(setq frame-num (1+ frame-num))))
frame-num)))
(with-selected-frame frame
(switch-to-buffer (or (car buffers)
(get-buffer-create "*scratch*")))
+ (display-startup-echo-area-message)
(unless inhibit-splash-screen
- (display-splash-screen))
- (display-startup-echo-area-message)))
+ (condition-case err
+ ;; This looks scary because `fancy-splash-screens'
+ ;; will call `recursive-edit' from a process filter.
+ ;; However, that should be safe to do now.
+ (display-splash-screen)
+ ;; `recursive-edit' will throw an error if Emacs is
+ ;; already doing a recursive edit elsewhere. Catch it
+ ;; here so that we can finish normally.
+ (error nil)))))
;; Delete the client if necessary.
(cond