branch: externals/bufferlo
commit b2b9bd9f59d267d223ec2b1a52d00803361b863f
Author: Stéphane Marks <[email protected]>
Commit: Flo Rommel <[email protected]>
Support Emacs 31 'bookmark-after-load-file-hook'
Warn when an active bufferlo bookmark is not present in a
refreshed bookmark list.
* bufferlo.el (bufferlo-mode): Add/remove hook.
(bufferlo--bookmark-after-load-file-hook): Hook implementation.
---
bufferlo.el | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/bufferlo.el b/bufferlo.el
index d9ad3fa0c8..3f52e8dba0 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -1124,7 +1124,9 @@ string, FACE is the face for STR."
#'bufferlo-bookmark--tab-save-on-close)
(add-hook 'delete-frame-functions
#'bufferlo-bookmark--frame-save-on-delete)
- ;; bookmark advice
+ ;; bookmark hook and advice
+ (add-hook 'bookmark-after-load-file-hook
+ #'bufferlo--bookmark-after-load-file-hook)
(advice-add #'bookmark--jump-via :around
#'bufferlo--bookmark--jump-via-advice)
(advice-add #'bookmark-rename :around
#'bufferlo--bookmark-rename-advice)
(advice-add #'bookmark-delete :around
#'bufferlo--bookmark-delete-advice)
@@ -1174,7 +1176,9 @@ string, FACE is the face for STR."
#'bufferlo-bookmark--tab-save-on-close)
(remove-hook 'delete-frame-functions
#'bufferlo-bookmark--frame-save-on-delete)
- ;; bookmark advice
+ ;; bookmark hook and advice
+ (remove-hook 'bookmark-after-load-file-hook
+ #'bufferlo--bookmark-after-load-file-hook)
(advice-remove #'bookmark--jump-via #'bufferlo--bookmark--jump-via-advice)
(advice-remove #'bookmark-rename #'bufferlo--bookmark-rename-advice)
(advice-remove #'bookmark-delete #'bufferlo--bookmark-delete-advice)))
@@ -5028,7 +5032,15 @@ exist."
(bufferlo-tab-close-kill-buffers)
(message "No active bufferlo frame or tab bookmark to close."))))
-;;; bookmark advisories
+;;; bookmark hook and advice
+
+(defun bufferlo--bookmark-after-load-file-hook ()
+ "Scan the loaded bookmarks list for missing active bufferlo bookmarks."
+ (let ((alist-bookmarks (bufferlo--bookmark-get-names)))
+ (dolist (bookmark (bufferlo--active-bookmarks))
+ (unless (member (car bookmark) alist-bookmarks)
+ (warn "Active bufferlo bookmark `%s' not present in loaded bookmarks"
+ (car bookmark))))))
;; (defun bookmark-set (&optional name no-overwrite)
;; (defun bookmark-set-no-overwrite (&optional name push-bookmark)