Subject: [PATCH] 30.0.92; ERC 5.6.0.30.1: Add interactive function to clear ERC channels' modified status

From: Alex Bochannek <[email-masked]>
Date: Sat, 21 Dec 2024 12:10:02 -0800

This small function is intended as an easy way to mark all channels as
"read." This is useful when returning to an ERC session with multiple
modified channels that are not displayed in a window. Their status is
indicated in the mode line and in the ERC status sidebar, both of which
this function clears.

If this is a common enough task, it makes sense to bind this function to
a key sequence, e.g.:

  (keymap-global-set "C-c e c" 'erc-modified-channels-clear)

Note: I am not familiar with the ERC code base, so if calling the
function something else makes more sense (I originally called it
`erc-reset-modified-channels') I have no objection to it.

>From 65cbc68d2fcdff8654df53d8d9a0f4c7aeb12529 Mon Sep 17 00:00:00 2001
From: Alex Bochannek <[email-masked]>
Date: Sat, 21 Dec 2024 11:39:08 -0800
Subject: [PATCH] Add interactive function to clear ERC channels' modified status
 status

---
 lisp/erc/erc-track.el | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 97fb7e726bd..8d6f804a42b 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -900,6 +900,13 @@ erc-modified-channels-remove-buffer
   (when (called-interactively-p 'interactive)
     (erc-modified-channels-display)))
 
+(defun erc-modified-channels-clear ()
+  "Remove all buffers from `erc-modified-channels-alist'."
+  (interactive)
+  (setq erc-modified-channels-alist nil)
+  (when (called-interactively-p 'interactive)
+    (erc-modified-channels-display)))
+
 (defun erc-track-find-face (faces)
   "Return the face to use in the mode line."
   (declare (obsolete erc-track-select-mode-line-face "28.1"))
-- 
2.39.5 (Apple Git-154)

-- 
Alex.