From: Eli Zaretskii <eliz@gnu.org>
To: Karl Fogel <kfogel@red-bean.com>
Cc: manuel@ledu-giraud.fr, emacs-devel@gnu.org
Subject: Re: [PATCH] Fix bookmark-bmenu-list sorting.
Date: Mon, 07 Mar 2022 15:12:54 +0200 [thread overview]
Message-ID: <83r17dgb3d.fsf@gnu.org> (raw)
In-Reply-To: <87h78afndq.fsf@red-bean.com> (message from Karl Fogel on Sun, 06 Mar 2022 21:32:49 -0600)
> From: Karl Fogel <kfogel@red-bean.com>
> Cc: Manuel Giraud <manuel@ledu-giraud.fr>, emacs-devel@gnu.org
> Date: Sun, 06 Mar 2022 21:32:49 -0600
>
> --- lisp/bookmark.el
> +++ lisp/bookmark.el
> @@ -246,11 +246,13 @@ bookmark-alist
> Bookmark functions update the value automatically.
> You probably do NOT want to change the value yourself.
>
> -The value is an alist with bookmarks of the form
> +The value is an alist whose elements are the form
^^^^^^^^^^^^^^^^^^^^^
"...elements are of the form", right?
>
> (BOOKMARK-NAME . PARAM-ALIST)
>
> -or the deprecated form (BOOKMARK-NAME PARAM-ALIST).
> +or the deprecated form (BOOKMARK-NAME PARAM-ALIST). The alist is
> +ordered from most recently created bookmark at the front to least
> +recently created bookmark at the end.
>
> BOOKMARK-NAME is the name you gave to the bookmark when creating it.
>
> @@ -583,10 +585,10 @@ bookmark-store
> ;; Modify using the new (NAME . ALIST) format.
> (setcdr bm alist))
>
> - ;; otherwise just cons it onto the front (either the bookmark
> - ;; doesn't exist already, or there is no prefix arg. In either
> - ;; case, we want the new bookmark consed onto the alist...)
> -
> + ;; Otherwise just put it onto the front of the list. Either the
> + ;; bookmark doesn't exist already, or there is no prefix arg.
> + ;; In either case, we want the new bookmark on the front of the
> + ;; list, since the list is kept in reverse order of creation.
> (push (cons stripped-name alist) bookmark-alist))
>
> ;; Added by db
> @@ -1140,7 +1142,9 @@ bookmark-maybe-load-default-file
>
> (defun bookmark-maybe-sort-alist ()
> "Return `bookmark-alist' for display.
> -If `bookmark-sort-flag' is non-nil, then return a sorted copy of the alist."
> +If `bookmark-sort-flag' is non-nil, then return a sorted copy of the alist.
> +Otherwise, just return `bookmark-alist', which by default is ordered
> +from most recently created to least recently created bookmark."
> (if bookmark-sort-flag
> (sort (copy-alist bookmark-alist)
> (lambda (x y) (string-lessp (car x) (car y))))
These are documentation changes, so if you like, you can install them
on the emacs-28 branch.
> From: Karl Fogel <kfogel@red-bean.com>
> Date: Sun, 6 Mar 2022 21:20:34 -0600
> Subject: [PATCH] Ensure bookmark bmenu buffer sorts when it should
>
> * lisp/bookmark.el (bookmark-bmenu--revert): Check `bookmark-sort-flag'
> every time when displaying bookmarks.
> ---
> lisp/bookmark.el | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git lisp/bookmark.el lisp/bookmark.el
> index 525bc9dc15..6c72621bc3 100644
> --- lisp/bookmark.el
> +++ lisp/bookmark.el
> @@ -1823,7 +1823,15 @@ bookmark-bmenu--revert
> (list location))])
> entries)))
> (tabulated-list-init-header)
> - (setq tabulated-list-entries (reverse entries)))
> + ;; The value of `bookmark-sort-flag' might have changed since the
> + ;; last time the buffer contents were generated, so re-check it.
> + (if bookmark-sort-flag
> + (setq tabulated-list-sort-key '("Bookmark" . nil))
> + (setq tabulated-list-sort-key nil)
> + ;; And since we're not sorting by bookmark name, show bookmarks
> + ;; in reverse order of creation: most recently created at the
> + ;; top, least recently created at the bottom.
> + (setq tabulated-list-entries (reverse entries))))
> (tabulated-list-print t))
This one is still under debate (or at least incomplete), AFAIU.
Thanks.
next prev parent reply other threads:[~2022-03-07 13:12 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-03 16:39 [PATCH] Fix bookmark-bmenu-list sorting Manuel Giraud
2022-03-03 17:41 ` Karl Fogel
2022-03-03 18:19 ` Eli Zaretskii
2022-03-04 3:13 ` Karl Fogel
2022-03-04 7:14 ` Eli Zaretskii
2022-03-04 8:18 ` Karl Fogel
2022-03-04 11:46 ` Eli Zaretskii
2022-03-04 13:25 ` Manuel Giraud
2022-03-04 13:33 ` Eli Zaretskii
2022-03-04 15:15 ` Manuel Giraud
2022-03-04 15:26 ` Eli Zaretskii
2022-03-04 17:41 ` Manuel Giraud
2022-03-04 19:37 ` Eli Zaretskii
2022-03-07 3:32 ` Karl Fogel
2022-03-07 9:21 ` Manuel Giraud
2022-03-20 23:40 ` Karl Fogel
2022-03-21 7:54 ` Manuel Giraud
2022-03-21 14:14 ` Karl Fogel
2022-04-20 18:09 ` [PATCH] Improve sorting in the bookmark list buffer Karl Fogel
2022-04-20 19:02 ` Eli Zaretskii
2022-04-20 19:49 ` Karl Fogel
2022-04-24 17:30 ` Karl Fogel
2022-04-24 18:13 ` Eli Zaretskii
2022-04-24 19:10 ` Karl Fogel
2022-04-25 9:35 ` Manuel Giraud
2022-04-25 17:50 ` Karl Fogel
2022-04-26 7:51 ` Manuel Giraud
2022-03-07 13:12 ` Eli Zaretskii [this message]
2022-03-07 19:03 ` [PATCH] Fix bookmark-bmenu-list sorting Karl Fogel
2022-03-07 5:17 ` Karl Fogel
2022-03-04 8:34 ` Manuel Giraud
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83r17dgb3d.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=kfogel@red-bean.com \
--cc=manuel@ledu-giraud.fr \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.