From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 28 10:58:14 2010 Received: (at submit) by debbugs.gnu.org; 28 Apr 2010 14:58:14 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O78iL-0004RQ-Oe for submit@debbugs.gnu.org; Wed, 28 Apr 2010 10:58:14 -0400 Received: from mail.gnu.org ([199.232.76.166] helo=mx10.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O78iJ-0004RK-Qh for submit@debbugs.gnu.org; Wed, 28 Apr 2010 10:58:12 -0400 Received: from lists.gnu.org ([199.232.76.165]:60614) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1O78iH-0007Mb-K6 for submit@debbugs.gnu.org; Wed, 28 Apr 2010 10:58:09 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O78iH-000408-6V for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2010 10:58:09 -0400 Received: from [140.186.70.92] (port=58967 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O78iF-000400-0T for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2010 10:58:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FSL_HELO_NON_FQDN_1, HELO_NO_DOMAIN, RCVD_IN_BRBL_LASTEXT, RCVD_IN_RP_RNBL, T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.3.0 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O78iD-00080i-St for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2010 10:58:06 -0400 Received: from dial-178183.pool.broadband44.net ([212.46.178.183]:33380 helo=ix) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O78iD-000800-M3 for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2010 10:58:05 -0400 Received: from helmut by ix with local (Exim 4.69) (envelope-from ) id 1O77vx-0005aK-6N for bug-gnu-emacs@gnu.org; Wed, 28 Apr 2010 16:08:13 +0200 From: Helmut Eller To: bug-gnu-emacs@gnu.org Subject: 24.0.50; Process filters can no longer kill buffers Date: Wed, 28 Apr 2010 16:08:12 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.7 (-----) When GNU Emacs 24.0.50.7 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of 2010-04-28 executes code like this: (defun filter-test () (let* ((proc (start-process "test" nil "/bin/bash" "-c" "for i in 1 2 3 4 ; do echo $i ; sleep 1 ; done")) (buffer (generate-new-buffer "test-buffer")) (filter (lambda (proc str) (message "filter: %S" str) (kill-buffer buffer)))) (set-process-filter proc filter) (unwind-protect (with-current-buffer buffer (while (buffer-live-p buffer) (accept-process-output proc))) (kill-process proc)))) Emacs signals this error: (error "Selecting deleted buffer") This used to work in earlier versions of Emacs. The problem was most likely introduced by: 2010-04-11 Stefan Monnier * process.c (exec_sentinel): Preserve current-buffer. * process.c (read_process_output): Move the save-current-buffer to apply to both the filter and the non-filter branches. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 29 10:32:02 2010 Received: (at 6060) by debbugs.gnu.org; 29 Apr 2010 14:32:02 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7UmX-0008Cb-OV for submit@debbugs.gnu.org; Thu, 29 Apr 2010 10:32:01 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7UmW-0008CV-My for 6060@debbugs.gnu.org; Thu, 29 Apr 2010 10:32:01 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvsEALw12UvO+KoL/2dsb2JhbACdDXK+XIUQBIwb X-IronPort-AV: E=Sophos;i="4.52,295,1270440000"; d="scan'208";a="62838744" Received: from 206-248-170-11.dsl.teksavvy.com (HELO pastel.home) ([206.248.170.11]) by ironport2-out.pppoe.ca with ESMTP; 29 Apr 2010 10:31:32 -0400 Received: by pastel.home (Postfix, from userid 20848) id 827EA80DF; Thu, 29 Apr 2010 10:31:46 -0400 (EDT) From: Stefan Monnier To: Helmut Eller Subject: Re: bug#6060: 24.0.50; Process filters can no longer kill buffers Message-ID: References: Date: Thu, 29 Apr 2010 10:31:46 -0400 In-Reply-To: (Helmut Eller's message of "Wed, 28 Apr 2010 16:08:12 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 6060 Cc: 6060@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) > Emacs signals this error: (error "Selecting deleted buffer") [...] > This used to work in earlier versions of Emacs. > The problem was most likely introduced by: [...] > * process.c (exec_sentinel): Preserve current-buffer. > * process.c (read_process_output): Move the save-current-buffer to > apply to both the filter and the non-filter branches. Indeed, thank you. I believe the patch below has fixed this, can you confirm? Stefan === modified file 'src/process.c' --- src/process.c 2010-04-13 02:07:48 +0000 +++ src/process.c 2010-04-29 14:17:52 +0000 @@ -5396,7 +5396,7 @@ /* There's no good reason to let process filters change the current buffer, and many callers of accept-process-output, sit-for, and friends don't expect current-buffer to be changed from under them. */ - record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); + record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); /* Read and dispose of the process output. */ outstream = p->filter; @@ -6814,7 +6814,7 @@ /* There's no good reason to let sentinels change the current buffer, and many callers of accept-process-output, sit-for, and friends don't expect current-buffer to be changed from under them. */ - record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); + record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); sentinel = p->sentinel; if (NILP (sentinel)) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 29 12:01:09 2010 Received: (at submit) by debbugs.gnu.org; 29 Apr 2010 16:01:09 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7WAn-0000VO-79 for submit@debbugs.gnu.org; Thu, 29 Apr 2010 12:01:09 -0400 Received: from mail.gnu.org ([199.232.76.166] helo=mx10.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7WAk-0000V2-0N for submit@debbugs.gnu.org; Thu, 29 Apr 2010 12:01:07 -0400 Received: from lists.gnu.org ([199.232.76.165]:54419) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1O7WAk-0004e9-FH for submit@debbugs.gnu.org; Thu, 29 Apr 2010 12:01:06 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O7WAj-0003Rq-N5 for bug-gnu-emacs@gnu.org; Thu, 29 Apr 2010 12:01:05 -0400 Received: from [140.186.70.92] (port=48678 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O7WAg-0003R6-DA for bug-gnu-emacs@gnu.org; Thu, 29 Apr 2010 12:01:05 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_RP_MATCHES_RCVD, T_TO_NO_BRKTS_FREEMAIL autolearn=unavailable version=3.3.0 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O7WAf-000878-3d for bug-gnu-emacs@gnu.org; Thu, 29 Apr 2010 12:01:02 -0400 Received: from lo.gmane.org ([80.91.229.12]:51052) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7WAe-00086u-UM for bug-gnu-emacs@gnu.org; Thu, 29 Apr 2010 12:01:01 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1O7WAb-00039y-Fq for bug-gnu-emacs@gnu.org; Thu, 29 Apr 2010 18:00:57 +0200 Received: from dial-178183.pool.broadband44.net ([212.46.178.183]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 29 Apr 2010 18:00:57 +0200 Received: from eller.helmut by dial-178183.pool.broadband44.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 29 Apr 2010 18:00:57 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org connect(): No such file or directory From: Helmut Eller Subject: Re: bug#6060: 24.0.50; Process filters can no longer kill buffers Date: Thu, 29 Apr 2010 18:00:48 +0200 Lines: 16 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: dial-178183.pool.broadband44.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:a0G0wSrT3VgAgI+MGKKqYLOvYGU= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.8 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.8 (-----) * Stefan Monnier [2010-04-29 16:31+0200] writes: >> Emacs signals this error: (error "Selecting deleted buffer") > [...] >> This used to work in earlier versions of Emacs. >> The problem was most likely introduced by: > [...] >> * process.c (exec_sentinel): Preserve current-buffer. >> * process.c (read_process_output): Move the save-current-buffer to >> apply to both the filter and the non-filter branches. > > Indeed, thank you. I believe the patch below has fixed this, can you confirm? Yes, works. Thanks for the quick fix. Helmut From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 29 19:12:26 2010 Received: (at 6060-done) by debbugs.gnu.org; 29 Apr 2010 23:12:26 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7cu9-0003xi-Sj for submit@debbugs.gnu.org; Thu, 29 Apr 2010 19:12:26 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O7cb0-0003p3-8w for 6060-done@debbugs.gnu.org; Thu, 29 Apr 2010 18:52:38 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvsEAOeq2UvO+KoL/2dsb2JhbACdFXK/C4UQBIwb X-IronPort-AV: E=Sophos;i="4.52,298,1270440000"; d="scan'208";a="62892809" Received: from 206-248-170-11.dsl.teksavvy.com (HELO ceviche.home) ([206.248.170.11]) by ironport2-out.pppoe.ca with ESMTP; 29 Apr 2010 18:52:39 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 57799660C1; Thu, 29 Apr 2010 18:52:39 -0400 (EDT) From: Stefan Monnier To: Helmut Eller Subject: Re: bug#6060: 24.0.50; Process filters can no longer kill buffers Message-ID: References: Date: Thu, 29 Apr 2010 18:52:39 -0400 In-Reply-To: (Helmut Eller's message of "Thu, 29 Apr 2010 18:00:48 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 6060-done X-Mailman-Approved-At: Thu, 29 Apr 2010 19:12:25 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) > Yes, works. Thanks for the quick fix. Thanks for confirming, Stefan From unknown Sun Sep 07 01:05:51 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 28 May 2010 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator