unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident
@ 2010-02-04  2:58 Vivek Dasmohapatra
  2010-02-07 17:41 ` bug#5521: Works for me Phil Hagelberg
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Vivek Dasmohapatra @ 2010-02-04  2:58 UTC (permalink / raw)
  To: 5521

[-- Attachment #1: Type: TEXT/PLAIN, Size: 494 bytes --]

Tags: patch

Some irc channels can only be joined by identified users, but since 
identification may not happen until some time after a server connection
is established, autojoin currently happens too early for these channels.

This patch allows the autojoin timing to be selected:

  - on connect (as currently)
  - after successful ident

If after-ident is chosen, there is also a customiseable timeout which
kicks in and starts autojoin anyway if an ident isn't received in the
alloted time.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: TEXT/x-diff; name=0002-Implement-customisable-autojoin-timing.patch, Size: 5270 bytes --]

diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el
--- a/lisp/erc/erc-join.el
+++ b/lisp/erc/erc-join.el
@@ -42,9 +42,11 @@
 (define-erc-module autojoin nil
   "Makes ERC autojoin on connects and reconnects."
   ((add-hook 'erc-after-connect 'erc-autojoin-channels)
+   (add-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
    (add-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
    (add-hook 'erc-server-PART-functions 'erc-autojoin-remove))
   ((remove-hook 'erc-after-connect 'erc-autojoin-channels)
+   (remove-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
    (remove-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
    (remove-hook 'erc-server-PART-functions 'erc-autojoin-remove)))
 
@@ -66,6 +68,25 @@ time is used again."
 		       (repeat :tag "Channels"
 			       (string :tag "Name")))))
 
+(defcustom erc-autojoin-timing :connect
+  "When erc should try to autojoin channels, assuming this feature has been
+enabled. Valid values are:\n
+  :connect - immediately upon connection to the server
+  :ident   - upon successful identification to services\n
+If :ident is chosen, but no identification has occurred after 
+`erc-autojoin-patience' seconds, erc will attempt to autojoin anyway.
+Any unrecognised value will be treated as the default (currently :connect)"
+  :group 'erc-autojoin
+  :type  '(choice (const :tag "On Connection" :connect)
+		  (const :tag "When Identified" :ident)))
+
+(defcustom erc-autojoin-patience 30
+  "Number of seconds to wait for successful services identification before
+attempting to autojoin channels anyway. Values of 0 or less disable this.\n
+See also: `erc-autojoin-timing'"
+  :group 'erc-autojoin
+  :type  'integer)
+
 (defcustom erc-autojoin-domain-only t
   "Truncate host name to the domain name when joining a server.
 If non-nil, and a channel on the server a.b.c is joined, then
@@ -75,12 +96,67 @@ servers, presumably in the same domain."
   :group 'erc-autojoin
   :type 'boolean)
 
+(defun erc-autojoin-timing-internal ()
+  (if (eq :ident erc-autojoin-timing) :ident :connect))
+
+(defvar erc-autojoin-delayed-timer nil)
+(make-variable-buffer-local 'erc-autojoin-delayed-timer)
+
+(defun erc-autojoin-channels-delayed (server nick buffer)
+  "Kick of a delayed channel autojoin (intended for use when we are waiting
+for a successful ident response before autojoining and run out of patience"
+  (if erc-autojoin-delayed-timer
+      (setq erc-autojoin-delayed-timer
+	    (erc-cancel-timer erc-autojoin-delayed-timer)))
+  (with-current-buffer buffer
+    ;; make sure we don't kick of another delayed autojoin or try to wait for
+    ;; another ident response:
+    (let ((erc-autojoin-patience -1)
+	  (erc-autojoin-timing :connect))
+      (erc-log "delayed autojoin started (no ident success detected yet)")
+      (erc-autojoin-channels server nick)) ))
+
 (defun erc-autojoin-channels (server nick)
-  "Autojoin channels in `erc-autojoin-channels-alist'."
-  (dolist (l erc-autojoin-channels-alist)
-    (when (string-match (car l) server)
-      (dolist (chan (cdr l))
-	(erc-server-send (concat "join " chan))))))
+  "Autojoin channels in `erc-autojoin-channels-alist'.
+See also `erc-autojoin-timing'"
+  (if (eq (erc-autojoin-timing-internal) :connect)
+    (dolist (l erc-autojoin-channels-alist)
+      (when (string-match (car l) server)
+	(dolist (chan (cdr l))
+	  (erc-server-send (concat "join " chan)))))
+    ;; ok, we want post-ident autojoin: prepare the delayed autojoin timer
+    ;; in case ident doesn't happen within the allotted time limit:
+    (when (< 0 erc-autojoin-patience)
+      (setq erc-autojoin-delayed-timer
+	    (run-with-timer erc-autojoin-patience nil
+			    'erc-autojoin-channels-delayed
+			    server nick (current-buffer)))
+      ;; make sure we return nil so we don't stomp on any other hook funcs:
+      nil)))
+
+(defun erc-autojoin-after-ident (network nick)
+  "Autojoin channels in `erc-autojoin-channels-alist' after
+successful identification to services, or after `erc-autojoin-patience'
+seconds otherwise."
+  (if erc-autojoin-delayed-timer
+      (setq erc-autojoin-delayed-timer
+	    (erc-cancel-timer erc-autojoin-delayed-timer)))
+  (when (eq (erc-autojoin-timing-internal) :ident)
+    (let ((server (or erc-server-announced-name erc-session-server))
+	  (joined (mapcar (lambda (buf)
+			    (with-current-buffer buf (erc-default-target)))
+			  (erc-channel-list erc-server-process))))
+      ;; we may already be in these channels, because the autojoin timer 
+      ;; went off, or random server weirdness (at least one server I know
+      ;; of automatically pumps all users into a global channel)
+      (dolist (l erc-autojoin-channels-alist)
+	(when (string-match (car l) server)
+	  (dolist (chan (cdr l))
+	    (if (erc-member-ignore-case chan joined)
+		(erc-log (format "erc-join-after-indent: already in %s" chan))
+	      (erc-log (format "erc-join-after-indent: joining %s" chan))
+	      (erc-server-send (concat "join " chan)) )) )) ))
+  nil)
 
 (defun erc-autojoin-add (proc parsed)
   "Add the channel being joined to `erc-autojoin-channels-alist'."



^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521: Works for me
  2010-02-04  2:58 bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Vivek Dasmohapatra
@ 2010-02-07 17:41 ` Phil Hagelberg
  2010-06-27 12:36 ` bug#5521: Deniz Dogan
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Phil Hagelberg @ 2010-02-07 17:41 UTC (permalink / raw)
  To: 5521

I've tested this patch, and it works great for me. Thanks to Vivek for
submitting it!

-Phil






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521:
  2010-02-04  2:58 bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Vivek Dasmohapatra
  2010-02-07 17:41 ` bug#5521: Works for me Phil Hagelberg
@ 2010-06-27 12:36 ` Deniz Dogan
  2010-07-16 16:24 ` bug#5521: Seems to work Criveti Mihai
  2010-07-17 23:37 ` bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Chong Yidong
  3 siblings, 0 replies; 7+ messages in thread
From: Deniz Dogan @ 2010-06-27 12:36 UTC (permalink / raw)
  To: 5521

Is anything stopping this patch from being applied in ERC?

-- 
Deniz Dogan





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521: Seems to work..
  2010-02-04  2:58 bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Vivek Dasmohapatra
  2010-02-07 17:41 ` bug#5521: Works for me Phil Hagelberg
  2010-06-27 12:36 ` bug#5521: Deniz Dogan
@ 2010-07-16 16:24 ` Criveti Mihai
  2010-07-17 23:37 ` bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Chong Yidong
  3 siblings, 0 replies; 7+ messages in thread
