diff options
| author | Richard M. Stallman | 1994-10-04 04:20:21 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-10-04 04:20:21 +0000 |
| commit | 02a8d137366e5c3dc9b9bfd11d439f147878d361 (patch) | |
| tree | 2c0e79666870bcb678786e78663e0dc564c7b3ad | |
| parent | cae111fa0d6a8dc3f90b991a81be280da5b3dc22 (diff) | |
| download | emacs-02a8d137366e5c3dc9b9bfd11d439f147878d361.tar.gz emacs-02a8d137366e5c3dc9b9bfd11d439f147878d361.zip | |
(server-switch-buffer): Don't go to an invisible frame.
Move to a non-dedicated window if possible.
Otherwise, make the window non-dedicated.
| -rw-r--r-- | lisp/server.el | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/server.el b/lisp/server.el index 0e525a60fd4..2c95453d651 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -331,7 +331,6 @@ which filenames are considered temporary. | |||
| 331 | 331 | ||
| 332 | If invoked with a prefix argument, or if there is no server process running, | 332 | If invoked with a prefix argument, or if there is no server process running, |
| 333 | starts server process and that is all. Invoked by \\[server-edit]." | 333 | starts server process and that is all. Invoked by \\[server-edit]." |
| 334 | |||
| 335 | (interactive "P") | 334 | (interactive "P") |
| 336 | (if (or arg | 335 | (if (or arg |
| 337 | (not server-process) | 336 | (not server-process) |
| @@ -347,7 +346,13 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it." | |||
| 347 | ((framep server-window) | 346 | ((framep server-window) |
| 348 | (select-window (frame-selected-window server-window)))) | 347 | (select-window (frame-selected-window server-window)))) |
| 349 | (if (window-minibuffer-p (selected-window)) | 348 | (if (window-minibuffer-p (selected-window)) |
| 350 | (select-window (next-window nil 'nomini t))) | 349 | (select-window (next-window nil 'nomini 0))) |
| 350 | ;; Move to a non-dedicated window, if we have one. | ||
| 351 | (let ((last-window (previous-window nil 'nomini 0))) | ||
| 352 | (while (and (window-dedicated-p (selected-window)) | ||
| 353 | (not (eq last-window (selected-window)))) | ||
| 354 | (select-window (next-window nil 'nomini 0)))) | ||
| 355 | (set-window-dedicated-p (selected-window) nil) | ||
| 351 | (if next-buffer | 356 | (if next-buffer |
| 352 | (if (and (bufferp next-buffer) | 357 | (if (and (bufferp next-buffer) |
| 353 | (buffer-name next-buffer)) | 358 | (buffer-name next-buffer)) |