- Parse 307 (nick has identified) responses.
- Only activate some things if the connection has been established.
+2007-11-29 Giorgos Keramidas <keramida@ceid.upatras.gr>
+
+ * erc-backend.el, erc.el:
+ Parse 307 (nick has identified) responses.
+
2007-11-15 Juanma Barranquero <lekktu@gmail.com>
* erc.el (erc-open):
* erc-log.el (log):
* erc-match.el (erc-log-matches): Fix typos in docstrings.
+2007-11-11 Michael Olson <mwolson@gnu.org>
+
+ * erc-autoaway.el (erc-autoaway-possibly-set-away):
+ * erc-netsplit.el (erc-netsplit-timer):
+ * erc-notify.el (erc-notify-timer):
+ * erc-track.el (erc-user-is-active): Only run if we have
+ successfully established a connection to the server and have
+ logged in. I suspect that sending messages too soon may make some
+ IRC servers not respond well, particularly when the network
+ connection is iffy or subject to traffic-shaping.
+
2007-11-01 Michael Olson <mwolson@gnu.org>
* erc-compat.el (erc-set-write-file-functions): New compatibility
;; A test for (erc-server-process-alive) is not necessary, because
;; this function is called from `erc-timer-hook', which is called
;; whenever the server sends something to the client.
- (when (and erc-auto-set-away
+ (when (and erc-server-connected
+ erc-auto-set-away
(not erc-autoaway-caused-away)
(erc-autoaway-some-open-server-buffer))
(let ((idle-time (erc-time-diff erc-autoaway-last-sent-time
(erc-display-message parsed 'notice 'active
's306 ?m (erc-response.contents parsed)))
+(define-erc-response-handler (307)
+ "Display nick-identified message." nil
+ (multiple-value-bind (nick user message)
+ (cdr (erc-response.command-args parsed))
+ (erc-display-message
+ parsed 'notice 'active 's307
+ ?n nick
+ ?m (mapconcat 'identity (cddr (erc-response.command-args parsed))
+ " "))))
+
(define-erc-response-handler (311 314)
"WHOIS/WHOWAS notices." nil
(let ((fname (erc-response.contents parsed))
(defun erc-netsplit-timer (now)
"Clean cruft from `erc-netsplit-list' older than 10 minutes."
- (dolist (elt erc-netsplit-list)
- (when (> (erc-time-diff (cadr elt) now) 600)
- (when erc-netsplit-debug
- (erc-display-message
- nil 'notice (current-buffer)
- (concat "Netsplit: Removing " (car elt))))
- (setq erc-netsplit-list (delq elt erc-netsplit-list)))))
+ (when erc-server-connected
+ (dolist (elt erc-netsplit-list)
+ (when (> (erc-time-diff (cadr elt) now) 600)
+ (when erc-netsplit-debug
+ (erc-display-message
+ nil 'notice (current-buffer)
+ (concat "Netsplit: Removing " (car elt))))
+ (setq erc-netsplit-list (delq elt erc-netsplit-list))))))
;;;###autoload
(defun erc-cmd-WHOLEFT ()
;;;; Timer handler
(defun erc-notify-timer (now)
- (when (and erc-notify-list
+ (when (and erc-server-connected
+ erc-notify-list
(> (erc-time-diff
erc-last-ison-time now)
erc-notify-interval))
(defun erc-user-is-active (&rest ignore)
"Set `erc-buffer-activity'."
- (setq erc-buffer-activity (erc-current-time))
- (erc-track-modified-channels))
+ (when erc-server-connected
+ (setq erc-buffer-activity (erc-current-time))
+ (erc-track-modified-channels)))
(defun erc-track-get-buffer-window (buffer frame-param)
(if (eq frame-param 'selected-visible)
(s303 . "Is online: %n")
(s305 . "%m")
(s306 . "%m")
+ (s307 . "%n %m")
(s311 . "%n is %f (%u@%h)")
(s312 . "%n is/was on server %s (%c)")
(s313 . "%n is an IRC operator")