(unless (and (not erc-stamp--allow-unmanaged-p)
(or (null erc--msg-props)
(erc--memq-msg-prop 'erc--skip 'stamp)))
- (let* ((ct (erc-stamp--current-time))
+ (let* ((ct (or (erc--check-msg-prop 'erc--ts)
+ (erc-stamp--current-time)))
(invisible (get-text-property (point-min) 'invisible))
(erc-stamp--invisible-property
;; FIXME on major version bump, make this `erc-' prefixed.
(setq erc-stamp--deferred-date-stamp nil)
(let* ((aligned (erc-stamp--time-as-day ct))
(erc-stamp--current-time aligned)
- (erc--msg-props (map-into '((erc--msg . datestamp))
+ (erc--msg-props (map-into '((erc--msg . datestamp)
+ (erc--skip track))
'hash-table))
(erc-insert-post-hook
`(,(lambda ()
(throw 'face candidate))))))
choice)))
-(defvar erc-track--skipped-msgs '(datestamp)
- "Values of `erc--msg' text prop to ignore.")
-
(defun erc-track-modified-channels ()
"Hook function for `erc-insert-post-hook'.
Check if the current buffer should be added to the mode line as a
erc-track-exclude-types)
;; Skip certain non-server-sent messages.
(and (not parsed)
- (erc--check-msg-prop 'erc--msg
- erc-track--skipped-msgs))))))
+ (erc--memq-msg-prop 'erc--skip 'track))))))
;; If the active buffer is not visible (not shown in a
;; window), and not to be excluded, determine the kinds of
;; faces used in the current message, and unless the user