From: Drew Adams <drew.adams@oracle.com>
To: Matthew White <mehw.is.me@inventati.org>, emacs-devel@gnu.org
Subject: RE: Add new functions to mark/unmark/delete all bookmarks
Date: Thu, 23 Jul 2020 20:15:25 -0700 (PDT) [thread overview]
Message-ID: <03f641b5-9ff9-476f-afab-e674e4027d27@default> (raw)
In-Reply-To: <20200724005105.11f85d5f@pineapple>
> Attached here there is a patch to add new functions to mark, unmark,
> and delete all bookmarks at once.
>
> Menu entries and bindings are updated too, and tests are included.
>
> You may consider this both a suggestion and a way to get an opinion
> from the community.
>
> I felt that some functions where missing, I'm used to type "U" in
> dired to unmark all marks...
>
> Summary (just main functions are described here):
>
> * bookmark-delete-all: With ARG nil asks for confirmation. Deletes all
> bookmarks. Bound to "D" in `bookmark-map'.
> * bookmark-bmenu-mark-all: Operates in the *Bookmark List* buffer.
> Marks all bookmarks. Bound to "M" in `bookmark-bmenu-mode-map'.
> * bookmark-bmenu-unmark-all: Operates in the *Bookmark List* buffer.
> Unmarks all bookmarks. Bound to "U" in `bookmark-bmenu-mode-map'.
> * bookmark-bmenu-delete-all: Operates in the *Bookmark List* buffer.
> Marks all bookmarks for deletion. Bound to "D" in `bookmark-bmenu-mode-
> map'.
Well, I naturally am not in favor of seeing this.
All of that is in Bookmark+, but better, IMO.
You could have taken some of what's there, either
as is or as a starting point.
The Bookmark+ behavior borrows heavily from Dired
(and not just for marking). `U', like `M-DEL',
unmarks all of a given kind of mark, or all marks.
There are commands to mark different kinds of
bookmarks and commands to mark bookmarks that
satisfy various conditions.
`M-m' marks all bookmarks. (`M' is a prefix key
for marking or showing only `man' bookmarks. Most
uppercase letters are prefix keys for acting on
particular kinds of bookmarks. `M' as a suffix
key marks bookmarks of the type indicated by the
prefix key; e.g., `I M' marks Info bookmarks.)
Marking flexibility carries over for deletion.
As in Dired, `D' deletes the marked bookmarks -
it doesn't flag for deletion. `d' and `C-d' flag
individually. As in Dired, there's no need for a
command to flag all, IMO.
https://www.emacswiki.org/emacs/BookmarkPlus#MarkingAndUnmarkingBookmarks
___
Some of the commands involving mark (`>') and flag
(`D') that are bound to keys:
d - Flag bookmark `D' for deletion, then move down
C-d - Flag bookmark `D' for deletion, then move up
x - Delete (visible) bookmarks flagged `D'
D - Delete (visible) bookmarks marked `>'
m - Mark bookmark
u - Unmark bookmark (`C-u': move up one line)
DEL - Unmark previous bookmark (move up, then unmark)
M-m - Mark all bookmarks
% m - Mark all bookmarks whose names match a regexp
U - Unmark all bookmarks (`C-u': interactive query)
t - Toggle marks: unmark the marked and mark the unmarked
A M - Mark autofile bookmarks
# M - Mark autonamed bookmarks
X M - Mark temporary bookmarks
H M - Mark highlighted bookmarks
B M - Mark non-file (i.e. buffer) bookmarks
M-d M-m - Mark Dired bookmarks
F M - Mark file & directory bookmarks (`C-u': local only)
G M - Mark Gnus bookmarks
I M - Mark Info bookmarks
i M - Mark Icicles search-hits bookmarks
N M - Mark non-invokable bookmarks
M-I M-M - Mark image-file bookmarks
K M - Mark desktop bookmarks
M M - Mark `man' page bookmarks (that's `M' twice, not Meta-M)
O M - Mark orphaned local file/dir bookmarks (`C-u': remote also)
R M - Mark region bookmarks
Q M - Mark function bookmarks
M-u M-m - Mark URL bookmarks
V M - Mark variable-list bookmarks
W 3 M - Mark W3M (URL) bookmarks
w M - Mark snippet bookmarks
Y M - Mark bookmark-file bookmarks
Z M - Mark bookmark-list bookmarks
T m % - Mark bookmarks having at least one tag that matches a regexp
T m + - Mark bookmarks having at least one tag in a set (OR)
T m * - Mark bookmarks having all of the tags in a set (AND)
T m ~ + - Mark bookmarks not having any of the tags in a set (NOT OR)
T m ~ * - Mark bookmarks not having all of the tags in a set (NOT AND)
T u % - Unmark bookmarks having a tag that matches a regexp
T u + - Unmark bookmarks having at least one tag in a set (OR)
T u * - Unmark bookmarks having all of the tags in a set (AND)
T u ~ + - Unmark bookmarks not having any tags in a set (NOT OR)
T u ~ * - Unmark bookmarks not having all tags in a set (NOT AND)
> - Toggle showing only marked bookmarks
< - Toggle showing only unmarked bookmarks
- > - Omit the marked bookmarks; un-omit them if after `- S'
j > - Jump to marked bookmarks in other windows
C-h > - Show info about marked bookmarks (`C-u': internal form)
Y > - - Move the marked bookmarks to a bookmark file
Y > + - Copy the marked bookmarks to a bookmark file
Y > 0 - Copy the marked bookmarks to a new bookmark file
M-l - Load marked bookmark-file bookmarks (extra load)
M-R - Relocate the marked bookmarks
a > - Edit annotations of marked bookmarks (`C-u': all)
E - Edit internal Lisp records of marked bookmarks (`C-u': all)
M-X - Toggle temporary/savable status of marked bookmarks
M-d > - Open Dired for marked file & directory bookmarks
M-s a C-s - Isearch the marked bookmarks (`C-u': all)
M-s a C-M-s - Regexp-isearch the marked bookmarks (`C-u': all)
M-s a M-s - Regexp-search the marked file bookmarks (`C-u': all)
M-q - Query-replace the marked file bookmarks
T > l - List tags used in marked bookmarks (`C-u': show tag values)
T > v - Set value of a tag, for each marked bookmark (`C-u': all)
T > C-y - Add tags copied from a bookmark to those marked (`C-u': all)
T > q - Replace tags of marked with copied tags (`C-u': all)
H > + - Set highlighting for marked bookmarks
H > H - Highlight the marked bookmarks
H > U - Unhighlight the marked bookmarks
s > - Sort marked (`>') bookmarks first
s D - Sort flagged (`D') bookmarks first
Here's the `Mark' submenu of the `Bookmark+' menu-bar
menu, followed by its `Bookmarks of Type' submenu for
marking bookmarks of a specific kind:
https://www.emacswiki.org/emacs/BookmarkPlus#MarkMenu
next prev parent reply other threads:[~2020-07-24 3:15 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-23 23:00 Add new functions to mark/unmark/delete all bookmarks Matthew White
2020-07-24 3:15 ` Drew Adams [this message]
2020-07-24 9:07 ` Matthew White
2020-07-24 15:07 ` Stefan Monnier
2020-07-24 15:18 ` Lars Ingebrigtsen
2020-07-24 17:03 ` Matthew White
2020-07-24 17:09 ` Stefan Monnier
2020-07-28 15:54 ` Matthew White
2020-07-28 16:14 ` Stefan Monnier
2020-07-28 16:36 ` Matthew White
2020-07-28 18:06 ` Eli Zaretskii
2020-07-28 18:15 ` Matthew White
2020-07-24 17:07 ` Drew Adams
2020-07-24 17:07 ` Drew Adams
2020-07-24 16:43 ` Drew Adams
2020-07-24 5:31 ` Yuri Khan
2020-07-24 15:05 ` Stefan Monnier
2020-07-24 16:56 ` Noam Postavsky
2020-07-24 19:00 ` Extend tabulated-list-mode to support marks Yuri Khan
2020-07-25 13:46 ` Dirk-Jan C. Binnema
2020-07-25 14:23 ` Stefan Monnier
2020-07-25 14:32 ` Yuri Khan
2020-07-26 12:43 ` Stefan Kangas
2020-07-24 17:07 ` Add new functions to mark/unmark/delete all bookmarks Drew Adams
2020-07-24 19:07 ` Karl Fogel
2020-07-25 10:46 ` Matthew White
2020-07-25 10:58 ` Eli Zaretskii
2020-07-25 15:33 ` Michael Albinus
2020-07-25 15:38 ` Eli Zaretskii
2020-07-25 15:56 ` Michael Albinus
2020-07-25 16:30 ` Eli Zaretskii
2020-07-25 16:33 ` Eli Zaretskii
2020-07-25 16:43 ` Michael Albinus
2020-07-25 16:55 ` Eli Zaretskii
2020-07-25 18:28 ` Matthew White
2020-07-25 18:54 ` Eli Zaretskii
2020-07-25 20:36 ` Karl Fogel
2020-07-25 21:14 ` Stefan Monnier
2020-07-25 22:40 ` Karl Fogel
2020-07-29 22:16 ` Karl Fogel
2020-07-31 2:58 ` Matthew White
2020-07-31 6:01 ` Karl Fogel
2020-08-02 22:13 ` Karl Fogel
2020-08-06 17:59 ` Matthew White
2020-08-07 1:10 ` Karl Fogel
2020-08-07 8:33 ` Matthew White
[not found] ` <jwveeojyxh1.fsf-monnier+emacs@gnu.org>
[not found] ` <87a6z715do.fsf@red-bean.com>
2020-08-07 17:05 ` Matthew White
2020-08-07 17:18 ` Eli Zaretskii
2020-08-08 8:23 ` Matthew White
2020-08-09 20:19 ` Karl Fogel
2020-08-10 5:41 ` Matthew White
[not found] <<20200724005105.11f85d5f@pineapple>
[not found] ` <<87pn8ku3y9.fsf@red-bean.com>
[not found] ` <<20200725124618.49a073b1@pineapple>
[not found] ` <<83lfj7dfp2.fsf@gnu.org>
[not found] ` <<87tuxvpq1r.fsf@gmx.de>
[not found] ` <<83d04jd2pm.fsf@gnu.org>
2020-07-25 16:07 ` 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=03f641b5-9ff9-476f-afab-e674e4027d27@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=mehw.is.me@inventati.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).