Fix positioning client buffer as instructed by emacsclient
* lisp/server.el (server-switch-buffer): Let-bind switch-to-buffer-preserve-window-point to nil when switching to the client buffer, when the client requested a specific position. (Bug#35602)
This commit is contained in:
parent
916510b6d9
commit
e7ab351caa
1 changed files with 8 additions and 1 deletions
|
@ -1621,7 +1621,14 @@ be a cons cell (LINENUMBER . COLUMNNUMBER)."
|
|||
(frame-terminal))))
|
||||
'nomini 'visible (selected-window))))
|
||||
(condition-case nil
|
||||
(switch-to-buffer next-buffer)
|
||||
;; If the client specified a new buffer position,
|
||||
;; treat that as an explicit point-move command, and
|
||||
;; override switch-to-buffer-preserve-window-point.
|
||||
(let ((switch-to-buffer-preserve-window-point
|
||||
(if filepos
|
||||
nil
|
||||
switch-to-buffer-preserve-window-point)))
|
||||
(switch-to-buffer next-buffer))
|
||||
;; After all the above, we might still have ended up with
|
||||
;; a minibuffer/dedicated-window (if there's no other).
|
||||
(error (pop-to-buffer next-buffer)))))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue