diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2019-08-19 05:44:43 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2019-08-19 05:44:43 -0400 |
commit | 50dc4ca8d02a466a7236765edf83ae7cfb02d74c (patch) | |
tree | 1e6953b3691f0f4eb97535f7a59a7e91c4930cb1 | |
parent | 1b96e022b624d676d1457ff135000489c1a626f1 (diff) | |
download | emacs-50dc4ca8d02a466a7236765edf83ae7cfb02d74c.tar.gz |
* lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)
Use lexical-binding.
(erc-add-timestamp): Store the timestamp in a closure placed in
cursor-sensor-functions rather than stashing it in an ad-hoc
`timestamp` property.
(erc-echo-timestamp): Simplify accordingly.
-rw-r--r-- | lisp/erc/erc-stamp.el | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el index b48803452a2..a15d8bf7b31 100644 --- a/lisp/erc/erc-stamp.el +++ b/lisp/erc/erc-stamp.el @@ -1,4 +1,4 @@ -;;; erc-stamp.el --- Timestamping for ERC messages +;;; erc-stamp.el --- Timestamping for ERC messages -*- lexical-binding:t -*- ;; Copyright (C) 2002-2004, 2006-2019 Free Software Foundation, Inc. @@ -186,10 +186,11 @@ or `erc-send-modify-hook'." (funcall erc-insert-away-timestamp-function (erc-format-timestamp ct erc-away-timestamp-format))) (add-text-properties (point-min) (point-max) - (list 'timestamp ct)) - (add-text-properties (point-min) (point-max) + ;; It's important for the function to + ;; be different on different entries (bug#22700). (list 'cursor-sensor-functions - (list #'erc-echo-timestamp)))))) + (list (lambda (_window _before dir) + (erc-echo-timestamp dir ct)))))))) (defvar erc-timestamp-last-inserted nil "Last timestamp inserted into the buffer.") @@ -399,14 +400,12 @@ enabled when the message was inserted." (erc-munge-invisibility-spec))) (erc-buffer-list))) -(defun erc-echo-timestamp (window _before dir) +(defun erc-echo-timestamp (dir stamp) "Print timestamp text-property of an IRC message." (when (and erc-echo-timestamps (eq 'entered dir)) - (let* ((now (window-point window)) - (stamp (get-text-property now 'timestamp))) - (when stamp - (message "%s" (format-time-string erc-echo-timestamp-format - stamp)))))) + (when stamp + (message "%s" (format-time-string erc-echo-timestamp-format + stamp))))) (provide 'erc-stamp) |