From: Noah Friedman Date: Fri, 28 May 2004 21:58:31 +0000 (+0000) Subject: process.c (Fdelete_process): Do not call remove_process. X-Git-Tag: ttn-vms-21-2-B4~6030 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=33594a8d34d2030130c5f9f5b21085b7e05c1d3d;p=emacs.git process.c (Fdelete_process): Do not call remove_process. --- diff --git a/src/ChangeLog b/src/ChangeLog index 66b502d5bbc..f0c26f3b4f0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2004-05-28 Noah Friedman + + * process.c (Fdelete_process): Do not call remove_process. + 2004-05-28 Stefan Monnier * alloc.c (struct backtrace): Remove. diff --git a/src/process.c b/src/process.c index 82f61ffdfb2..a19880fc4f6 100644 --- a/src/process.c +++ b/src/process.c @@ -774,7 +774,18 @@ nil, indicating the current buffer's process. */) XSETINT (XPROCESS (process)->tick, ++process_tick); status_notify (); } - remove_process (process); + /* Do not call remove_process here; either status_notify has already done + it, or will do so the next time emacs polls for input. Thus network + processes are not immediately removed, and their sentinel will be + called. + + Since Fdelete_process is called by kill_buffer_processes, this also + means that a network process sentinel will run after the buffer is + dead, which would not be the case if status_notify() were called + unconditionally here. This way process sentinels observe consistent + behavior with regard to buffer-live-p. + */ + /* remove_process (process); */ return Qnil; }