;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/erc/erc-connect.el (require 'cl-lib) (require 'erc) (require 'erc-incal) (require 'erc-kill) (require 'erc-scroll) (require 'string) (declare-function erc-get-connect-servers nil) (defun erc-connect-to-server (&optional srv passwd) (interactive "sserver: \nspassword: ") (let ((srv-data (erc-get-connect-servers))) (if (string-data-p srv) (if (string-data-p passwd) (erc-tls :server srv :passwd passwd) (erc-tls :server srv)) (cl-loop for (server pass conn) in srv-data do (when conn (if pass (erc-tls :server server :password pass) (erc-tls :server server) )))))) (defun erc-goto-irc (&optional connect) (interactive "P") (let ((irc-buffer (car (erc-buffer-list)))) (if (not irc-buffer) (if (equal connect '(16)) (erc-connect-to-server) (message "%s %s %s to connect" #1=(substitute-command-keys "\\[universal-argument]") #1# (substitute-command-keys (format "\\[%s]" this-command)) )) (switch-to-erc-buffer irc-buffer) ))) (provide 'erc-connect)