Subject: bug#43645: 26.3; emacsclient -c does not open to correct window

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 28 Sep 2020 15:16:16 +0200

This patch fixes the problem, but I'm hesitating to apply it even if it
looks kinda-sorta "obviously correct": It changes the logic to only
check whether the buffer is displayed in the current frame, which makes
emacsclient -c work.  But why was the all-frame argument added?  It's
been there since at least the 90s...

I can't see any adverse affects on emacsclient -t either.

Anybody with any insight here?

diff --git a/lisp/server.el b/lisp/server.el
index 436a6ca0c7..f24f8d2b7c 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1602,7 +1602,7 @@ server-switch-buffer
       ;; OK, we know next-buffer is live, let's display and select it.
       (if (functionp server-window)
 	  (funcall server-window next-buffer)
-	(let ((win (get-buffer-window next-buffer 0)))
+	(let ((win (get-buffer-window next-buffer)))
 	  (if (and win (not server-window))
 	      ;; The buffer is already displayed: just reuse the
 	      ;; window.  If FILEPOS is non-nil, use it to replace the

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no