Commit 2131c501 authored by Michael Olson's avatar Michael Olson
Browse files

Sync from upstream ERC

 - Parse 307 (nick has identified) responses.
 - Only activate some things if the connection has been established.
parent b510360c
2007-11-29 Giorgos Keramidas <>
* erc-backend.el, erc.el:
Parse 307 (nick has identified) responses.
2007-11-15 Juanma Barranquero <>
* erc.el (erc-open):
......@@ -5,6 +10,17 @@
* erc-log.el (log):
* erc-match.el (erc-log-matches): Fix typos in docstrings.
2007-11-11 Michael Olson <>
* 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 <>
* erc-compat.el (erc-set-write-file-functions): New compatibility
......@@ -248,7 +248,8 @@ exceeds `erc-autoaway-idle-seconds'."
;; 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
(not erc-autoaway-caused-away)
(let ((idle-time (erc-time-diff erc-autoaway-last-sent-time
......@@ -1564,6 +1564,16 @@ See `erc-display-server-message'." nil
(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))
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))
......@@ -173,13 +173,14 @@ join from that split has been detected or not.")
(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
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
nil 'notice (current-buffer)
(concat "Netsplit: Removing " (car elt))))
(setq erc-netsplit-list (delq elt erc-netsplit-list))))))
(defun erc-cmd-WHOLEFT ()
......@@ -111,7 +111,8 @@ changes."
;;;; Timer handler
(defun erc-notify-timer (now)
(when (and erc-notify-list
(when (and erc-server-connected
(> (erc-time-diff
erc-last-ison-time now)
......@@ -665,8 +665,9 @@ only consider active buffers visible.")
(defun erc-user-is-active (&rest ignore)
"Set `erc-buffer-activity'."
(setq erc-buffer-activity (erc-current-time))
(when erc-server-connected
(setq erc-buffer-activity (erc-current-time))
(defun erc-track-get-buffer-window (buffer frame-param)
(if (eq frame-param 'selected-visible)
......@@ -6205,6 +6205,7 @@ All windows are opened in the current frame."
(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")
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment