From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Karl Fogel Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] When deleting in bookmark menu, prompt for confirmation. Date: Mon, 03 May 2021 12:21:36 -0500 Message-ID: <87im3z3f8f.fsf@red-bean.com> References: <87a6pcqy7s.fsf@red-bean.com> <83czu86o46.fsf@gnu.org> <835z006jpl.fsf@gnu.org> Reply-To: Karl Fogel Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3000"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 03 19:34:49 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ldcT1-0000f4-O8 for ged-emacs-devel@m.gmane-mx.org; Mon, 03 May 2021 19:34:48 +0200 Original-Received: from localhost ([::1]:44006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcT0-0000DT-OB for ged-emacs-devel@m.gmane-mx.org; Mon, 03 May 2021 13:34:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50612) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldcGO-0001DQ-16 for emacs-devel@gnu.org; Mon, 03 May 2021 13:21:44 -0400 Original-Received: from sanpietro.red-bean.com ([45.79.25.59]:33956) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldcGK-0008KN-0h; Mon, 03 May 2021 13:21:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=red-bean.com; s=202005newsp; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:Reply-To:References:Subject:Cc:To:From:Sender: Content-Transfer-Encoding:Content-ID:Content-Description; bh=IpiNg16mft/ENNnN5AbCjIUncf1Yp/4LnaAvtBYP5zE=; t=1620062499; x=1621272099; b=KIxFdtTHsH2hAa8yZQwXTA4pPC+AXfeeCvtz7/Vze0yYToyAfQZXzZwo3AEw9iZNAcX7ZGQ9QP b96S0Cpy6Yk2CF3On/DHxask5BiQ26SIgIPS5cMmsQIGsrlah+wTCyQMu8kmZ1qHD5trUDV0csk3T 5lDJgxN6HR1c5L+k3BU/7Rnfqlex4Q32JSrTpYPvWkrjCqdnVuMFmaHlAyX0EaIcTkd7VmY62rYOM jvk1K7FPpThzCQd2igSiDoEhqQV1+Bp0Q+GZkS49eYGJY+e5kwsGc493fG4N2ggDQUJwodL1tJmtw WmK8Gwbr0y0FS6B91XxYQFQzouIdAQ8Q7NKAg==; Original-Received: from [12.106.183.66] (port=31988 helo=kwork) by sanpietro.red-bean.com with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ldcGH-0001wF-De; Mon, 03 May 2021 17:21:37 +0000 In-Reply-To: (Stefan Kangas's message of "Mon, 3 May 2021 10:43:29 -0500") Received-SPF: pass client-ip=45.79.25.59; envelope-from=kfogel@red-bean.com; helo=sanpietro.red-bean.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268826 Archived-At: On 03 May 2021, Stefan Kangas wrote: >Eli Zaretskii writes: > >>> I don't see how backwards-compatibility is relevant here, but >>> perhaps >>> you could provide more specifics. >> >> We are now asking for confirmation where previously no question >> was >> asked, or am I missing something? > >My point is that backwards compatibility is not necessarily the >most >important consideration in this case, and that such a stance >would at >least need some elaborating. > >AFAICT, we routinely make "backward incompatible" changes where >we see >a need for it. (But of course we do them with care and >consideration.) > >Luckily, you provided your reasoning below: > >> Questions that pop where previously Emacs did something >> silently can >> be annoying, which is why I'd prefer to turn this off by >> default. If >> someone wants the new behavior, they can enable it. > >That's fair enough. To me, the danger of accidentally deleting a >bookmarks still seems more important. On the one hand, we have >lived >with that for a long time, OTOH that is no reason not to try to >do >better. I agree with Stefan's reasoning here. Backward compatibility is a big deal in an API, but it's a much smaller deal in an interactive interface behavior. Yes, users will be prompted in a place where they weren't prompted before, but the prompt is self-explanatory, and the old behavior was needlessly dangerous -- it's easy to type "x" accidentally and lose bookmarks marked for deletion before one had finalized the list. If someone had suggested this when I was first implementing the Bookmark Menu, I think I would have incorporated the suggestion then and just had this behavior from the beginning. The fact that it's a change in interactive behavior now is minor compared to the benefit. I agree that it should get a NEWS entry, of course, and agree with Lars' suggestions of `:version' and some documentation tweaks. Regarding the question of using an undo-based method instead: Lars Ingebrigtsen wrote: >In general, I think it's better to offer undo instead of >prompting. >That's not always possible, but I think in the bookmark case, >that >shouldn't be too difficult -- just register an undo action that >inserts >the items that were removed, I think? I think that's not as good as the confirmation-prompt here, for two reasons. One, the discoverability issue raised by Stefan Kangas in his reply; two, Bookmark Menu has a similar basic look-and-feel to Dired Mode, with which many users are probably already familiar, and Dired does exactly this kind of confirmation prompt by default for deleting files. If Bookmark just behaves the way Dired does by default, that would be consistent with [at least some] users' expectations. Best regards, -Karl