aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorLars Ingebrigtsen2021-10-18 08:58:02 +0200
committerLars Ingebrigtsen2021-10-18 08:58:02 +0200
commitdd7cd14d281644d8e2c5b3f16eb7f074f61d18f7 (patch)
treea9f8feab6a38416aba8b10f99a0bcc7052d3f024 /src/process.c
parent595dcf88fd880a1c96fb7bb462ac53fedd2eb744 (diff)
downloademacs-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.c12
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);