From b2b9bd9f59d267d223ec2b1a52d00803361b863f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Marks?= Date: Sun, 1 Mar 2026 12:56:04 -0500 Subject: 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 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) -- cgit v1.0