From: Criveti Mihai @ 2010-07-16 16:24 UTC (permalink / raw)
  To: 5521

Seems to work fine after applying this patch. Would be nice if it got
integrated into Emacs. Thanks :-).





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident
  2010-02-04  2:58 bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Vivek Dasmohapatra
                   ` (2 preceding siblings ...)
  2010-07-16 16:24 ` bug#5521: Seems to work Criveti Mihai
@ 2010-07-17 23:37 ` Chong Yidong
  2010-07-18  4:21   ` Michael Olson
       [not found]   ` <AANLkTimNL_9MS9bAQcp6Bc3d_n6A9JyUBA1lY3TSjjX7@mail.gmail.com>
  3 siblings, 2 replies; 7+ messages in thread
From: Chong Yidong @ 2010-07-17 23:37 UTC (permalink / raw)
  To: Michael Olson; +Cc: 5521, Vivek Dasmohapatra

> Some irc channels can only be joined by identified users, but since
> identification may not happen until some time after a server
> connection is established, autojoin currently happens too early for
> these channels.

> This patch allows the autojoin timing to be selected:

>  - on connect (as currently)
>  - after successful ident

> If after-ident is chosen, there is also a customiseable timeout which
> kicks in and starts autojoin anyway if an ident isn't received in the
> alloted time.

Hi Michael,

Any objection to checking in this patch?  (I did some cleanup of what
Vivek originally sent).



*** lisp/erc/erc-join.el	2010-01-13 08:35:10 +0000
--- lisp/erc/erc-join.el	2010-07-17 23:34:40 +0000
***************
*** 42,50 ****
--- 42,52 ----
  (define-erc-module autojoin nil
    "Makes ERC autojoin on connects and reconnects."
    ((add-hook 'erc-after-connect 'erc-autojoin-channels)
+    (add-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
     (add-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
     (add-hook 'erc-server-PART-functions 'erc-autojoin-remove))
    ((remove-hook 'erc-after-connect 'erc-autojoin-channels)
+    (remove-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
     (remove-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
     (remove-hook 'erc-server-PART-functions 'erc-autojoin-remove)))
  
***************
*** 66,71 ****
--- 68,91 ----
  		       (repeat :tag "Channels"
  			       (string :tag "Name")))))
  
+ (defcustom erc-autojoin-timing :connect
+   "When ERC should attempt to autojoin a channel.
+ If the value is `:connect', autojoin immediately on connecting.
+ If the value is `:ident', autojoin after successful NickServ
+ identification, or after `erc-autojoin-delay' seconds.
+ Any other value means the same as `:connect'."
+   :group 'erc-autojoin
+   :type  '(choice (const :tag "On Connection" :connect)
+ 		  (const :tag "When Identified" :ident)))
+ 
+ (defcustom erc-autojoin-delay 30
+   "Number of seconds to wait before attempting to autojoin channels.
+ This only takes effect if `erc-autojoin-timing' is `:ident'.
+ If NickServ identification occurs before this delay expires, ERC
+ autojoins immediately at that time."
+   :group 'erc-autojoin
+   :type  'integer)
+ 
  (defcustom erc-autojoin-domain-only t
    "Truncate host name to the domain name when joining a server.
  If non-nil, and a channel on the server a.b.c is joined, then
***************
*** 75,86 ****
    :group 'erc-autojoin
    :type 'boolean)
  
  (defun erc-autojoin-channels (server nick)
    "Autojoin channels in `erc-autojoin-channels-alist'."
!   (dolist (l erc-autojoin-channels-alist)
!     (when (string-match (car l) server)
!       (dolist (chan (cdr l))
! 	(erc-server-send (concat "join " chan))))))
  
  (defun erc-autojoin-add (proc parsed)
    "Add the channel being joined to `erc-autojoin-channels-alist'."
--- 95,154 ----
    :group 'erc-autojoin
    :type 'boolean)
  
+ (defvar erc-autojoin-timer nil)
+ (make-variable-buffer-local 'erc-autojoin-timer)
+ 
+ (defun erc-autojoin-channels-delayed (server nick buffer)
+   "Attempt to autojoin channels.
+ This is called from a timer set up by `erc-autojoin-channels'."
+   (if erc-autojoin-timer
+       (setq erc-autojoin-timer
+ 	    (erc-cancel-timer erc-autojoin-timer)))
+   (with-current-buffer buffer
+     ;; Don't kick of another delayed autojoin or try to wait for
+     ;; another ident response:
+     (let ((erc-autojoin-delay -1)
+ 	  (erc-autojoin-timing :connect))
+       (erc-log "Delayed autojoin started (no ident success detected yet)")
+       (erc-autojoin-channels server nick))))
+ 
+ (defun erc-autojoin-after-ident (network nick)
+   "Autojoin channels in `erc-autojoin-channels-alist'.
+ This function is run from `erc-nickserv-identified-hook'."
+   (if erc-autojoin-timer
+       (setq erc-autojoin-timer
+ 	    (erc-cancel-timer erc-autojoin-timer)))
+   (when (eq erc-autojoin-timing :ident)
+     (let ((server (or erc-server-announced-name erc-session-server))
+ 	  (joined (mapcar (lambda (buf)
+ 			    (with-current-buffer buf (erc-default-target)))
+ 			  (erc-channel-list erc-server-process))))
+       ;; We may already be in these channels, e.g. because the
+       ;; autojoin timer went off.
+       (dolist (l erc-autojoin-channels-alist)
+ 	(when (string-match (car l) server)
+ 	  (dolist (chan (cdr l))
+ 	    (unless (erc-member-ignore-case chan joined)
+ 	      (erc-server-send (concat "join " chan))))))))
+   nil)
+ 
  (defun erc-autojoin-channels (server nick)
    "Autojoin channels in `erc-autojoin-channels-alist'."
!   (if (eq erc-autojoin-timing :ident)
!       ;; Prepare the delayed autojoin timer, in case ident doesn't
!       ;; happen within the allotted time limit:
!       (when (> erc-autojoin-delay 0)
! 	(setq erc-autojoin-timer
! 	      (run-with-timer erc-autojoin-delay nil
! 			      'erc-autojoin-channels-delayed
! 			      server nick (current-buffer))))
!     ;; `erc-autojoin-timing' is `:connect':
!     (dolist (l erc-autojoin-channels-alist)
!       (when (string-match (car l) server)
! 	(dolist (chan (cdr l))
! 	  (erc-server-send (concat "join " chan))))))
!   ;; Return nil to avoid stomping on any other hook funcs.
!   nil)
  
  (defun erc-autojoin-add (proc parsed)
    "Add the channel being joined to `erc-autojoin-channels-alist'."





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521: 23.1; erc - allow autojoin to be delayed till after services  ident
  2010-07-17 23:37 ` bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Chong Yidong
@ 2010-07-18  4:21   ` Michael Olson
       [not found]   ` <AANLkTimNL_9MS9bAQcp6Bc3d_n6A9JyUBA1lY3TSjjX7@mail.gmail.com>
  1 sibling, 0 replies; 7+ messages in thread
From: Michael Olson @ 2010-07-18  4:21 UTC (permalink / raw)
  To: Chong Yidong, Giorgos Keramidas, ERC Discussion; +Cc: 5521, Vivek Dasmohapatra

Looks generally OK to me, though I've stepped down as the maintainer
of ERC.  Forwarding on to the ERC discussion list and the new
maintainer Giorgos.

One change I would recommend is to change :connect and :ident to be in
normal symbol form ('connect and 'ident) for consistency with the rest
of ERC's code.

On Sat, Jul 17, 2010 at 4:37 PM, Chong Yidong <cyd@stupidchicken.com> wrote:
>> Some irc channels can only be joined by identified users, but since
>> identification may not happen until some time after a server
>> connection is established, autojoin currently happens too early for
>> these channels.
>
>> This patch allows the autojoin timing to be selected:
>
>>  - on connect (as currently)
>>  - after successful ident
>
>> If after-ident is chosen, there is also a customiseable timeout which
>> kicks in and starts autojoin anyway if an ident isn't received in the
>> alloted time.
>
> Hi Michael,
>
> Any objection to checking in this patch?  (I did some cleanup of what
> Vivek originally sent).
>
>
>
> *** lisp/erc/erc-join.el        2010-01-13 08:35:10 +0000
> --- lisp/erc/erc-join.el        2010-07-17 23:34:40 +0000
> ***************
> *** 42,50 ****
> --- 42,52 ----
>  (define-erc-module autojoin nil
>    "Makes ERC autojoin on connects and reconnects."
>    ((add-hook 'erc-after-connect 'erc-autojoin-channels)
> +    (add-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
>     (add-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
>     (add-hook 'erc-server-PART-functions 'erc-autojoin-remove))
>    ((remove-hook 'erc-after-connect 'erc-autojoin-channels)
> +    (remove-hook 'erc-nickserv-identified-hook 'erc-autojoin-after-ident)
>     (remove-hook 'erc-server-JOIN-functions 'erc-autojoin-add)
>     (remove-hook 'erc-server-PART-functions 'erc-autojoin-remove)))
>
> ***************
> *** 66,71 ****
> --- 68,91 ----
>                       (repeat :tag "Channels"
>                               (string :tag "Name")))))
>
> + (defcustom erc-autojoin-timing :connect
> +   "When ERC should attempt to autojoin a channel.
> + If the value is `:connect', autojoin immediately on connecting.
> + If the value is `:ident', autojoin after successful NickServ
> + identification, or after `erc-autojoin-delay' seconds.
> + Any other value means the same as `:connect'."
> +   :group 'erc-autojoin
> +   :type  '(choice (const :tag "On Connection" :connect)
> +                 (const :tag "When Identified" :ident)))
> +
> + (defcustom erc-autojoin-delay 30
> +   "Number of seconds to wait before attempting to autojoin channels.
> + This only takes effect if `erc-autojoin-timing' is `:ident'.
> + If NickServ identification occurs before this delay expires, ERC
> + autojoins immediately at that time."
> +   :group 'erc-autojoin
> +   :type  'integer)
> +
>  (defcustom erc-autojoin-domain-only t
>    "Truncate host name to the domain name when joining a server.
>  If non-nil, and a channel on the server a.b.c is joined, then
> ***************
> *** 75,86 ****
>    :group 'erc-autojoin
>    :type 'boolean)
>
>  (defun erc-autojoin-channels (server nick)
>    "Autojoin channels in `erc-autojoin-channels-alist'."
> !   (dolist (l erc-autojoin-channels-alist)
> !     (when (string-match (car l) server)
> !       (dolist (chan (cdr l))
> !       (erc-server-send (concat "join " chan))))))
>
>  (defun erc-autojoin-add (proc parsed)
>    "Add the channel being joined to `erc-autojoin-channels-alist'."
> --- 95,154 ----
>    :group 'erc-autojoin
>    :type 'boolean)
>
> + (defvar erc-autojoin-timer nil)
> + (make-variable-buffer-local 'erc-autojoin-timer)
> +
> + (defun erc-autojoin-channels-delayed (server nick buffer)
> +   "Attempt to autojoin channels.
> + This is called from a timer set up by `erc-autojoin-channels'."
> +   (if erc-autojoin-timer
> +       (setq erc-autojoin-timer
> +           (erc-cancel-timer erc-autojoin-timer)))
> +   (with-current-buffer buffer
> +     ;; Don't kick of another delayed autojoin or try to wait for
> +     ;; another ident response:
> +     (let ((erc-autojoin-delay -1)
> +         (erc-autojoin-timing :connect))
> +       (erc-log "Delayed autojoin started (no ident success detected yet)")
> +       (erc-autojoin-channels server nick))))
> +
> + (defun erc-autojoin-after-ident (network nick)
> +   "Autojoin channels in `erc-autojoin-channels-alist'.
> + This function is run from `erc-nickserv-identified-hook'."
> +   (if erc-autojoin-timer
> +       (setq erc-autojoin-timer
> +           (erc-cancel-timer erc-autojoin-timer)))
> +   (when (eq erc-autojoin-timing :ident)
> +     (let ((server (or erc-server-announced-name erc-session-server))
> +         (joined (mapcar (lambda (buf)
> +                           (with-current-buffer buf (erc-default-target)))
> +                         (erc-channel-list erc-server-process))))
> +       ;; We may already be in these channels, e.g. because the
> +       ;; autojoin timer went off.
> +       (dolist (l erc-autojoin-channels-alist)
> +       (when (string-match (car l) server)
> +         (dolist (chan (cdr l))
> +           (unless (erc-member-ignore-case chan joined)
> +             (erc-server-send (concat "join " chan))))))))
> +   nil)
> +
>  (defun erc-autojoin-channels (server nick)
>    "Autojoin channels in `erc-autojoin-channels-alist'."
> !   (if (eq erc-autojoin-timing :ident)
> !       ;; Prepare the delayed autojoin timer, in case ident doesn't
> !       ;; happen within the allotted time limit:
> !       (when (> erc-autojoin-delay 0)
> !       (setq erc-autojoin-timer
> !             (run-with-timer erc-autojoin-delay nil
> !                             'erc-autojoin-channels-delayed
> !                             server nick (current-buffer))))
> !     ;; `erc-autojoin-timing' is `:connect':
> !     (dolist (l erc-autojoin-channels-alist)
> !       (when (string-match (car l) server)
> !       (dolist (chan (cdr l))
> !         (erc-server-send (concat "join " chan))))))
> !   ;; Return nil to avoid stomping on any other hook funcs.
> !   nil)
>
>  (defun erc-autojoin-add (proc parsed)
>    "Add the channel being joined to `erc-autojoin-channels-alist'."
>



-- 
Michael Olson  |  http://mwolson.org/





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#5521: 23.1; erc - allow autojoin to be delayed till after services  ident
       [not found]   ` <AANLkTimNL_9MS9bAQcp6Bc3d_n6A9JyUBA1lY3TSjjX7@mail.gmail.com>
@ 2010-08-14 22:58     ` Chong Yidong
  0 siblings, 0 replies; 7+ messages in thread
From: Chong Yidong @ 2010-08-14 22:58 UTC (permalink / raw)
  To: Michael Olson; +Cc: Giorgos Keramidas, ERC Discussion, 5521, Vivek Dasmohapatra

Michael Olson <mwolson@gnu.org> writes:

> Looks generally OK to me, though I've stepped down as the maintainer
> of ERC.  Forwarding on to the ERC discussion list and the new
> maintainer Giorgos.
>
> One change I would recommend is to change :connect and :ident to be in
> normal symbol form ('connect and 'ident) for consistency with the rest
> of ERC's code.

Since there hasn't been any further response, I have checked the patch
into the version of ERC in Emacs, with the changes you suggested.
Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-08-14 22:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-04  2:58 bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Vivek Dasmohapatra
2010-02-07 17:41 ` bug#5521: Works for me Phil Hagelberg
2010-06-27 12:36 ` bug#5521: Deniz Dogan
2010-07-16 16:24 ` bug#5521: Seems to work Criveti Mihai
2010-07-17 23:37 ` bug#5521: 23.1; erc - allow autojoin to be delayed till after services ident Chong Yidong
2010-07-18  4:21   ` Michael Olson
     [not found]   ` <AANLkTimNL_9MS9bAQcp6Bc3d_n6A9JyUBA1lY3TSjjX7@mail.gmail.com>
2010-08-14 22:58     ` Chong Yidong

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).