Allow specifying the erc timestamp format
authorTeemu Likonen <tlikonen@iki.fi>
Sun, 13 May 2012 18:51:14 +0000 (20:51 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sun, 13 May 2012 18:51:14 +0000 (20:51 +0200)
* erc-backend.el (erc-server-timestamp-format): New variable to
allow specifying the timestamp format.

Fixes: debbugs:10779

lisp/erc/ChangeLog
lisp/erc/erc-backend.el

index 06c6d42..134938a 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-13  Teemu Likonen  <tlikonen@iki.fi>
+
+       * erc-backend.el (erc-server-timestamp-format): New variable to
+       allow specifying the timestamp format (bug#10779).
+
 2012-04-11  Vivek Dasmohapatra  <vivek@etla.org>
 
        * erc-services.el (erc-nickserv-passwords): Don't display the
index 62f524e..84f3ce9 100644 (file)
@@ -393,6 +393,12 @@ isn't displayed."
   :type 'integer
   :group 'erc-server)
 
+(defcustom erc-server-timestamp-format "%Y-%m-%d %T"
+  "*Timestamp format used with server response messages.
+This string is processed using `format-time-string'."
+  :type 'string
+  :group 'erc-server)
+
 ;;; Flood-related
 
 ;; Most of this is courtesy of Jorgen Schaefer and Circe
@@ -1454,7 +1460,8 @@ add things to `%s' instead."
   "The channel topic has changed." nil
   (let* ((ch (first (erc-response.command-args parsed)))
          (topic (erc-trim-string (erc-response.contents parsed)))
-         (time (format-time-string "%T %m/%d/%y" (current-time))))
+         (time (format-time-string erc-server-timestamp-format
+                                   (current-time))))
     (multiple-value-bind (nick login host)
         (values-list (erc-parse-user (erc-response.sender parsed)))
       (erc-update-channel-member ch nick nick nil nil nil host login)
@@ -1647,7 +1654,7 @@ See `erc-display-server-message'." nil
   (multiple-value-bind (nick seconds-idle on-since time)
       (values-list (cdr (erc-response.command-args parsed)))
     (setq time (when on-since
-                 (format-time-string "%T %Y/%m/%d"
+                 (format-time-string erc-server-timestamp-format
                                      (erc-string-to-emacs-time on-since))))
     (erc-update-user-nick nick nick nil nil nil
                           (and time (format "on since %s" time)))
@@ -1724,7 +1731,8 @@ See `erc-display-server-message'." nil
                (third (erc-response.command-args parsed)))))
     (erc-display-message
      parsed 'notice (erc-get-buffer channel proc)
-     's329 ?c channel ?t (format-time-string "%A %Y/%m/%d %X" time))))
+     's329 ?c channel ?t (format-time-string erc-server-timestamp-format
+                                             time))))
 
 (define-erc-response-handler (330)
   "Nick is authed as (on Quakenet network)." nil
@@ -1761,7 +1769,7 @@ See `erc-display-server-message'." nil
   "Who set the topic, and when." nil
   (multiple-value-bind (channel nick time)
       (values-list (cdr (erc-response.command-args parsed)))
-    (setq time (format-time-string "%T %Y/%m/%d"
+    (setq time (format-time-string erc-server-timestamp-format
                                    (erc-string-to-emacs-time time)))
     (erc-update-channel-topic channel
                               (format "\C-o (%s, %s)" nick time)