From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Oct 2012 20:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 12766@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.135154272415218 (code B ref -1); Mon, 29 Oct 2012 20:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 29 Oct 2012 20:32:04 +0000 Received: from localhost ([127.0.0.1]:38553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TSw0C-0003xP-LT for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:32:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42401) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TSw0A-0003x7-Fs for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:32:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TSvxl-0003wA-Oe for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:29:34 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:58999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxl-0003w6-LO for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:29:33 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxk-0007Im-TC for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TSvxk-0003vm-2T for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:32 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:43374) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxj-0003vi-NJ for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:31 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q9TKTTcb013976 for ; Mon, 29 Oct 2012 16:29:29 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 960E0B4278; Mon, 29 Oct 2012 16:29:29 -0400 (EDT) From: Stefan Monnier Date: Mon, 29 Oct 2012 16:29:29 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4386=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4386> : streams <847905> : uri <1255288> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: -3.5 (---) Package: Emacs Version: 24.2.50 % src/emacs -Q --eval "(setq initial-frame-alist '((minibuffer . nil)))" M-: (with-temp-buffer (list (read-string "toto: ") (current-buffer))) RET In Emacs 24.2 this always shows the current-buffer to be the temp buffer (which is a killed buffer by the time M-: prints its result). But in Emacs trunk, the result depends on whether you issue the M-: from the normal frame (where it works right) or from the special minibuffer-only frame, where current-buffer after read-string is *minibuf-0*! This is a serious problem, which introduces subtle bugs that can be pretty difficult to track down. Stefan From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 30 Oct 2012 10:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.135159312613941 (code B ref 12766); Tue, 30 Oct 2012 10:33:02 +0000 Received: (at 12766) by debbugs.gnu.org; 30 Oct 2012 10:32:06 +0000 Received: from localhost ([127.0.0.1]:39136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TT978-0003co-0c for submit@debbugs.gnu.org; Tue, 30 Oct 2012 06:32:06 -0400 Received: from mailout-de.gmx.net ([213.165.64.23]:55281) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TT976-0003ch-Di for 12766@debbugs.gnu.org; Tue, 30 Oct 2012 06:32:05 -0400 Received: (qmail invoked by alias); 30 Oct 2012 10:27:59 -0000 Received: from 62-47-45-43.adsl.highway.telekom.at (EHLO [62.47.45.43]) [62.47.45.43] by mail.gmx.net (mp041) with SMTP; 30 Oct 2012 11:27:59 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX18gO1s9mg4gc9HBetldRqs1/RWCTieEVEWxzaio00 Vo8/DSH9onA7Ib Message-ID: <508FABAE.4050104@gmx.at> Date: Tue, 30 Oct 2012 11:27:58 +0100 From: martin rudalics MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) > % src/emacs -Q --eval "(setq initial-frame-alist '((minibuffer . nil)))" > M-: (with-temp-buffer (list (read-string "toto: ") (current-buffer))) RET > > In Emacs 24.2 this always shows the current-buffer to be the temp buffer > (which is a killed buffer by the time M-: prints its result). > But in Emacs trunk, the result depends on whether you issue the M-: > from the normal frame (where it works right) or from the special > minibuffer-only frame, where current-buffer after read-string is > *minibuf-0*! > > This is a serious problem, which introduces subtle bugs that can be > pretty difficult to track down. Two changes I made could be involved: (1) `select-window' now always makes the window's buffer current. (2) read_minibuf now calls set_window_buffer instead of Fset_window_buffer. And there's also bug#10851 where `read-char-by-name' could change the current buffer. Also, is this related to the comment ;; FIXME: kill-buffer can change current-buffer in some odd cases. in `with-temp-buffer'? martin From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 30 Oct 2012 13:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.13516052391967 (code B ref 12766); Tue, 30 Oct 2012 13:54:01 +0000 Received: (at 12766) by debbugs.gnu.org; 30 Oct 2012 13:53:59 +0000 Received: from localhost ([127.0.0.1]:39214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTCGU-0000Vf-U7 for submit@debbugs.gnu.org; Tue, 30 Oct 2012 09:53:59 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:59597) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTCGS-0000VX-PK for 12766@debbugs.gnu.org; Tue, 30 Oct 2012 09:53:57 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu0/O+LET/2dsb2JhbABEtBGBCIIVAQEEAVYjBQsLNBIUGA0kiBwFugmQRAOjM4FYgwU X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="203143590" Received: from 206-248-177-19.dsl.teksavvy.com (HELO pastel.home) ([206.248.177.19]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 30 Oct 2012 09:51:24 -0400 Received: by pastel.home (Postfix, from userid 20848) id D305059419; Tue, 30 Oct 2012 09:51:18 -0400 (EDT) From: Stefan Monnier Message-ID: References: <508FABAE.4050104@gmx.at> Date: Tue, 30 Oct 2012 09:51:18 -0400 In-Reply-To: <508FABAE.4050104@gmx.at> (martin rudalics's message of "Tue, 30 Oct 2012 11:27:58 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) >> % src/emacs -Q --eval "(setq initial-frame-alist '((minibuffer . nil)))" >> M-: (with-temp-buffer (list (read-string "toto: ") (current-buffer))) RET > Two changes I made could be involved: > (1) `select-window' now always makes the window's buffer current. > (2) read_minibuf now calls set_window_buffer instead of > Fset_window_buffer. I think (1) is more likely to be the problem. Could you check read_minibuf to see which unwind is supposed to reset the current buffer? Maybe that code worked by accident (.e.g relying on the fact that select-window didn't set current-buffer in that corner case) and the right fix is simply to explicitly save&restore current buffer. > Also, is this related to the comment > ;; FIXME: kill-buffer can change current-buffer in some odd cases. > in `with-temp-buffer'? No, (current-buffer) is evaluated before the buffer gets killed, and the bug shows up with with-temp-buffer (the recipe is just shorter with with-temp-buffer, but you can try it with (with-current-buffer (get-buffer-create " *sm-test*") ...) to convince yourself). Stefan From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 30 Oct 2012 18:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.135162312328534 (code B ref 12766); Tue, 30 Oct 2012 18:53:02 +0000 Received: (at 12766) by debbugs.gnu.org; 30 Oct 2012 18:52:03 +0000 Received: from localhost ([127.0.0.1]:40052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTGuw-0007QB-Ra for submit@debbugs.gnu.org; Tue, 30 Oct 2012 14:52:03 -0400 Received: from mailout-de.gmx.net ([213.165.64.23]:55364) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TTGuu-0007Pm-AR for 12766@debbugs.gnu.org; Tue, 30 Oct 2012 14:52:01 -0400 Received: (qmail invoked by alias); 30 Oct 2012 18:49:25 -0000 Received: from 62-47-63-38.adsl.highway.telekom.at (EHLO [62.47.63.38]) [62.47.63.38] by mail.gmx.net (mp031) with SMTP; 30 Oct 2012 19:49:25 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX18v9KE3WI4vLH9XOrS216dcl8N9NfYigsTEuAAtM+ 1Pmpxqx8i+4K7/ Message-ID: <50902133.1070703@gmx.at> Date: Tue, 30 Oct 2012 19:49:23 +0100 From: martin rudalics MIME-Version: 1.0 References: <508FABAE.4050104@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) >>> % src/emacs -Q --eval "(setq initial-frame-alist '((minibuffer . nil)))" >>> M-: (with-temp-buffer (list (read-string "toto: ") (current-buffer))) RET >> Two changes I made could be involved: >> (1) `select-window' now always makes the window's buffer current. >> (2) read_minibuf now calls set_window_buffer instead of >> Fset_window_buffer. > > I think (1) is more likely to be the problem. Verified (sloppily). > Could you check > read_minibuf to see which unwind is supposed to reset the > current buffer? IIUC read_minibuf doesn't care about restoring the current buffer. > Maybe that code worked by accident (.e.g relying on the fact that > select-window didn't set current-buffer in that corner case) and the > right fix is simply to explicitly save&restore current buffer. FWIW the problem already happens when choose_minibuf_frame calls Fset_frame_selected_window. The patch below seems to fix it. martin, completely lost in the labyrinth of read_minibuf *** src/minibuf.c 2012-10-11 16:23:37 +0000 --- src/minibuf.c 2012-10-30 18:25:26 +0000 *************** *** 472,477 **** --- 472,479 ---- /* Choose the minibuffer window and frame, and take action on them. */ + record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); + choose_minibuf_frame (); record_unwind_protect (choose_minibuf_frame_1, Qnil); From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 30 Oct 2012 19:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.135162504431229 (code B ref 12766); Tue, 30 Oct 2012 19:25:02 +0000 Received: (at 12766) by debbugs.gnu.org; 30 Oct 2012 19:24:04 +0000 Received: from localhost ([127.0.0.1]:40068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTHPw-00087e-0B for submit@debbugs.gnu.org; Tue, 30 Oct 2012 15:24:04 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:35003) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTHPt-00087I-DN for 12766@debbugs.gnu.org; Tue, 30 Oct 2012 15:24:03 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu0/O+LET/2dsb2JhbABEtBGBCIIVAQEEAVYjBQsLNBIUGA0kiBwFugmQRAOjM4FYgwU X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="203174184" Received: from 206-248-177-19.dsl.teksavvy.com (HELO pastel.home) ([206.248.177.19]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 30 Oct 2012 15:21:27 -0400 Received: by pastel.home (Postfix, from userid 20848) id 4F07D59419; Tue, 30 Oct 2012 15:21:27 -0400 (EDT) From: Stefan Monnier Message-ID: References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> Date: Tue, 30 Oct 2012 15:21:27 -0400 In-Reply-To: <50902133.1070703@gmx.at> (martin rudalics's message of "Tue, 30 Oct 2012 19:49:23 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) > FWIW the problem already happens when choose_minibuf_frame calls > Fset_frame_selected_window. The patch below seems to fix it. Right, I would expect it to fix the problem, indeed. IOW, please install. But I still wonder, how come this was not needed earlier. Stefan From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Oct 2012 10:30:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.135167939819960 (code B ref 12766); Wed, 31 Oct 2012 10:30:03 +0000 Received: (at 12766) by debbugs.gnu.org; 31 Oct 2012 10:29:58 +0000 Received: from localhost ([127.0.0.1]:40843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTVYb-0005Bt-OD for submit@debbugs.gnu.org; Wed, 31 Oct 2012 06:29:57 -0400 Received: from mailout-de.gmx.net ([213.165.64.23]:57789) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TTVYZ-0005Bm-TK for 12766@debbugs.gnu.org; Wed, 31 Oct 2012 06:29:56 -0400 Received: (qmail invoked by alias); 31 Oct 2012 10:27:18 -0000 Received: from 62-47-46-176.adsl.highway.telekom.at (EHLO [62.47.46.176]) [62.47.46.176] by mail.gmx.net (mp035) with SMTP; 31 Oct 2012 11:27:18 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19FV3U3HXVFo614jIrD+Qy2AWRBG+8Dh9UjnbaCrN dz6X1nKSs/n3x1 Message-ID: <5090FD03.9080405@gmx.at> Date: Wed, 31 Oct 2012 11:27:15 +0100 From: martin rudalics MIME-Version: 1.0 References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) > Right, I would expect it to fix the problem, indeed. IOW, please > install. Installed in revision 110748 on trunk. > But I still wonder, how come this was not needed earlier. I didn't go through it but IIUC read_minibuf calls choose_minibuf_frame which calls Fset_frame_selected_window for each frame which now, for the selected window, unconditionally makes its buffer current. For me the fact that unwinding a sequence of operations as choose_minibuf_frame (); record_unwind_protect (choose_minibuf_frame_1, Qnil); record_unwind_protect (Fset_window_configuration, Fcurrent_window_configuration (Qnil)); record_unwind_protect (Fset_window_configuration, Fcurrent_window_configuration (mini_frame)); would work in practice constitutes a miracle already. martin From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Oct 2012 14:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.135169259110824 (code B ref 12766); Wed, 31 Oct 2012 14:10:02 +0000 Received: (at 12766) by debbugs.gnu.org; 31 Oct 2012 14:09:51 +0000 Received: from localhost ([127.0.0.1]:41566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTYzP-0002oW-GY for submit@debbugs.gnu.org; Wed, 31 Oct 2012 10:09:51 -0400 Received: from relais.videotron.ca ([24.201.245.36]:62889) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TTYzO-0002oQ-Ed for 12766@debbugs.gnu.org; Wed, 31 Oct 2012 10:09:50 -0400 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from ceviche.home ([24.201.208.110]) by VL-VM-MR004.ip.videotron.ca (Oracle Communications Messaging Exchange Server 7u4-22.01 64bit (built Apr 21 2011)) with ESMTP id <0MCR00ATOGK0W6E0@VL-VM-MR004.ip.videotron.ca> for 12766@debbugs.gnu.org; Wed, 31 Oct 2012 10:07:12 -0400 (EDT) Received: by ceviche.home (Postfix, from userid 20848) id 88B76660E0; Wed, 31 Oct 2012 10:07:08 -0400 (EDT) From: Stefan Monnier Message-id: References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> <5090FD03.9080405@gmx.at> Date: Wed, 31 Oct 2012 10:07:08 -0400 In-reply-to: <5090FD03.9080405@gmx.at> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) X-Spam-Score: 1.6 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > For me the fact that unwinding a sequence of operations as > choose_minibuf_frame (); > record_unwind_protect (choose_minibuf_frame_1, Qnil); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (Qnil)); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (mini_frame)); > would work in practice constitutes a miracle already. [...] Content analysis details: (1.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [24.201.245.36 listed in list.dnswl.org] 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4999] 0.1 HDRS_LCASE Odd capitalization of message header 0.0 T_MANY_HDRS_LCASE Odd capitalization of multiple message headers X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > For me the fact that unwinding a sequence of operations as > choose_minibuf_frame (); > record_unwind_protect (choose_minibuf_frame_1, Qnil); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (Qnil)); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (mini_frame)); > would work in practice constitutes a miracle already. [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [24.201.245.36 listed in list.dnswl.org] 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4373] > For me the fact that unwinding a sequence of operations as > choose_minibuf_frame (); > record_unwind_protect (choose_minibuf_frame_1, Qnil); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (Qnil)); > record_unwind_protect (Fset_window_configuration, > Fcurrent_window_configuration (mini_frame)); > would work in practice constitutes a miracle already. Yes, Emacs is amazing ;-) Stefan "who'd be happy to move read_minibuf to Lisp" From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 09 Nov 2012 09:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.13524546466751 (code B ref 12766); Fri, 09 Nov 2012 09:51:02 +0000 Received: (at 12766) by debbugs.gnu.org; 9 Nov 2012 09:50:46 +0000 Received: from localhost ([127.0.0.1]:57065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TWlEb-0001kq-OK for submit@debbugs.gnu.org; Fri, 09 Nov 2012 04:50:45 -0500 Received: from mailout-de.gmx.net ([213.165.64.22]:48124) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TWlEZ-0001kj-Hg for 12766@debbugs.gnu.org; Fri, 09 Nov 2012 04:50:44 -0500 Received: (qmail invoked by alias); 09 Nov 2012 09:50:28 -0000 Received: from 62-47-52-3.adsl.highway.telekom.at (EHLO [62.47.52.3]) [62.47.52.3] by mail.gmx.net (mp010) with SMTP; 09 Nov 2012 10:50:28 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19b5BJRE/5bTC04maGv+gHXODwxLRwCU3mFMbo7Vz PZBEofp6h+qEu9 Message-ID: <509CD1DE.7020601@gmx.at> Date: Fri, 09 Nov 2012 10:50:22 +0100 From: martin rudalics MIME-Version: 1.0 References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) > Right, I would expect it to fix the problem, indeed. IOW, please > install. Can we close this bug? martin From unknown Sat Aug 16 16:54:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12766: read-from-minibuffer does not preserve current-buffer Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 09 Nov 2012 14:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12766 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 12766@debbugs.gnu.org Received: via spool by 12766-submit@debbugs.gnu.org id=B12766.13524708335880 (code B ref 12766); Fri, 09 Nov 2012 14:21:01 +0000 Received: (at 12766) by debbugs.gnu.org; 9 Nov 2012 14:20:33 +0000 Received: from localhost ([127.0.0.1]:57339 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TWpRf-0001Wl-Oa for submit@debbugs.gnu.org; Fri, 09 Nov 2012 09:20:32 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:60130) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TWpRd-0001Wf-Tc for 12766@debbugs.gnu.org; Fri, 09 Nov 2012 09:20:30 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu09sr+ZY/2dsb2JhbABEtBGBCIIVAQEEAVYjEAs0EhQYDSSIHAW6CZBEA4hCmnGBWIMH X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="206807266" Received: from 108-175-230-88.dsl.teksavvy.com (HELO pastel.home) ([108.175.230.88]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 09 Nov 2012 09:20:21 -0500 Received: by pastel.home (Postfix, from userid 20848) id 7827259780; Fri, 9 Nov 2012 09:20:21 -0500 (EST) From: Stefan Monnier Message-ID: References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> <509CD1DE.7020601@gmx.at> Date: Fri, 09 Nov 2012 09:20:21 -0500 In-Reply-To: <509CD1DE.7020601@gmx.at> (martin rudalics's message of "Fri, 09 Nov 2012 10:50:22 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: 0.8 (/) >> Right, I would expect it to fix the problem, indeed. IOW, please >> install. > Can we close this bug? Yes, Stefan "still wondering how it worked in Emacs-23" From unknown Sat Aug 16 16:54:33 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Stefan Monnier Subject: bug#12766: closed (Re: bug#12766: read-from-minibuffer does not preserve current-buffer) Message-ID: References: <509E3558.7090203@gmx.at> X-Gnu-PR-Message: they-closed 12766 X-Gnu-PR-Package: emacs Reply-To: 12766@debbugs.gnu.org Date: Sat, 10 Nov 2012 11:08:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1352545682-3536-1" This is a multi-part message in MIME format... ------------=_1352545682-3536-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #12766: read-from-minibuffer does not preserve current-buffer 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 12766@debbugs.gnu.org. --=20 12766: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12766 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1352545682-3536-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 12766-done) by debbugs.gnu.org; 10 Nov 2012 11:07:29 +0000 Received: from localhost ([127.0.0.1]:58906 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TX8uO-0000uK-HS for submit@debbugs.gnu.org; Sat, 10 Nov 2012 06:07:28 -0500 Received: from mailout-de.gmx.net ([213.165.64.22]:49272) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TX8uL-0000uB-OD for 12766-done@debbugs.gnu.org; Sat, 10 Nov 2012 06:07:26 -0500 Received: (qmail invoked by alias); 10 Nov 2012 11:07:12 -0000 Received: from 62-47-54-255.adsl.highway.telekom.at (EHLO [62.47.54.255]) [62.47.54.255] by mail.gmx.net (mp020) with SMTP; 10 Nov 2012 12:07:12 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/ybQ5+v2Ty5chbkw+zM2o3KFsH+SoT6MyWfp62Nw e88jusHkRbPxIF Message-ID: <509E3558.7090203@gmx.at> Date: Sat, 10 Nov 2012 12:07:04 +0100 From: martin rudalics MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#12766: read-from-minibuffer does not preserve current-buffer References: <508FABAE.4050104@gmx.at> <50902133.1070703@gmx.at> <509CD1DE.7020601@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 12766-done Cc: 12766-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: -0.0 (/) >> Can we close this bug? > > Yes. Closed. Thanks, martin ------------=_1352545682-3536-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 29 Oct 2012 20:32:04 +0000 Received: from localhost ([127.0.0.1]:38553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TSw0C-0003xP-LT for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:32:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42401) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TSw0A-0003x7-Fs for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:32:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TSvxl-0003wA-Oe for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:29:34 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:58999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxl-0003w6-LO for submit@debbugs.gnu.org; Mon, 29 Oct 2012 16:29:33 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxk-0007Im-TC for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TSvxk-0003vm-2T for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:32 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:43374) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TSvxj-0003vi-NJ for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2012 16:29:31 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q9TKTTcb013976 for ; Mon, 29 Oct 2012 16:29:29 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 960E0B4278; Mon, 29 Oct 2012 16:29:29 -0400 (EDT) From: Stefan Monnier To: bug-gnu-emacs@gnu.org Subject: read-from-minibuffer does not preserve current-buffer Date: Mon, 29 Oct 2012 16:29:29 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4386=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4386> : streams <847905> : uri <1255288> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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: -3.5 (---) Package: Emacs Version: 24.2.50 % src/emacs -Q --eval "(setq initial-frame-alist '((minibuffer . nil)))" M-: (with-temp-buffer (list (read-string "toto: ") (current-buffer))) RET In Emacs 24.2 this always shows the current-buffer to be the temp buffer (which is a killed buffer by the time M-: prints its result). But in Emacs trunk, the result depends on whether you issue the M-: from the normal frame (where it works right) or from the special minibuffer-only frame, where current-buffer after read-string is *minibuf-0*! This is a serious problem, which introduces subtle bugs that can be pretty difficult to track down. Stefan ------------=_1352545682-3536-1--