From unknown Sun Sep 07 01:05:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6060: 24.0.50; Process filters can no longer kill buffers Resent-From: Helmut Eller Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Apr 2010 14:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 6060 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 6060@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.127246669417079 (code B ref -1); Wed, 28 Apr 2010 14:59:02 +0000 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 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-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 unknown Sun Sep 07 01:05:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6060: 24.0.50; Process filters can no longer kill buffers Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Apr 2010 14:32:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6060 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Helmut Eller Cc: 6060@debbugs.gnu.org Received: via spool by 6060-submit@debbugs.gnu.org id=B6060.127255152231539 (code B ref 6060); Thu, 29 Apr 2010 14:32:03 +0000 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 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-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 unknown Sun Sep 07 01:05:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6060: 24.0.50; Process filters can no longer kill buffers In-Reply-To: Resent-From: Helmut Eller Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Apr 2010 16:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6060 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.12725568691949 (code B ref -1); Thu, 29 Apr 2010 16:02:02 +0000 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/ connect(): No such file or directory From: Helmut Eller 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-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 unknown Sun Sep 07 01:05:47 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Helmut Eller Subject: bug#6060: closed (Re: bug#6060: 24.0.50; Process filters can no longer kill buffers) Message-ID: References: X-Gnu-PR-Message: they-closed 6060 X-Gnu-PR-Package: emacs Reply-To: 6060@debbugs.gnu.org Date: Thu, 29 Apr 2010 23:13:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1272582782-15252-1" This is a multi-part message in MIME format... ------------=_1272582782-15252-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #6060: 24.0.50; Process filters can no longer kill buffers which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 6060@debbugs.gnu.org. --=20 6060: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D6060 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1272582782-15252-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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 ------------=_1272582782-15252-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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. ------------=_1272582782-15252-1--