Function: erc-netsplit-QUIT

erc-netsplit-QUIT is a byte-compiled function defined in erc-netsplit.el.gz.

Signature

(erc-netsplit-QUIT PROC PARSED)

Documentation

Detect netsplits.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-netsplit.el.gz
(defun erc-netsplit-QUIT (proc parsed)
  "Detect netsplits."
  (let ((split (erc-response.contents parsed))
	(nick (erc-response.sender parsed))
	ass)
    (when (string-match erc-netsplit-regexp split)
      (setq ass (assoc split erc-netsplit-list))
      (if ass
	  ;; element for this netsplit exists already
	  (progn
	    (setcdr (nthcdr 2 ass) (cons nick (nthcdr 3 ass)))
	    (when (nth 2 ass)
	      ;; There was already a netjoin for this netsplit, it
	      ;; seems like the old one didn't get finished...
	      (erc-display-message
	       parsed 'notice (process-buffer proc)
	       'netsplit ?s split)
	      (setcar (nthcdr 2 ass) t)
	      (run-hook-with-args 'erc-netsplit-hook proc split)))
	;; element for this netsplit does not yet exist
	(setq erc-netsplit-list
	      (cons (list split
			  (erc-current-time)
			  nil
			  nick)
		    erc-netsplit-list))
	(erc-display-message
	 parsed 'notice (process-buffer proc)
	 'netsplit ?s split)
	(run-hook-with-args 'erc-netsplit-hook proc split))
      t)))