unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Adam Porter <adam@alphapapa.net>, emacs-devel@gnu.org
Subject: RE: Friendlier dired experience [CODE INCLUDED]
Date: Thu, 5 Nov 2020 09:08:11 -0800 (PST)	[thread overview]
Message-ID: <5d2bf128-cdc7-4578-89d9-6ea8b7967a62@default> (raw)
In-Reply-To: <87o8kbwzdg.fsf@alphapapa.net>

> However, when I tried to write a bookmark-listing command to display
> only Burly's bookmarks, it wasn't as easy to re-use existing
> functionality.  I tried to re-use the list-bookmarks command by binding
> bookmarks-alist to a filtered alist, and that worked.
> 
> The problem is that re-displaying the bookmarks list (e.g. after
> deleting a bookmark) shows the non-filtered bookmarks list.  I then
> experimented with using buffer-local function advice in the
> list-bookmarks buffer to cause it to use the filtered bookmarks list
> when re-displaying, but it didn't seem to work.  And even if it had, it
> would have been very hacky, so it didn't seem like a good solution.
> 
> An idea I had was for the list-bookmarks command to use an optional
> filter function to filter the bookmarks-alist before displaying them, so
> the filter could persist after using commands to manipulate
> bookmarks.[2] (Note that the global value of bookmarks-alist would
> remain unchanged so that saving the bookmarks to disk still saves all
> bookmarks, not just the filtered ones.)

This all already done, in Bookmark+.

You can filter in any number of ways.  And by
default the filtering (and other state of the
bookmark-list display) persist, until you
change it.

And you can even bookmark the bookmark-list
display state.  Jumping to such a bookmark
restores the display.

> Frankly, I wonder if list-bookmarks ought to be rewritten to use,
> e.g. tabulated-list-mode instead of its bespoke code.

Absolutely not.  Tabulated-List mode is IMO a
rudimentary, fragile, brute hammer.  It takes
over a complete buffer (you can't even add a
heading or a paragraph, outside the table).
It offers little, and prevents much.

