# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # omlnk0w1cjcztpqh # target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk # testament_sha1: 7a1f4c8fca4e2ff01fbf0c250193dcd8eb8a7bd3 # timestamp: 2010-01-06 18:03:48 +0100 # base_revision_id: address@hidden # # Begin patch === modified file 'lisp/net/rcirc.el' --- lisp/net/rcirc.el 2010-01-02 16:13:22 +0000 +++ lisp/net/rcirc.el 2010-01-06 17:02:13 +0000 @@ -2082,15 +2082,26 @@ (rcirc-send-string process (concat "KICK " target " " argstring)))) (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)))) + (if (string-match "^\\([^ ]+\\)\\s-+\\([^ ]+\\)\\s-*\\(.*\\)$" args) + (let* ((target (match-string 1 args)) + (request (upcase (match-string 2 args))) + (handler (intern-soft (concat "rcirc-cmd-ctcp-" request)))) + (if (not (fboundp handler)) + (rcirc-send-string process + (format "PRIVMSG %s \C-a%s\C-a" + target request)) + (funcall handler process target (match-string 3 args)))) (rcirc-print process (rcirc-nick process) "ERROR" nil "usage: /ctcp NICK REQUEST"))) +(defun rcirc-cmd-ctcp-PING (process target args) + (let ((unix-timestamp (substring + (number-to-string + (ftruncate + (float-time))) 0 -2))) + (rcirc-send-string process (format "PRIVMSG %s :\C-aPING %s\C-a" + target unix-timestamp)))) + (defun rcirc-cmd-me (args &optional process target) (rcirc-send-string process (format "PRIVMSG %s :\C-aACTION %s\C-a" target args))) @@ -2600,6 +2611,12 @@ (rcirc-print process sender "CTCP" target (format "%s" text) t)))))) +(defun rcirc-handler-ctcp-PING (process target sender args) + (rcirc-send-string process + (concat "NOTICE " sender + " :\C-aPING " args + "\C-a"))) + (defun rcirc-handler-ctcp-VERSION (process target sender args) (rcirc-send-string process (concat "NOTICE " sender # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWZpgQGwAAiL/gFVwI6he+//3 fqPdD7////BQBM0ktoMwaba2zLCSRACE8ExNRqekNoyR6SZmojyQD1DQP1RtJ+qDIiMJo00JplTT TRhNNBoAAAAAAAkUmISnmk0ynqD0T1NMnomjT1B5NRp6gNGg2po8oaHMJoDQGjRhGgxGmJkxNBhG gZAMmBzCaA0Bo0YRoMRpiZMTQYRoGQDJhYsqTnebpfM5v48TUeeQjYOH6HjweYG2I27Oogg2cgiC GEo3IkY30AoADBrNm/avuRFauKK2pXrIR2396yLuEHZbZ8nszBw/kigowtZ4XwOwbGCHRKosllGb tk4/hF8jjKVYVU04f5J7uanhRO3RUn2GnkiBo6k8f/Zj9Wrtt5Ph36oui+f4qiK7DoTYzgZJ9lrU vTDjHyvRozcueQZ2GhrRnnQcw7yMbBmWF5ox8EJMN7HRiyQpqHj0v8k5n8sp3zZFMJiI8RZF7zYV Of1zefXtXsFGuyPwiU6l4lHL6p96U1iViXwT8y9SV6v90NemuFK1juZhF6+LCKhDx/tFDmTksFqh Bdj7nWmUqQM0kXRwnrFcJsOGkQ9KwQgah29riZG4+6p1tkRSSIDA5QTAq/hjUawKPYF08rurndMs hLg2WbiLA0S3Zx8llL6YVM5CeoEeUQD2GIrKh4jeoF/FI3u1CVg2a43BoDXONzaVMFtkLtchCrm2 45CoyCczIBdHFqYal1mLxeGWhovZsrO0IbzGb3VPdmgsbsE5j+njM7LKCyOkSBNqpbRMbsKGp8QX YBcwkQk4QN1DiaYOD4ijxSZsrk9vAYshsdihYDLe13XhsHztFwuzzruDdc1vG2QWtksDDYqPYocp QODiVhOp1+oe7cr39ooeHo8GSYiVdNppnPlF0657ry1dWsYT6EazYWkX517xxluRWayeyszF4XEV V7Z09WqEDwJCI8iTHVgije8sDcltgDoOswHboyY+uD3v3XZd4dKXcZKql3gRZ6g2KvMiMUKUpOM2 9kObup7LU7f7Ynvs8OK9gq0HfzOjLq2VnbN3WC3l0bLHCNVZBEwp4gtOcCzYThCt8SyRcRUPvGV2 rmmgUCbMPWEyd9MxlNY0PlKV6TEvgDOk1Fa0MrrPB+d1D8ci0u5tcOjok6Z+etLltcB0hx87xppb tMCJ1MkWChy0ETo4yi9LPyo8kSP+nS1nUmSdYzL7XX3SNbp/HMLRtTKfETZ8oTKGUpV5pKaDE5V1 67TSaVQejZ680lbDzXre7zDoIUiED0ouF/kml8TAxg3jCus8tuc7asRBYiidFosMmOxT6zvrGY0G BOhaRhsApMhyGKQGeVeyKHEEcIHP2CaAQ88STxMs6awK4bloSYJAe4HqsKSIzX5RXQy5dwnkJThJ 0A3LStmIvnooE4ktLQ1aw12ClpOFQxTgOLclSDIBRHkkCuYpFIF8VSu86iVNNk9yt5ZlKpcyWGzQ laBGJpkMbIyYJ0aHK2zXfLJVKbdEQ4MFHsqykyQLQMhC01guLEOaEwAuwBGkRErypCBFVSBm6oaQ Y864gSIZaCxqsa3iKmm6zrGoCzmFZVIqnXbe4rDaULuAHUdxxnShUhhilgyPvqVsKdzBAuxgEBnd o33DkJK1Ydbcwwg53qpjgql0MDeIraBA74KkBaOU7W45lAq8R5AHuQvS3KmVOqd1qRXBuFoU6yrk UKzwLdb68YYwMGJIhf+LuSKcKEhNMCA2AA==