]> code.delx.au - gnu-emacs/commitdiff
(server-switch-buffer): Don't go to an invisible frame.
authorRichard M. Stallman <rms@gnu.org>
Tue, 4 Oct 1994 04:20:21 +0000 (04:20 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 4 Oct 1994 04:20:21 +0000 (04:20 +0000)
Move to a non-dedicated window if possible.
Otherwise, make the window non-dedicated.

lisp/server.el

index 0e525a60fd40a3b057a78ff19dcc39ab76ea0adf..2c95453d65128e8a67c66e952fe5c20aa124ee3f 100644 (file)
@@ -331,7 +331,6 @@ which filenames are considered temporary.
 
 If invoked with a prefix argument, or if there is no server process running, 
 starts server process and that is all.  Invoked by \\[server-edit]."
-
   (interactive "P")
   (if (or arg
          (not server-process)
@@ -347,7 +346,13 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
        ((framep server-window)
         (select-window (frame-selected-window server-window))))
   (if (window-minibuffer-p (selected-window))
-      (select-window (next-window nil 'nomini t)))
+      (select-window (next-window nil 'nomini 0)))
+  ;; Move to a non-dedicated window, if we have one.
+  (let ((last-window (previous-window nil 'nomini 0)))
+    (while (and (window-dedicated-p (selected-window))
+               (not (eq last-window (selected-window))))
+      (select-window (next-window nil 'nomini 0))))
+  (set-window-dedicated-p (selected-window) nil)
   (if next-buffer
       (if (and (bufferp next-buffer)
               (buffer-name next-buffer))