unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Karl Fogel <kfogel@red-bean.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] When deleting in bookmark menu, prompt for confirmation.
Date: Wed, 05 May 2021 14:37:37 -0500	[thread overview]
Message-ID: <878s4tq8e6.fsf@red-bean.com> (raw)
In-Reply-To: <87czu58uso.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 05 May 2021 10:11:03 +0200")

On 05 May 2021, Lars Ingebrigtsen wrote:
>Karl Fogel <kfogel@red-bean.com> writes:
>
>> Revised patch attached, with the option now defaulting to nil 
>> (i.e.,
>> to the old behavior) as per discussion.  Review/comments 
>> welcome.
>>
>> Lars, you wrote this regarding v1 of this patch:
>>
>>> ...the first line [of the doc string] should be a complete 
>>> sentence.
>>
>> It actually was a complete sentence even in v1, but I think I 
>> know
>> what you meant.  However, the "Non-nil means..." phrasing is 
>> found
>> throughout Emacs -- I counted over 1000 places with this quick 
>> check:
>
>What I meant was that the first line should be a complete 
>sentence.  :-)

Ah, right!  I forgot that sometimes "line" means literally "line", 
right.  Ahem.  Sorry :-).  You said exactly what you meant, and I 
somehow read something different.

>In any case, as I said -- I don't think adding this user option 
>makes a
>lot of sense.  Instead bookmark should implement "undo" 
>functionality.

Hmm, I can understand, but... let me give you my best argument for 
why to do this instead of implementing undo:

First of all, I think this option is useful on its own, with or 
without undo.  It did come from a user request, after all, which 
was seconded (on Emacs Humanities) by at least one other person 
besides me.  Giving people the ability to prevent the bad thing 
from happening is not the same as giving them ability to recover 
if the bad thing happens.

Also, implementing undo functionality would open up a whole lot of 
questions.  If Bookmark Menu mode supports undo, do Bookmark 
operations in general support undo?  If so, which ones?  

And even just within Bookmark Menu, what else should be undo-able? 
Renaming?  What about retargeting?  And there's the usual bevy of 
undo-boundary questions: suppose someone does 'x' to execute 
deletions, then 's' to save the current state of the bookmarks 
list.  If they then undo, should it undo the deletions but not 
save the result, or should it also save?

Personally, I'm not prepared to go down this road; it's a lot of 
work and complexity.  The situation that needed addressing in 
Bookmark Menu was simply that it's too easy to accidentally hit 
'x' and delete things that you weren't ready to delete.  Solving 
this one problem, in the same way that Dired solves it, seems 
clean and useful to me.

>And adding the option, but defaulting to nil, makes even less 
>sense --
>nobody is going to discover this option unless it defaults to t.

Well, there is the etc/NEWS entry, but still I kind of agree with 
you.  I would have chosen the default-to-true route, though Eli's 
preference for the other way is perfectly reasonable; this isn't a 
One Right Way situation IMHO.

Discoverability problems would exist with undo, too, of course.

Best regards,
-Karl



  reply	other threads:[~2021-05-05 19:37 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-03  3:43 [PATCH] When deleting in bookmark menu, prompt for confirmation Karl Fogel
2021-05-03  9:16 ` Lars Ingebrigtsen
2021-05-03 12:48   ` Stefan Kangas
2021-05-03 13:02     ` Stefan Monnier
2021-05-04  7:53     ` Lars Ingebrigtsen
2021-05-04 16:29       ` [External] : " Drew Adams
2021-05-03 11:41 ` Eli Zaretskii
2021-05-03 12:47   ` Stefan Kangas
2021-05-03 13:16     ` Eli Zaretskii
2021-05-03 15:43       ` Stefan Kangas
2021-05-03 16:25         ` Eli Zaretskii
2021-05-03 17:21         ` Karl Fogel
2021-05-03 17:41           ` Eli Zaretskii
2021-05-03 18:28             ` Jim Porter
2021-05-03 18:44               ` Eli Zaretskii
2021-05-03 19:01                 ` Jim Porter
2021-05-03 20:52             ` Karl Fogel
2021-05-05  5:24             ` Karl Fogel
2021-05-05  8:11               ` Lars Ingebrigtsen
2021-05-05 19:37                 ` Karl Fogel [this message]
2021-05-05 20:06                   ` Stefan Monnier
2021-05-05 21:38                     ` Karl Fogel
2021-05-05 23:17                       ` [External] : " Drew Adams
2021-05-05 23:25                         ` Karl Fogel
2021-05-06  6:52                         ` Matthias Meulien
2021-05-06 15:29                           ` Drew Adams
2021-05-08 20:46                             ` Matthias Meulien
2021-05-09  8:54                               ` Eli Zaretskii
2021-05-09 18:37                                 ` Karl Fogel
2021-05-09 18:39                                   ` Eli Zaretskii
2021-05-25  5:38                                     ` Karl Fogel
2021-05-25 12:09                                       ` Eli Zaretskii
2021-05-25 20:24                                         ` Karl Fogel
2021-05-26 11:59                                           ` Eli Zaretskii
2021-05-26 19:33                                             ` Karl Fogel
2021-05-07 17:42                           ` Karl Fogel
2021-05-07 22:24                             ` Drew Adams
2021-05-08  6:13                               ` Karl Fogel
2021-05-06  8:49                   ` Lars Ingebrigtsen
2021-05-06 13:30                     ` Stefan Monnier
2021-05-07  8:40                       ` Lars Ingebrigtsen
2021-05-07 12:55                         ` Stefan Monnier
2021-05-09  9:55                           ` Lars Ingebrigtsen
2021-05-09 15:04                             ` Stefan Kangas
2021-05-09 18:01                               ` Stefan Monnier
2021-05-10  8:30                               ` Lars Ingebrigtsen
2021-05-07 17:40                     ` Karl Fogel
2021-05-05 11:56               ` Eli Zaretskii
2021-05-05 21:43                 ` Karl Fogel
2021-05-03 17:43           ` [External] : " Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878s4tq8e6.fsf@red-bean.com \
    --to=kfogel@red-bean.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).