emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r103190: * lisp/net/rcirc.el (rcirc-c


From: Deniz Dogan
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103190: * lisp/net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
Date: Wed, 09 Feb 2011 01:22:01 +0100
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103190
committer: Deniz Dogan <address@hidden>
branch nick: emacs-trunk
timestamp: Wed 2011-02-09 01:22:01 +0100
message:
  * lisp/net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
  available.
  (rcirc-ctcp-sender-PING): New function.
modified:
  lisp/ChangeLog
  lisp/net/rcirc.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-02-08 20:45:53 +0000
+++ b/lisp/ChangeLog    2011-02-09 00:22:01 +0000
@@ -1,3 +1,9 @@
+2011-02-09  Deniz Dogan  <address@hidden>
+
+       * net/rcirc.el (rcirc-cmd-ctcp): Use dedicated function when
+       available.
+       (rcirc-ctcp-sender-PING): New function.
+
 2011-02-08  Stefan Monnier  <address@hidden>
 
        * obsolete/pc-select.el: Rename from emulation/pc-select.el (bug#7940).

=== modified file 'lisp/net/rcirc.el'
--- a/lisp/net/rcirc.el 2011-02-07 00:12:17 +0000
+++ b/lisp/net/rcirc.el 2011-02-09 00:22:01 +0000
@@ -2185,14 +2185,23 @@
 
 (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)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]