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
commit9d12cd460684a58450b5af16a78855be730d842f (patch)
tree19e660d7862c15851b0feb88751306899aab7e68 /lisp/server.el
parentf3bdc0afc0aa86bf1b85971eb8242531b30789e0 (diff)
downloademacs-9d12cd460684a58450b5af16a78855be730d842f.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))