Subject: Re: bug#18116: 24.3.92; url-http calls CALLBACK recursively with malformed CBARGS if the former calls `delete-process'

From: Óscar Fuentes <[email-masked]>
Date: Mon, 18 Aug 2014 21:34:23 +0200

Git bisect:

488ac8e4deedd56665301762fe6ad2e9e9dea7e7 is the first bad commit
commit 488ac8e4deedd56665301762fe6ad2e9e9dea7e7
Author: Stefan Monnier <[email-masked]>
Date:   Wed May 15 14:54:49 2013 -0400

    * src/process.c: Export default filters and sentinels to Elisp.
    (Qinternal_default_process_sentinel, Qinternal_default_process_filter):
    New constants.
    (pset_filter, pset_sentinel, make_process, Fset_process_filter)
    (Fset_process_sentinel, Fformat_network_address):
    Default to them instead of nil.
    (server_accept_connection): Sentinels can't be nil any more.
    (read_and_dispose_of_process_output): New function, extracted from
    read_process_output.
    (read_process_output): Use it; filters can't be nil.
    (Finternal_default_process_filter): New function, extracted from
    read_process_output.
    (exec_sentinel_unwind): Remove function.
    (exec_sentinel): Don't zilch sentinel while running.
    (status_notify): Sentinels can't be nil.
    (Finternal_default_process_sentinel): New function extracted from
    status_notify.
    (setup_process_coding_systems): Default filter is not nil any more.
    (syms_of_process): Export new Elisp functions and initialize
    new constants.
    * src/lisp.h (make_lisp_proc): New function.