diff options
| author | Eli Zaretskii | 2023-10-07 17:58:54 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2023-10-07 17:58:54 +0300 |
| commit | 8f23a02a9ea1fbc4213cae5664dcb9bf6b5205f6 (patch) | |
| tree | a77710ac362d3d1d8eaf781fe6c2661455975e72 /src/process.c | |
| parent | 247743bd1e99821e111a838ca5070c5ba057ac1c (diff) | |
| download | emacs-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.c | 3 |
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 | |||
| 1273 | update_process_mark (struct Lisp_Process *p) | 1273 | update_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))); |