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).
This commit is contained in:
parent
0304f53076
commit
d1e8ce8bb6
1 changed files with 3 additions and 2 deletions
|
@ -811,7 +811,7 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
|
||||||
&& ! CODING_MAY_REQUIRE_DECODING (&process_coding))
|
&& ! CODING_MAY_REQUIRE_DECODING (&process_coding))
|
||||||
{
|
{
|
||||||
insert_1_both (buf, nread, nread, 0, 0, 0);
|
insert_1_both (buf, nread, nread, 0, 0, 0);
|
||||||
signal_after_change (PT, 0, nread);
|
signal_after_change (PT - nread, 0, nread);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ /* We have to decode the input. */
|
{ /* 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,
|
TEMP_SET_PT_BOTH (PT + process_coding.produced_char,
|
||||||
PT_BYTE + process_coding.produced);
|
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;
|
carryover = process_coding.carryover_bytes;
|
||||||
if (carryover > 0)
|
if (carryover > 0)
|
||||||
memcpy (buf, process_coding.carryover,
|
memcpy (buf, process_coding.carryover,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue