Function: rcirc-handler-JOIN

rcirc-handler-JOIN is a byte-compiled function defined in rcirc.el.gz.

Signature

(rcirc-handler-JOIN PROCESS SENDER ARGS TEXT)

Documentation

Handle JOIN message from SENDER.

ARGS should have the form (CHANNEL). PROCESS is the process object for the current connection.

Source Code

;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defun rcirc-handler-JOIN (process sender args _text)
  "Handle JOIN message from SENDER.
ARGS should have the form (CHANNEL).
PROCESS is the process object for the current
connection."
  (let ((channel (car args)))
    (with-current-buffer (rcirc-get-buffer-create process channel)
      ;; when recently rejoining, restore the linestamp
      (rcirc-put-nick-channel process sender channel
			      (let ((last-activity-lines
				     (rcirc-elapsed-lines process sender channel)))
				(when (and last-activity-lines
					   (< last-activity-lines rcirc-omit-threshold))
                                  (rcirc-last-line process sender channel))))
      ;; reset mode-line-process in case joining a channel with an
      ;; already open buffer (after getting kicked e.g.)
      (setq mode-line-process nil))

    (rcirc-print process sender "JOIN" (funcall rcirc-channel-filter channel) "")

    ;; print in private chat buffer if it exists
    (when (rcirc-get-buffer (rcirc-buffer-process) sender)
      (rcirc-print process sender "JOIN" sender (funcall rcirc-channel-filter channel)))))