From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#3625: save-some-buffers won't buzz off and let me just visit a file Date: Sun, 13 Oct 2019 21:41:42 +0200 Message-ID: <875zksa0w9.fsf@gnus.org> References: <87r5xfzi1j.fsf@jidanni.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="32989"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 3625@debbugs.gnu.org To: jidanni@jidanni.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Oct 13 21:42:16 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iJjkr-0008PT-R1 for geb-bug-gnu-emacs@m.gmane.org; Sun, 13 Oct 2019 21:42:13 +0200 Original-Received: from localhost ([::1]:41920 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iJjkq-0000vs-6G for geb-bug-gnu-emacs@m.gmane.org; Sun, 13 Oct 2019 15:42:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35831) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iJjki-0000tu-5Z for bug-gnu-emacs@gnu.org; Sun, 13 Oct 2019 15:42:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iJjkg-00052O-P5 for bug-gnu-emacs@gnu.org; Sun, 13 Oct 2019 15:42:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56469) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iJjkg-00051w-Lo for bug-gnu-emacs@gnu.org; Sun, 13 Oct 2019 15:42:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iJjkg-0002Lj-Ev for bug-gnu-emacs@gnu.org; Sun, 13 Oct 2019 15:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 13 Oct 2019 19:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 3625 X-GNU-PR-Package: emacs Original-Received: via spool by 3625-submit@debbugs.gnu.org id=B3625.15709957098994 (code B ref 3625); Sun, 13 Oct 2019 19:42:02 +0000 Original-Received: (at 3625) by debbugs.gnu.org; 13 Oct 2019 19:41:49 +0000 Original-Received: from localhost ([127.0.0.1]:37054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iJjkT-0002L0-IE for submit@debbugs.gnu.org; Sun, 13 Oct 2019 15:41:49 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:37096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iJjkS-0002Ko-6u for 3625@debbugs.gnu.org; Sun, 13 Oct 2019 15:41:48 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iJjkM-0004dn-Tk; Sun, 13 Oct 2019 21:41:45 +0200 In-Reply-To: <87r5xfzi1j.fsf@jidanni.org> (jidanni@jidanni.org's message of "Sat, 20 Jun 2009 11:43:36 +0800") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:169147 Archived-At: jidanni@jidanni.org writes: > C-x s runs the command save-some-buffers, > which will ask > Type SPC or `y' to save the current buffer; > DEL or `n' to skip the current buffer; > RET or `q' to give up on the save (skip all remaining buffers); > C-g to quit (cancel the whole command); > ! to save all remaining buffers; > C-r to view this buffer; > d to view changes in this buffer; > or . (period) to save the current buffer and exit. > But nowhere in that list is there a choice to just let you visit that > buffer. E.g., > C-r to view this buffer; > still "waits out there in the parking lot (minibuffer) with the engine > running, waiting for you to come back out. He just won't buzz-off." That's a good idea -- exiting the query and popping to the buffer being asked about is a pretty natural thing to do. So I've now added it to Emacs 27, but it was surprisingly awkward to do, based on how the actions are defined (a defvarred alist), what they can return (just "don't do this" and "do this"), and the fact that `save-some-buffers' is wrapped in a `save-window-excursion' that I think is best left alone. But I think I successfully hacked it together by mixing some dynamic binding with some lexical binding in a kinda messy way. If somebody has a better idea how to do this that doesn't go through three indirections: please be my guest. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no