diff options
| author | Alan Mackenzie | 2020-02-13 19:00:36 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2020-02-13 19:00:36 +0000 |
| commit | d1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209 (patch) | |
| tree | 4060456055d4fe6304db1ba7b2bcc4a99f367aca /src | |
| parent | 0304f530761bee1c217bbf8fe7839cdfe8767a51 (diff) | |
| download | emacs-d1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209.tar.gz emacs-d1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209.zip | |
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).
Diffstat (limited to 'src')
| -rw-r--r-- | src/callproc.c | 5 |
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, | |||
| 811 | && ! CODING_MAY_REQUIRE_DECODING (&process_coding)) | 811 | && ! CODING_MAY_REQUIRE_DECODING (&process_coding)) |
| 812 | { | 812 | { |
| 813 | insert_1_both (buf, nread, nread, 0, 0, 0); | 813 | insert_1_both (buf, nread, nread, 0, 0, 0); |
| 814 | signal_after_change (PT, 0, nread); | 814 | signal_after_change (PT - nread, 0, nread); |
| 815 | } | 815 | } |
| 816 | else | 816 | else |
| 817 | { /* We have to decode the input. */ | 817 | { /* We have to decode the input. */ |
| @@ -854,7 +854,8 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 854 | 854 | ||
| 855 | TEMP_SET_PT_BOTH (PT + process_coding.produced_char, | 855 | TEMP_SET_PT_BOTH (PT + process_coding.produced_char, |
| 856 | PT_BYTE + process_coding.produced); | 856 | PT_BYTE + process_coding.produced); |
| 857 | signal_after_change (PT, 0, process_coding.produced_char); | 857 | signal_after_change (PT - process_coding.produced_char, |
| 858 | 0, process_coding.produced_char); | ||
| 858 | carryover = process_coding.carryover_bytes; | 859 | carryover = process_coding.carryover_bytes; |
| 859 | if (carryover > 0) | 860 | if (carryover > 0) |
| 860 | memcpy (buf, process_coding.carryover, | 861 | memcpy (buf, process_coding.carryover, |