summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2020-02-13 19:00:36 +0000
committerAlan Mackenzie <acm@muc.de>2020-02-13 19:00:36 +0000
commitd1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209 (patch)
tree4060456055d4fe6304db1ba7b2bcc4a99f367aca
parent0304f530761bee1c217bbf8fe7839cdfe8767a51 (diff)
downloademacs-d1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209.tar.gz
Make after-change-functions called from call-process get the correct BEG
This fixes bug #39585. * src/callproc.c (call_process): Supply the correct CHARPOS to signal_after_change (twice).
-rw-r--r--src/callproc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 07dcc4c3ae4..8883415f3f5 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -811,7 +811,7 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
&& ! CODING_MAY_REQUIRE_DECODING (&process_coding))
{
insert_1_both (buf, nread, nread, 0, 0, 0);
- signal_after_change (PT, 0, nread);
+ signal_after_change (PT - nread, 0, nread);
}
else
{ /* We have to decode the input. */
@@ -854,7 +854,8 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
TEMP_SET_PT_BOTH (PT + process_coding.produced_char,
PT_BYTE + process_coding.produced);
- signal_after_change (PT, 0, process_coding.produced_char);
+ signal_after_change (PT - process_coding.produced_char,
+ 0, process_coding.produced_char);
carryover = process_coding.carryover_bytes;
if (carryover > 0)
memcpy (buf, process_coding.carryover,