(server-switch-buffer): Don't go to an invisible frame.
Move to a non-dedicated window if possible. Otherwise, make the window non-dedicated.
This commit is contained in:
parent
cae111fa0d
commit
02a8d13736
1 changed files with 7 additions and 2 deletions
|
@ -331,7 +331,6 @@ which filenames are considered temporary.
|
||||||
|
|
||||||
If invoked with a prefix argument, or if there is no server process running,
|
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]."
|
starts server process and that is all. Invoked by \\[server-edit]."
|
||||||
|
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(if (or arg
|
(if (or arg
|
||||||
(not server-process)
|
(not server-process)
|
||||||
|
@ -347,7 +346,13 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
|
||||||
((framep server-window)
|
((framep server-window)
|
||||||
(select-window (frame-selected-window server-window))))
|
(select-window (frame-selected-window server-window))))
|
||||||
(if (window-minibuffer-p (selected-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 next-buffer
|
||||||
(if (and (bufferp next-buffer)
|
(if (and (bufferp next-buffer)
|
||||||
(buffer-name next-buffer))
|
(buffer-name next-buffer))
|
||||||
|
|
Loading…
Add table
Reference in a new issue