* lisp/server.el (server-execute): Respect initial-buffer-choice

if it is a string and there are no files to open.
(server-create-window-system-frame, server-create-tty-frame):
Don't switch buffers here.

Fixes: debbugs:2825
This commit is contained in:
Chong Yidong 2012-04-20 18:04:19 +08:00
parent c07a4c0b59
commit de6ff46dce
3 changed files with 20 additions and 11 deletions

View file

@ -53,6 +53,10 @@ automatically when setting `imagemagick-types-inhibit'.
*** Setting `imagemagick-types-inhibit' to t now disables the use of
ImageMagick to view images, set
** String values for `initial-buffer-choice' also apply to emacsclient
frames, if emacsclient is only told to open a new frame without
specifying any file to visit or expression to evaluate.
* Editing Changes in Emacs 24.2

View file

@ -1,3 +1,10 @@
2012-04-20 Chong Yidong <cyd@gnu.org>
* server.el (server-execute): Respect initial-buffer-choice if it
is a string and there are no files to open (Bug#2825).
(server-create-window-system-frame, server-create-tty-frame):
Don't switch buffers here.
2012-04-20 Dan Nicolaescu <dann@gnu.org>
* battery.el (battery-echo-area-format): Display remaining time

View file

@ -821,10 +821,6 @@ This handles splitting the command if it would be bigger than
(select-frame frame)
(process-put proc 'frame frame)
(process-put proc 'terminal (frame-terminal frame))
;; Display *scratch* by default.
(switch-to-buffer (get-buffer-create "*scratch*") 'norecord)
frame))
(defun server-create-window-system-frame (display nowait proc parent-id
@ -857,9 +853,6 @@ This handles splitting the command if it would be bigger than
(select-frame frame)
(process-put proc 'frame frame)
(process-put proc 'terminal (frame-terminal frame))
;; Display *scratch* by default.
(switch-to-buffer (get-buffer-create "*scratch*") 'norecord)
frame)))
(defun server-goto-toplevel (proc)
@ -1230,12 +1223,17 @@ The following commands are accepted by the client:
;; including code that needs to wait.
(with-local-quit
(condition-case err
(let* ((buffers
(when files
(server-visit-files files proc nowait))))
(let ((buffers (server-visit-files files proc nowait)))
(mapc 'funcall (nreverse commands))
;; If we were told only to open a new client, obey
;; `initial-buffer-choice' if it specifies a file.
(unless (or files commands)
(if (stringp initial-buffer-choice)
(find-file initial-buffer-choice)
(switch-to-buffer (get-buffer-create "*scratch*")
'norecord)))
;; Delete the client if necessary.
(cond
(nowait