erc-commit
[Top][All Lists]
Advanced

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

[Erc-commit] [commit][emacs22] Fix undesired autoaway behavior and updat


From: mwolson
Subject: [Erc-commit] [commit][emacs22] Fix undesired autoaway behavior and update NEWS.
Date: Sun, 14 Oct 2007 00:48:15 -0400

commit 3e83ee1b01c429c146c109b5cd7cfd020513cffd
Author: Michael Olson <address@hidden>
Date:   Mon Jun 12 20:49:30 2006 +0000

    Fix undesired autoaway behavior and update NEWS.
    
    * NEWS: Add items since the 5.1.2 release.
    
    * erc-autoaway.el (erc-autoaway-caused-away): New variable that indicates
      whether the current away status was caused by this module.
      (erc-autoaway-set-back): Only set back if this module set the user
      away.
      (erc-autoaway-set-away): Update `erc-autoaway-caused-away'.
      (erc-autoaway-reset-indicators): New function that resets some
      indicators when the user is no longer away.
      (autoaway): Add the above function to the 305 hook.
    git-archimport-id: address@hidden/erc--main--0--patch-7

diff --git a/ChangeLog b/ChangeLog
index de8539c..167a705 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2006-06-12  Michael Olson  <address@hidden>
+
+       * NEWS: Add items since the 5.1.2 release.
+
+       * erc-autoaway.el (erc-autoaway-caused-away): New variable that
+       indicates whether the current away status was caused by this
+       module.
+       (erc-autoaway-set-back): Only set back if this module set the user
+       away.
+       (erc-autoaway-set-away): Update `erc-autoaway-caused-away'.
+       (erc-autoaway-reset-indicators): New function that resets some
+       indicators when the user is no longer away.
+       (autoaway): Add the above function to the 305 hook.
+
 2006-06-04  Michael Olson  <address@hidden>
 
        * erc-autoaway.el (erc-autoaway-idle-method): Move after the
diff --git a/Makefile b/Makefile
index 89f3560..51dd69c 100644
--- a/Makefile
+++ b/Makefile
@@ -148,7 +148,7 @@ release: autoloads distclean
 upload:
        (cd .. && gpg --detach erc-$(VERSION).tar.gz && \
          gpg --detach erc-$(VERSION).zip && \
-         echo open ftp://savannah.nongnu.org > upload.lftp ; \
+         echo open ftp://savannah.gnu.org > upload.lftp ; \
          echo cd /incoming/savannah/erc >> upload.lftp ; \
          echo mput erc-$(VERSION).zip* >> upload.lftp ; \
          echo mput erc-$(VERSION).tar.gz* >> upload.lftp ; \
diff --git a/NEWS b/NEWS
index ef98227..3f8e955 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,51 @@ ERC NEWS                                                       
-*- outline -*-
 
 **** Mark unidentified users on servers supporting CAPAB IDENTIFY-MSG.
 
+* Changes in ERC 5.1.3 (unreleased)
+
+** Fix use of /quote command with no initial whitespace.
+
+** Changes and additions to modules
+
+** Make it possible to customize the colorization of the header line.
+The `erc-header-line' face is used to color the header line.
+The `erc-header-line-face-method' determines the method to use when
+colorizing the header line.
+
+** Add the new function `erc-handle-irc-url', which is a suitable
+candidate to use for `url-irc-function'.  This permits some
+integration of url.el and ERC.
+
+*** Autoaway (erc-autoaway.el)
+
+**** Rename the `erc-autoaway-use-emacs-idle' option to
+`erc-autoaway-idle-method'.
+
+**** Add support for autoaway based on user idle time.
+This is now the default.
+
+**** If you set the AWAY status yourself, erc-autoaway will not
+interfere by un-setting AWAY prematurely.
+
+*** BBDB (erc-bbdb.el)
+
+**** Add new option `erc-bbdb-electric-p', which determines whether
+to make the BBDB buffer electric.  This defaults to not electric.
+
+*** Button (erc-button.el)
+
+**** Use <backtab> instead of <C-tab> for `erc-button-previous'.
+
+*** Identd (erc-identd.el)
+
+**** Fix a bug that involves starting the identd server.
+
+**** Make this work with Emacs 22.
+
+*** Programmable completion (erc-pcomplete.el)
+
+**** Don't complete the user's current nickname.
+
 * Changes in ERC 5.1.2
 
 ** Fix compiler errors in erc-autojoin.el and erc-dcc.el.
diff --git a/erc-autoaway.el b/erc-autoaway.el
index aac6549..880f731 100644
--- a/erc-autoaway.el
+++ b/erc-autoaway.el
@@ -76,7 +76,8 @@ Related variables: `erc-public-away-p' and 
`erc-away-nickname'."
        (add-hook 'post-command-hook 'erc-autoaway-reset-idle-user))
       ((eq erc-autoaway-idle-method 'emacs)
        (erc-autoaway-reestablish-idletimer)))
-     (add-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away)))
+     (add-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away)
+     (add-hook 'erc-server-305-functions 'erc-autoaway-reset-indicators)))
   ;; Disable:
   ((when (boundp 'erc-autoaway-idle-method)
      (cond
@@ -88,7 +89,8 @@ Related variables: `erc-public-away-p' and 
`erc-away-nickname'."
       ((eq erc-autoaway-idle-method 'emacs)
        (erc-cancel-timer erc-autoaway-idletimer)
        (setq erc-autoaway-idletimer nil)))
-     (remove-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away))))
+     (remove-hook 'erc-timer-hook 'erc-autoaway-possibly-set-away)
+     (remove-hook 'erc-server-305-functions 'erc-autoaway-reset-indicators))))
 
 (defcustom erc-autoaway-idle-method 'user
   "*The method used to determine how long you have been idle.
@@ -171,6 +173,10 @@ in seconds."
 (defvar erc-autoaway-last-sent-time (erc-current-time)
   "The last time the user sent something.")
 
+(defvar erc-autoaway-caused-away nil
+  "Indicates whether this module was responsible for setting the
+user's away status.")
+
 (defun erc-autoaway-reset-idle-user (&rest stuff)
   "Reset the stored user idle time.
 This is one global variable since a user talking on one net can
@@ -191,8 +197,8 @@ talk on another net too."
 
 (defun erc-autoaway-set-back ()
   "Discard the away state globally."
-  (when (erc-away-p)
-    (setq erc-autoaway-last-sent-time (erc-current-time))
+  (when (and erc-autoaway-caused-away
+            (erc-away-p))
     (erc-cmd-GAWAY "")))
 
 (defun erc-autoaway-possibly-set-away (current-time)
@@ -219,8 +225,14 @@ exceeds `erc-autoaway-idle-seconds'."
   ;; existing process.
   (when (and (erc-server-process-alive)
             (not (erc-away-p)))
+    (setq erc-autoaway-caused-away t)
     (erc-cmd-GAWAY (format erc-autoaway-message idle-time))))
 
+(defun erc-autoaway-reset-indicators (&rest stuff)
+  "Reset indicators used by the erc-autoaway module."
+  (setq erc-autoaway-last-sent-time (erc-current-time))
+  (setq erc-autoaway-caused-away nil))
+
 (provide 'erc-autoaway)
 
 ;;; erc-autoaway.el ends here




reply via email to

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