erc-commit
[Top][All Lists]
Advanced

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

[Erc-commit] [commit][master] Split message display in 321 and 322 respo


From: mwolson
Subject: [Erc-commit] [commit][master] Split message display in 321 and 322 response handlers.
Date: Thu, 10 Jan 2008 03:00:06 -0500

commit 4a3f2d06924fceda02c488f6f5690499da86e20d
Author: Michael W. Olson <address@hidden>
Date:   Thu Jan 10 02:51:29 2008 -0500

    Split message display in 321 and 322 response handlers.

diff --git a/ChangeLog b/ChangeLog
index b990c8e..e54a4b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2008-01-10  Michael Olson  <address@hidden>
 
-       * erc.el (erc-modules): Add list-old.
+       * erc-backend.el (321, 322): Split message-displaying parts into
+       new functions, which are added to each response's respective
+       hook.  This makes them easier to disable.
 
        * erc-list.el: New file from Tom Tromey.  Use erc-propertize
        instead of propertize.  Add simple module definition.
@@ -11,6 +13,8 @@
 
        * erc-list-old.el: Renamed from old erc-list.el.
 
+       * erc.el (erc-modules): Add list-old.
+
 2008-01-04  Stefan Monnier  <address@hidden>
 
        * erc-ibuffer.el (erc-channel-modes):
diff --git a/erc-backend.el b/erc-backend.el
index 5fe0efd..e5181fe 100644
--- a/erc-backend.el
+++ b/erc-backend.el
@@ -1649,8 +1649,13 @@ See `erc-display-server-message'." nil
 
 (define-erc-response-handler (321)
   "LIST header." nil
-  (setq erc-channel-list nil)
-  (erc-display-message parsed 'notice proc 's321))
+  (setq erc-channel-list nil))
+
+(defun erc-server-321-message (proc parsed)
+  "Display a message for the 321 event."
+  (erc-display-message parsed 'notice proc 's321)
+  nil)
+(add-hook 'erc-server-321-functions 'erc-server-321-message t)
 
 (define-erc-response-handler (322)
   "LIST notice." nil
@@ -1658,10 +1663,17 @@ See `erc-display-server-message'." nil
     (multiple-value-bind (channel num-users)
         (cdr (erc-response.command-args parsed))
       (add-to-list 'erc-channel-list (list channel))
-      (erc-update-channel-topic channel topic)
+      (erc-update-channel-topic channel topic))))
+
+(defun erc-server-322-message (proc parsed)
+  "Display a message for the 322 event."
+  (let ((topic (erc-response.contents parsed)))
+    (multiple-value-bind (channel num-users)
+        (cdr (erc-response.command-args parsed))
       (erc-display-message
        parsed 'notice proc 's322
        ?c channel ?u num-users ?t (or topic "")))))
+(add-hook 'erc-server-322-functions 'erc-server-322-message t)
 
 (define-erc-response-handler (324)
   "Channel or nick modes." nil




reply via email to

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