[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt 7c735240b0 192/323: Clean up buffer overlays
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt 7c735240b0 192/323: Clean up buffer overlays explicitly on output buffer kill |
Date: |
Thu, 9 Mar 2023 10:58:30 -0500 (EST) |
branch: externals/beardbolt
commit 7c735240b0f7685457e4e77470b7562e7790803f
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>
Clean up buffer overlays explicitly on output buffer kill
---
rmsbolt.el | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/rmsbolt.el b/rmsbolt.el
index b3e54006ea..9df5dc4984 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -1648,11 +1648,20 @@ Are you running two compilations at the same time?"))
(rmsbolt--goto-line line-scroll)
;; If we scrolled, recenter
(recenter))))))
- (mapc #'delete-overlay rmsbolt-overlays)
- (setq rmsbolt-overlays nil))
+ (rmsbolt--cleanup-overlays))
;; If not in rmsbolt-mode, don't do anything
))
+(defun rmsbolt--cleanup-overlays ()
+ "Clean up overlays, assuming they are no longer needed."
+ (mapc #'delete-overlay rmsbolt-overlays)
+ (setq rmsbolt-overlays nil))
+
+(defun rmsbolt--kill-buffer-cleanup ()
+ "A simple hook to listen for the output buffer close so we can clean up
overlays."
+ (when (eq (current-buffer) (get-buffer rmsbolt-output-buffer))
+ (rmsbolt--cleanup-overlays)))
+
(defun rmsbolt-hot-recompile ()
"Recompile source buffer if we need to."
(when-let ((should-hot-compile rmsbolt-mode)
@@ -1698,7 +1707,8 @@ This mode is enabled both in modes to be compiled and
output buffers."
(unless rmsbolt--idle-timer
(setq rmsbolt--idle-timer (run-with-idle-timer
rmsbolt-overlay-delay t
- #'rmsbolt-move-overlays)))
+ #'rmsbolt-move-overlays))
+ (add-hook 'kill-buffer-hook #'rmsbolt--kill-buffer-cleanup))
(unless (or rmsbolt--compile-idle-timer
(not rmsbolt-automatic-recompile))
(setq rmsbolt--compile-idle-timer (run-with-idle-timer
@@ -1706,7 +1716,7 @@ This mode is enabled both in modes to be compiled and
output buffers."
#'rmsbolt-hot-recompile)))
(rmsbolt--gen-temp))
(t ;; Cleanup
- (mapc #'delete-overlay rmsbolt-overlays))))
+ (rmsbolt--cleanup-overlays))))
(provide 'rmsbolt)
- [elpa] externals/beardbolt 097abb56de 154/323: Fix tests, (continued)
- [elpa] externals/beardbolt 097abb56de 154/323: Fix tests, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 9fb117d6c9 159/323: Add docs for D language, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 1916179672 166/323: Add support for Zig, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8cf49aeac6 167/323: Add zig starter, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 2a83b76cd9 172/323: Prevent overriding windows when no output window available, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 820211abd4 169/323: Update supported languages list, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt b47b9b4d74 175/323: Add support for Go, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt a717d49879 198/323: Clear out default variables after post processing is finished, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt a06c8d9fc6 210/323: Add command `rmsbolt`, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 54bdd5090e 209/323: Add rustic-mode to default rust definitions, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 7c735240b0 192/323: Clean up buffer overlays explicitly on output buffer kill,
ELPA Syncer <=
- [elpa] externals/beardbolt 1267509ab4 220/323: Move `rmsbolt-with-display-buffer-no-window`, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 8544df3e9d 222/323: Use `rmsbolt--cleanup-overlays`, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 42b0ab4239 225/323: Make it clear that we're operating on a list of asm regions, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 4f4a7f85ac 223/323: Simplify visibility check logic, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 3a1e068bb8 228/323: Don't update overlays if the src buffer is no longer current, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt b56d3b6cdb 245/323: Merge branch 'improve-starters' into 'master', ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 16f887917b 252/323: Improve rainbow color selection algorithm, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 9bc7e8aeb8 236/323: Remove `rmsbolt--post-command-hook` when mode is deactivated, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 660739681c 254/323: Rename every rms* file to beard*, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f846655a35 250/323: Rework rmsbolt-rainbowize to reuse more code, ELPA Syncer, 2023/03/09