Function: erc-netsplit-JOIN

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

Signature

(erc-netsplit-JOIN PROC PARSED)

Documentation

Show/don't show rejoins.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-netsplit.el.gz
(defun erc-netsplit-JOIN (proc parsed)
  "Show/don't show rejoins."
  (let ((nick (erc-response.sender parsed))
	(no-next-hook nil))
    (dolist (elt erc-netsplit-list)
      (if (member nick (nthcdr 3 elt))
	  (progn
	    (if (not (nth 2 elt))
		(progn
		  (erc-display-message
		   parsed 'notice (process-buffer proc)
		   'netjoin ?s (car elt) ?N (length (nthcdr 3 elt)))
		  (setcar (nthcdr 2 elt) t)
		  (run-hook-with-args 'erc-netjoin-hook proc (car elt))))
	    ;; need to remove this nick, perhaps the whole entry here.
	    ;; Note that by removing the nick now, we can't tell if further
	    ;; join messages (for other channels) should also be
	    ;; suppressed.
	    (if (null (nthcdr 4 elt))
		(progn
		  (erc-display-message
		   parsed 'notice (process-buffer proc)
		   'netjoin-done ?s (car elt))
		  (setq erc-netsplit-list (delq elt erc-netsplit-list)))
              ;; Avoid `ignored-return-value' warning for `delete'.
              (let ((tail (nthcdr 2 elt))) ; (t n1 ... nN)
                (setcdr tail (delete nick (cdr tail)))))
	    (setq no-next-hook t))))
    no-next-hook))