Function: erc-handle-irc-url

erc-handle-irc-url is a byte-compiled function defined in erc.el.gz.

Signature

(erc-handle-irc-url HOST PORT CHANNEL USER PASSWORD)

Documentation

Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD.

If ERC is already connected to HOST:PORT, simply /join CHANNEL. Otherwise, connect to HOST:PORT as USER and /join CHANNEL.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
;; Teach url.el how to open irc:// URLs with ERC.
;; To activate, customize `url-irc-function' to `url-irc-erc'.

;;;###autoload
(defun erc-handle-irc-url (host port channel user password)
  "Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD.
If ERC is already connected to HOST:PORT, simply /join CHANNEL.
Otherwise, connect to HOST:PORT as USER and /join CHANNEL."
  (let ((server-buffer
         (car (erc-buffer-filter
               (lambda ()
                 (and (string-equal erc-session-server host)
                      (= erc-session-port port)
                      (erc-open-server-buffer-p)))))))
    (with-current-buffer (or server-buffer (current-buffer))
      (if (and server-buffer channel)
          (erc-cmd-JOIN channel)
        (erc-open host port (or user (erc-compute-nick)) (erc-compute-full-name)
                  (not server-buffer) password nil channel
                  (when server-buffer
                    (get-buffer-process server-buffer)))))))