summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-10-07 17:58:54 +0300
committerEli Zaretskii <eliz@gnu.org>2023-10-07 17:58:54 +0300
commit8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6 (patch)
treea77710ac362d3d1d8eaf781fe6c2661455975e72
parent247743bd1e99821e111a838ca5070c5ba057ac1c (diff)
downloademacs-8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6.tar.gz
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)
-rw-r--r--src/process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c
index 5f7408a9395..46e57c1a7c2 100644
--- a/src/process.c
+++ b/src/process.c
@@ -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)));