Dired, bookmark-list display, and most other
seemingly tabular lists should stay away from it.
Such UIs can be quite sophisticated, offering a
_lot_ more than just tabular display with only
simplistic sorting.  Don't go by what you see
at first sight ("Oh, hey, there's a tabular
list here...").

> (Although I'm guessing that would break much
> of Drew's Bookmarks+ library...)

Yes.  Vanilla Emacs has apparently gone this
route recently, against my requests/advice.
As a result I'll no doubt have to include some
of the previous vanilla bookmark.el code in
Bookmark+.  Alas.  (On n'arrete pas le progres...)



  parent reply	other threads:[~2020-11-05 17:08 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03 10:43 Friendlier dired experience [CODE INCLUDED] Boruch Baum
2020-11-03 10:54 ` Jean Louis
2020-11-03 11:15   ` Boruch Baum
2020-11-03 11:32     ` Joost Kremers
2020-11-03 12:22       ` Boruch Baum
2020-11-03 16:07     ` Jean Louis
2020-11-03 17:12       ` Boruch Baum
2020-11-03 19:31         ` Jean Louis
2020-11-03 21:13           ` Boruch Baum
2020-11-04  8:10             ` Jean Louis
2020-11-04  8:54               ` Boruch Baum
2020-11-04  9:57                 ` Jean Louis
2020-11-04 10:39                   ` Jean Louis
2020-11-04 13:17                     ` Boruch Baum
2020-11-04 15:32                       ` Joost Kremers
2020-11-04 15:58                         ` Stefan Monnier
2020-11-04 17:23                         ` Jean Louis
2020-11-04 17:15                       ` Jean Louis
2020-11-04 15:28                 ` Eli Zaretskii
2020-11-03 11:24   ` Boruch Baum
2020-11-03 15:10 ` Stefan Kangas
2020-11-03 16:10   ` Jean Louis
2020-11-03 17:16     ` Boruch Baum
2020-11-03 17:59       ` Michael Albinus
2020-11-03 19:10         ` Boruch Baum
2020-11-03 19:49           ` Jean Louis
2020-11-04  6:08             ` Pankaj Jangid
2020-11-04 19:57           ` Michael Albinus
2020-11-04 20:18             ` Yuri Khan
2020-11-04 20:29               ` Michael Albinus
2020-11-05  8:54             ` Boruch Baum
2020-11-05 10:11               ` Jean Louis
2020-11-05 13:31               ` Eli Zaretskii
2020-11-04 19:28       ` Stefan Kangas
2020-11-04 19:39         ` Boruch Baum
2020-11-05 15:00           ` Stefan Kangas
2020-11-06  9:34             ` Boruch Baum
2020-11-04 18:07 ` Stefan Monnier
2020-11-04 18:32   ` Boruch Baum
2020-11-04 18:55     ` Stefan Monnier
2020-11-05  8:05       ` Arthur Miller
2020-11-05  9:22         ` Boruch Baum
2020-11-05 12:54           ` Arthur Miller
2020-11-05 13:34             ` Jean Louis
2020-11-05 14:38             ` Boruch Baum
2020-11-05 15:05               ` Stefan Monnier
2020-11-05 15:34                 ` Arthur Miller
2020-11-05 15:45                   ` Stefan Monnier
2020-11-05 16:18                     ` Adam Porter
2020-11-05 17:02                       ` Stefan Monnier
2020-11-05 17:09                         ` Drew Adams
2020-11-05 17:08                       ` Drew Adams [this message]
2020-11-05 16:19                     ` Arthur Miller
2020-11-05 17:56                       ` Jean Louis
2020-11-05 17:08                     ` Drew Adams
2020-11-06  9:15                 ` Boruch Baum
2020-11-06 14:14                   ` Stefan Monnier
2020-11-06 16:28                   ` Drew Adams
2020-11-06 19:43                     ` Adam Porter
2020-11-06 20:24                       ` Drew Adams
2020-11-06 20:57                         ` Adam Porter
2020-11-07  0:30                           ` Daniel Martín
2020-11-08  9:36                     ` Boruch Baum
2020-11-08 12:09                       ` Arthur Miller
2020-11-08 12:40                         ` Boruch Baum
2020-11-08 13:37                           ` Jean Louis
2020-11-08 16:48                             ` Drew Adams
2020-11-08 18:26                               ` on hyperlinks (bookmarks) Jean Louis
2020-11-08 19:47                                 ` Drew Adams
2020-11-08 20:26                                   ` Jean Louis
2020-11-08 13:45                           ` Friendlier dired experience [CODE INCLUDED] Arthur Miller
2020-11-08 16:48                       ` Drew Adams
2020-11-08 17:37                         ` Boruch Baum
2020-11-08 19:24                           ` Drew Adams
2020-11-05 15:29               ` Arthur Miller
2020-11-05 16:25                 ` Adam Porter
2020-11-05 16:47                   ` Arthur Miller
2020-11-05 18:00                   ` Jean Louis
2020-11-05 18:56                     ` Adam Porter
2020-11-05 19:33                       ` Jean Louis
2020-11-06  4:55                     ` Arthur Miller
2020-11-06  9:49                 ` Boruch Baum
2020-11-06  9:42             ` Boruch Baum
2020-11-05 14:21           ` Stefan Monnier
2020-11-05  9:56         ` Jean Louis
2020-11-05 17:07         ` Drew Adams
2020-11-08 19:46         ` Juri Linkov
2020-11-08 19:50           ` Sv: " arthur miller
2020-11-09 22:45 ` Mathias Dahl
2020-11-09 23:20   ` Stefan Monnier
2020-11-10  0:05     ` Drew Adams
2020-11-10  2:31     ` T.V Raman
2020-11-10  6:47       ` Jean Louis
2020-11-11 19:23   ` Juri Linkov
  -- strict thread matches above, loose matches on Subject: below --
2020-11-04 17:28 Boruch Baum

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=5d2bf128-cdc7-4578-89d9-6ea8b7967a62@default \
    --to=drew.adams@oracle.com \
    --cc=adam@alphapapa.net \
    --cc=emacs-devel@gnu.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).