[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/hyperdrive 4aa7cb8cbd 04/16: Change: (he//invalidate) Also
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/hyperdrive 4aa7cb8cbd 04/16: Change: (he//invalidate) Also invalidate history EWOC nodes |
Date: |
Wed, 14 Aug 2024 16:00:13 -0400 (EDT) |
branch: elpa/hyperdrive
commit 4aa7cb8cbd8bbebd7f0658802264e99c13a18dcd
Author: Joseph Turner <joseph@ushin.org>
Commit: Joseph Turner <joseph@ushin.org>
Change: (he//invalidate) Also invalidate history EWOC nodes
---
hyperdrive-ewoc.el | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/hyperdrive-ewoc.el b/hyperdrive-ewoc.el
index c4cb0ed800..b067a0c0bc 100644
--- a/hyperdrive-ewoc.el
+++ b/hyperdrive-ewoc.el
@@ -52,7 +52,7 @@ last node."
do (setf node (ewoc-prev ewoc node))))
(defun he//invalidate (entry)
- "Invalidate the ewoc node for ENTRY in directory buffers."
+ "Invalidate ENTRY's ewoc node in directory and history buffers."
(when-let* ((dir-buffer (hyperdrive--find-buffer-visiting
(hyperdrive-parent entry)))
(dir-ewoc (buffer-local-value 'h/ewoc dir-buffer))
@@ -66,7 +66,20 @@ last node."
(with-selected-window buffer-window
(with-silent-modifications (ewoc-invalidate dir-ewoc dir-node)))
(with-current-buffer dir-buffer
- (with-silent-modifications (ewoc-invalidate dir-ewoc dir-node))))))
+ (with-silent-modifications (ewoc-invalidate dir-ewoc dir-node)))))
+ (when-let* ((history-buffer (h/history-find-buffer-visiting entry))
+ (history-ewoc (buffer-local-value 'h/ewoc history-buffer))
+ (history-node (and history-ewoc
+ (h/ewoc-find-node history-ewoc entry
+ :predicate #'he/within-version-range))))
+ (ewoc-set-data history-node entry)
+ ;; NOTE: Ensure that the buffer's window is selected,
+ ;; if it has one. (Workaround a possible bug in EWOC.)
+ (if-let ((buffer-window (get-buffer-window history-buffer)))
+ (with-selected-window buffer-window
+ (with-silent-modifications (ewoc-invalidate history-ewoc
history-node)))
+ (with-current-buffer history-buffer
+ (with-silent-modifications (ewoc-invalidate history-ewoc
history-node))))))
;;;; Mode
- [nongnu] elpa/hyperdrive updated (8aa6889759 -> 0779db8882), ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 46d91898b0 14/16: Meta: (CHANGELOG) Update note about forget-file, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 112e7b6316 10/16: Fix: (h/history-fill-version-ranges) Handle invocations on top line, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 00b0ad6c4c 02/16: Add: (he/within-version-range) Check whether entry is within range, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive e949238b77 08/16: Comment: (he//api-then) Add TODO, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive be5c54569a 15/16: Meta: (CHANGELOG) Note internal changes, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 4aa7cb8cbd 04/16: Change: (he//invalidate) Also invalidate history EWOC nodes,
ELPA Syncer <=
- [nongnu] elpa/hyperdrive 0779db8882 16/16: Merge: Forget files from history buffer; refactor hyperdrive-history, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive cd2d45225b 03/16: Add: (h/history-find-buffer-visiting) Get history buffer at entry, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 3c521a9960 11/16: Add: (h/history-forget-file) Bound to "F" in history buffers, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive b3b3396569 05/16: Change: (h/history) Store existsp and range-end in entry ETC, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 279b65fc4b 09/16: Comment: (he//invalidate) Add TODO, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive ed54931e62 12/16: Docs: Document hyperdrive-history-forget-file, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive d4c069ca0e 07/16: Change: (he//invalidate) Only invalidate select entry slots, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 8e99e57f78 06/16: Change: (h/history-find-file) Remove unnecessary THEN argument, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 73557ea371 13/16: Docs: Fix docs for dir binding of hyperdrive-forget-file, ELPA Syncer, 2024/08/14
- [nongnu] elpa/hyperdrive 055840041f 01/16: Tidy: (h/ewoc-find-node) Change let-bound var names, remove when, ELPA Syncer, 2024/08/14