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))))
|
(frame-terminal))))
|
||||||
'nomini 'visible (selected-window))))
|
'nomini 'visible (selected-window))))
|
||||||
(condition-case nil
|
(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
|
;; After all the above, we might still have ended up with
|
||||||
;; a minibuffer/dedicated-window (if there's no other).
|
;; a minibuffer/dedicated-window (if there's no other).
|
||||||
(error (pop-to-buffer next-buffer)))))))
|
(error (pop-to-buffer next-buffer)))))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue