aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorEli Zaretskii2023-10-07 17:58:54 +0300
committerEli Zaretskii2023-10-07 17:58:54 +0300
commit8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6 (patch)
treea77710ac362d3d1d8eaf781fe6c2661455975e72 /src/process.c
parent247743bd1e99821e111a838ca5070c5ba057ac1c (diff)
downloademacs-8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6.tar.gz
emacs-8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6.zip
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)
Diffstat (limited to 'src/process.c')
-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
1273update_process_mark (struct Lisp_Process *p) 1273update_process_mark (struct Lisp_Process *p)
1274{ 1274{
1275 Lisp_Object buffer = p->buffer; 1275 Lisp_Object buffer = p->buffer;
1276 if (BUFFERP (buffer)) 1276 if (BUFFERP (buffer)
1277 && XMARKER (p->mark)->buffer != XBUFFER (buffer))
1277 set_marker_both (p->mark, buffer, 1278 set_marker_both (p->mark, buffer,
1278 BUF_ZV (XBUFFER (buffer)), 1279 BUF_ZV (XBUFFER (buffer)),
1279 BUF_ZV_BYTE (XBUFFER (buffer))); 1280 BUF_ZV_BYTE (XBUFFER (buffer)));