aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mackenzie2020-02-13 19:00:36 +0000
committerAlan Mackenzie2020-02-13 19:00:36 +0000
commitd1e8ce8bb6fadf3d034ae437ff1c1b81be7d5209 (patch)
tree4060456055d4fe6304db1ba7b2bcc4a99f367aca /src
parent0304f530761bee1c217bbf8fe7839cdfe8767a51 (diff)
downloademacs-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.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,
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,