all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.



  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.