From cd1539cb298372f47dc8160ff271e4d8a6f96012 Mon Sep 17 00:00:00 2001 From: Christopher League Date: Sat, 24 Jul 2021 18:17:07 -0400 Subject: [PATCH] When bookmark is overwritten, unfontify its previous position * lisp/bookmark.el (bookmark-store): When the bookmark-fontify option is non-nil, setting or jumping to bookmarks will colorize them using `bookmark-face'. With this change, overwriting a bookmark will remove the fontification at its former position. --- lisp/bookmark.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 52b96fd203..ff9b8ab138 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -561,10 +561,14 @@ old one." (set-text-properties 0 (length stripped-name) nil stripped-name) (if (and (not no-overwrite) (bookmark-get-bookmark stripped-name 'noerror)) - ;; already existing bookmark under that name and - ;; no prefix arg means just overwrite old bookmark - ;; Use the new (NAME . ALIST) format. - (setcdr (bookmark-get-bookmark stripped-name) alist) + ;; Already existing bookmark under that name and + ;; no prefix arg means just overwrite old bookmark. + (let ((bm (bookmark-get-bookmark stripped-name))) + ;; First clean up if previously location was fontified. + (when bookmark-fontify + (bookmark--unfontify bm)) + ;; 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 -- 2.31.1