diff --git a/src/process.c b/src/process.c index 08cb810ec13..bdbe8d96064 100644 --- a/src/process.c +++ b/src/process.c @@ -6227,7 +6227,15 @@ read_process_output (Lisp_Object proc, int channel) friends don't expect current-buffer to be changed from under them. */ record_unwind_current_buffer (); - read_and_dispose_of_process_output (p, chars, nbytes, coding); + if (p->filter == Qinternal_default_process_filter) + { + Lisp_Object text; + decode_coding_c_string (coding, (unsigned char *) chars, nbytes, Qt); + text = coding->dst_object; + Finternal_default_process_filter (proc, text); + } + else + read_and_dispose_of_process_output (p, chars, nbytes, coding); /* Handling the process output should not deactivate the mark. */ Vdeactivate_mark = odeactivate;