summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorF. Jason Park <jp@neverwas.me>2023-12-30 16:39:18 -0800
committerF. Jason Park <jp@neverwas.me>2023-12-31 06:56:32 -0800
commit8513ecc8a38f76b497348bbae61ae4c5ac5a9995 (patch)
treede28e3ed0b37528afb5b0f42273333125d9e2286
parent4eda77ed335f982460f818ae1b8619cbd32ba77d (diff)
downloademacs-8513ecc8a38f76b497348bbae61ae4c5ac5a9995.tar.gz
Restore predicate for detecting date stamps in ERC
* etc/ERC-NEWS: Mention function `erc-stamp-inserting-date-stamp-p'. * lisp/erc/erc-stamp.el (erc-stamp-inserting-date-stamp-p): New function for third parties to detect whether the message being inserted is a date stamp. Date stamps as independent messages were originally introduced as part of bug#60936.
-rw-r--r--etc/ERC-NEWS4
-rw-r--r--lisp/erc/erc-stamp.el7
2 files changed, 10 insertions, 1 deletions
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS
index 6dc8af3c514..f19255f8d75 100644
--- a/etc/ERC-NEWS
+++ b/etc/ERC-NEWS
@@ -474,7 +474,9 @@ also not appreciate that 'erc-timestamp-last-inserted-left' no longer
records the final trailing newline in 'erc-timestamp-format-left'. If
these inconveniences prove too encumbering to deal with right away,
see the escape hatch 'erc-stamp-prepend-date-stamps-p', which should
-help ease the transition.
+help ease the transition. As for detecting these new stamp-only
+messages from members of 'erc-insert-modify-hook' and friends, see the
+function 'erc-stamp-inserting-date-stamp-p'.
*** The role of a module's Custom group is now more clearly defined.
Associating built-in modules with Custom groups and "provided" library
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index a65b564ba6c..cfd756ce625 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -678,6 +678,13 @@ value of t means the option's value doesn't require trimming.")
0 erc-stamp--date-format-end)
erc-timestamp-format-left))))
+(defun erc-stamp-inserting-date-stamp-p ()
+ "Return non-nil if the narrowed buffer contains a date stamp.
+Expect to be called by members of `erc-insert-modify-hook' and
+`erc-insert-post-hook' to detect whether the message being
+inserted is a date stamp."
+ (erc--check-msg-prop 'erc--msg 'datestamp))
+
;; Calling `erc-display-message' from within a hook it's currently
;; running is roundabout, but it's a definite means of ensuring hooks
;; can act on the date stamp as a standalone message to do things like