summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-06-11 18:28:44 +0000
committerRichard M. Stallman <rms@gnu.org>1993-06-11 18:28:44 +0000
commitec40ed9f4eba0701a74220b6f9a92b5352786072 (patch)
treecd1f63337a160c83fd9af34df8cbecdbc34cd474 /lisp/server.el
parent1bc1c75ef9fbd4ae7b71174e40cf41880b33aa92 (diff)
downloademacs-ec40ed9f4eba0701a74220b6f9a92b5352786072.tar.gz
(server-window): New variable.
(server-switch-buffer): Use it.
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/server.el b/lisp/server.el
index f1ab7eacdb0..3e9ddcd0c82 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -98,6 +98,11 @@ When a buffer is marked as \"done\", it is removed from this list.")
;; Changing major modes should not erase this local.
(put 'server-buffer-clients 'permanent-local t)
+(defvar server-window nil
+ "*The window to use for selecting Emacs server buffers.
+If nil, use the selected window.
+If it is a frame, use the frame's selected window.")
+
(defvar server-temp-file-regexp "^/tmp/Re\\|/draft$"
"*Regexp which should match filenames of temporary files
which are deleted and reused after each edit
@@ -294,6 +299,10 @@ starts server process and that is all. Invoked by \\[server-edit]."
(defun server-switch-buffer (next-buffer)
"Switch to another buffer, preferably one that has a client.
Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
+ (cond ((windowp server-window)
+ (select-window server-window))
+ ((framep server-window)
+ (select-window (frame-selected-window server-window))))
(if next-buffer
(if (and (bufferp next-buffer)
(buffer-name next-buffer))