Fix updating process-mark position in 'set-process-buffer'

* src/process.c (update_process_mark): Update marker position only
if P's process-mark is not already associated with P's buffer.
(Bug#66313)
This commit is contained in:
Eli Zaretskii 2023-10-07 17:58:54 +03:00
parent 247743bd1e
commit 8f23a02a9e

View file

@ -1273,7 +1273,8 @@ static void
update_process_mark (struct Lisp_Process *p)
{
Lisp_Object buffer = p->buffer;
if (BUFFERP (buffer))
if (BUFFERP (buffer)
&& XMARKER (p->mark)->buffer != XBUFFER (buffer))
set_marker_both (p->mark, buffer,
BUF_ZV (XBUFFER (buffer)),
BUF_ZV_BYTE (XBUFFER (buffer)));