diff options
| author | Lars Ingebrigtsen | 2021-10-18 08:58:02 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2021-10-18 08:58:02 +0200 |
| commit | dd7cd14d281644d8e2c5b3f16eb7f074f61d18f7 (patch) | |
| tree | a9f8feab6a38416aba8b10f99a0bcc7052d3f024 /src/process.c | |
| parent | 595dcf88fd880a1c96fb7bb462ac53fedd2eb744 (diff) | |
| download | emacs-dd7cd14d281644d8e2c5b3f16eb7f074f61d18f7.tar.gz emacs-dd7cd14d281644d8e2c5b3f16eb7f074f61d18f7.zip | |
Allow :filter t in make-process to work as with set-process-filter
* src/process.c (create_process):
(create_pty):
(Fmake_pipe_process):
(Fmake_serial_process): Don't add the read_fd if the filter is t
(which means that we don't accept output from the filter).
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c index 6731f8808f5..f923aff1cb3 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -2167,7 +2167,8 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir) | |||
| 2167 | p->pty_flag = pty_flag; | 2167 | p->pty_flag = pty_flag; |
| 2168 | pset_status (p, Qrun); | 2168 | pset_status (p, Qrun); |
| 2169 | 2169 | ||
| 2170 | if (!EQ (p->command, Qt)) | 2170 | if (!EQ (p->command, Qt) |
| 2171 | && !EQ (p->filter, Qt)) | ||
| 2171 | add_process_read_fd (inchannel); | 2172 | add_process_read_fd (inchannel); |
| 2172 | 2173 | ||
| 2173 | ptrdiff_t count = SPECPDL_INDEX (); | 2174 | ptrdiff_t count = SPECPDL_INDEX (); |
| @@ -2285,7 +2286,8 @@ create_pty (Lisp_Object process) | |||
| 2285 | pset_status (p, Qrun); | 2286 | pset_status (p, Qrun); |
| 2286 | setup_process_coding_systems (process); | 2287 | setup_process_coding_systems (process); |
| 2287 | 2288 | ||
| 2288 | add_process_read_fd (pty_fd); | 2289 | if (!EQ (p->filter, Qt)) |
| 2290 | add_process_read_fd (pty_fd); | ||
| 2289 | 2291 | ||
| 2290 | pset_tty_name (p, build_string (pty_name)); | 2292 | pset_tty_name (p, build_string (pty_name)); |
| 2291 | } | 2293 | } |
| @@ -2394,7 +2396,8 @@ usage: (make-pipe-process &rest ARGS) */) | |||
| 2394 | pset_command (p, Qt); | 2396 | pset_command (p, Qt); |
| 2395 | eassert (! p->pty_flag); | 2397 | eassert (! p->pty_flag); |
| 2396 | 2398 | ||
| 2397 | if (!EQ (p->command, Qt)) | 2399 | if (!EQ (p->command, Qt) |
| 2400 | && !EQ (p->filter, Qt)) | ||
| 2398 | add_process_read_fd (inchannel); | 2401 | add_process_read_fd (inchannel); |
| 2399 | p->adaptive_read_buffering | 2402 | p->adaptive_read_buffering |
| 2400 | = (NILP (Vprocess_adaptive_read_buffering) ? 0 | 2403 | = (NILP (Vprocess_adaptive_read_buffering) ? 0 |
| @@ -3129,7 +3132,8 @@ usage: (make-serial-process &rest ARGS) */) | |||
| 3129 | pset_command (p, Qt); | 3132 | pset_command (p, Qt); |
| 3130 | eassert (! p->pty_flag); | 3133 | eassert (! p->pty_flag); |
| 3131 | 3134 | ||
| 3132 | if (!EQ (p->command, Qt)) | 3135 | if (!EQ (p->command, Qt) |
| 3136 | && !EQ (p->filter, Qt)) | ||
| 3133 | add_process_read_fd (fd); | 3137 | add_process_read_fd (fd); |
| 3134 | 3138 | ||
| 3135 | update_process_mark (p); | 3139 | update_process_mark (p); |