erc-commit
[Top][All Lists]
Advanced

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

[Erc-commit] [commit][master] erc-button: Improve module definition.


From: mwolson
Subject: [Erc-commit] [commit][master] erc-button: Improve module definition.
Date: Sat, 19 Jan 2008 00:40:07 -0500

commit fa53f87377697bc21372c36d8b4380248664c652
Author: Michael W. Olson <address@hidden>
Date:   Sat Jan 19 00:21:55 2008 -0500

    erc-button: Improve module definition.

diff --git a/ChangeLog b/ChangeLog
index b66c857..5340312 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-19  Michael Olson  <address@hidden>
 
+       * erc-button.el (button): Undo XEmacs-specific change to all ERC
+       buffers when module is removed.
+       (erc-button-setup): Rename from erc-button-add-keys, and move
+       XEmacs-specific stuff here.
+
        * erc-goodies.el (erc-unmorse): Improve regexp for detecting
        morse.  Deal with the morse style that has "/ " at the end of
        every letter.
diff --git a/erc-button.el b/erc-button.el
index a74d56b..7183aa6 100644
--- a/erc-button.el
+++ b/erc-button.el
@@ -57,16 +57,14 @@
   ((add-hook 'erc-insert-modify-hook 'erc-button-add-buttons 'append)
    (add-hook 'erc-send-modify-hook 'erc-button-add-buttons 'append)
    (add-hook 'erc-complete-functions 'erc-button-next)
-   (add-hook 'erc-mode-hook 'erc-button-add-keys))
+   (add-hook 'erc-mode-hook 'erc-button-setup))
   ((remove-hook 'erc-insert-modify-hook 'erc-button-add-buttons)
    (remove-hook 'erc-send-modify-hook 'erc-button-add-buttons)
    (remove-hook 'erc-complete-functions 'erc-button-next)
-   (remove-hook 'erc-mode-hook 'erc-button-add-keys)))
-
-;; Make XEmacs use `erc-button-face'.
-(when (featurep 'xemacs)
-  (add-hook 'erc-mode-hook
-            (lambda () (set (make-local-variable 'widget-button-face) nil))))
+   (remove-hook 'erc-mode-hook 'erc-button-setup)
+   (when (featurep 'xemacs)
+     (dolist (buffer (erc-buffer-list))
+       (kill-local-variable 'widget-button-face)))))
 
 ;;; Variables
 
@@ -247,8 +245,12 @@ constituents.")
   "Internal variable used to keep track of whether we've added the
 global-level ERC button keys yet.")
 
-(defun erc-button-add-keys ()
+(defun erc-button-setup ()
   "Add ERC mode-level button movement keys.  This is only done once."
+  ;; Make XEmacs use `erc-button-face'.
+  (when (featurep 'xemacs)
+    (set (make-local-variable 'widget-button-face) nil))
+  ;; Add keys.
   (unless erc-button-keys-added
     (define-key erc-mode-map (kbd "<backtab>") 'erc-button-previous)
     (setq erc-button-keys-added t)))




reply via email to

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