]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
authorDeniz Dogan <deniz.a.m.dogan@gmail.com>
Wed, 9 Feb 2011 00:22:01 +0000 (01:22 +0100)
committerDeniz Dogan <deniz.a.m.dogan@gmail.com>
Wed, 9 Feb 2011 00:22:01 +0000 (01:22 +0100)
available.
(rcirc-ctcp-sender-PING): New function.

lisp/ChangeLog
lisp/net/rcirc.el

index 101ea1d20bb8bb5f8e159d131ab9348d407acb5d..4e0dc57c1b71bbe7af5385d0477fdb5f65d0510e 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-09  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
+
+       * net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
+       available.
+       (rcirc-ctcp-sender-PING): New function.
+
 2011-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * obsolete/pc-select.el: Rename from emulation/pc-select.el (bug#7940).
index 21934ce8b01d45e74e4615bc044a4ea63e8bdd6e..246f6335134c85179521065adac63406e0fdabaf 100644 (file)
@@ -2185,14 +2185,23 @@ With a prefix arg, prompt for new topic."
 
 (defun rcirc-cmd-ctcp (args &optional process target)
   (if (string-match "^\\([^ ]+\\)\\s-+\\(.+\\)$" args)
-      (let ((target (match-string 1 args))
-            (request (match-string 2 args)))
-        (rcirc-send-string process
-                          (format "PRIVMSG %s \C-a%s\C-a"
-                                  target (upcase request))))
+      (let* ((target (match-string 1 args))
+             (request (upcase (match-string 2 args)))
+             (function (intern-soft (concat "rcirc-ctcp-sender-" request))))
+        (if (fboundp function) ;; use special function if available
+            (funcall function process target request)
+          (rcirc-send-string process
+                             (format "PRIVMSG %s :\C-a%s\C-a"
+                                     target request))))
     (rcirc-print process (rcirc-nick process) "ERROR" nil
                  "usage: /ctcp NICK REQUEST")))
 
+(defun rcirc-ctcp-sender-PING (process target request)
+  "Send a CTCP PING message to TARGET."
+  (let ((timestamp (car (split-string (number-to-string (float-time)) "\\."))))
+    (rcirc-send-string process
+                       (format "PRIVMSG %s :\C-aPING %s\C-a" target timestamp))))
+
 (defun rcirc-cmd-me (args &optional process target)
   (rcirc-send-string process (format "PRIVMSG %s :\C-aACTION %s\C-a"
                                      target args)))