summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marks <shipmints@gmail.com>2026-03-01 12:56:04 -0500
committerFlo Rommel <mail@florommel.de>2026-03-14 01:11:04 +0100
commitb2b9bd9f59d267d223ec2b1a52d00803361b863f (patch)
treec5461a9d4a94eb0d25a6d144936434e0d1b02e6d
parenta4971b52232ff622f768fcd569c3ae5929580f3f (diff)
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.
-rw-r--r--bufferlo.el18
1 files changed, 15 insertions, 3 deletions
diff --git a/bufferlo.el b/bufferlo.el
index d9ad3fa..3f52e8d 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)