diff options
Diffstat (limited to 'src/callproc.c')
| -rw-r--r-- | src/callproc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/callproc.c b/src/callproc.c index 9e60ba11bcf..7ba3e398b41 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -826,8 +826,10 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 826 | /* Now NREAD is the total amount of data in the buffer. */ | 826 | /* Now NREAD is the total amount of data in the buffer. */ |
| 827 | immediate_quit = 0; | 827 | immediate_quit = 0; |
| 828 | 828 | ||
| 829 | if (NILP (BVAR (current_buffer, enable_multibyte_characters)) | 829 | if (!nread) |
| 830 | && ! CODING_MAY_REQUIRE_DECODING (&process_coding)) | 830 | ; |
| 831 | else if (NILP (BVAR (current_buffer, enable_multibyte_characters)) | ||
| 832 | && ! CODING_MAY_REQUIRE_DECODING (&process_coding)) | ||
| 831 | insert_1_both (buf, nread, nread, 0, 1, 0); | 833 | insert_1_both (buf, nread, nread, 0, 1, 0); |
| 832 | else | 834 | else |
| 833 | { /* We have to decode the input. */ | 835 | { /* We have to decode the input. */ |
| @@ -835,6 +837,7 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd, | |||
| 835 | ptrdiff_t count1 = SPECPDL_INDEX (); | 837 | ptrdiff_t count1 = SPECPDL_INDEX (); |
| 836 | 838 | ||
| 837 | XSETBUFFER (curbuf, current_buffer); | 839 | XSETBUFFER (curbuf, current_buffer); |
| 840 | /* FIXME: Call signal_after_change! */ | ||
| 838 | prepare_to_modify_buffer (PT, PT, NULL); | 841 | prepare_to_modify_buffer (PT, PT, NULL); |
| 839 | /* We cannot allow after-change-functions be run | 842 | /* We cannot allow after-change-functions be run |
| 840 | during decoding, because that might modify the | 843 | during decoding, because that might modify the |