+2004-05-28 Noah Friedman <friedman@splode.com>
+
+ * process.c (Fdelete_process): Do not call remove_process.
+
2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
* alloc.c (struct backtrace): Remove.
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;
}
\f