From: Mark Wooding Date: Wed, 22 Jan 2014 15:56:32 +0000 (+0000) Subject: dot/ercrc.el: Function for looking for things in alists by regexps. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/1cf7ff229a7c7f2fb9e9c543a3dfbe5889ce7ff0?ds=sidebyside;hp=-c dot/ercrc.el: Function for looking for things in alists by regexps. We'll want more of these later. --- 1cf7ff229a7c7f2fb9e9c543a3dfbe5889ce7ff0 diff --git a/dot/ercrc.el b/dot/ercrc.el index 5b573e0..9ed001a 100644 --- a/dot/ercrc.el +++ b/dot/ercrc.el @@ -50,12 +50,20 @@ (defun mdw-define-bot-greeting (server bot greeting) :test #'string= :key #'car)))) (load "~/.erc-auth.el") +(defun mdw-assoc-regexp (regexp alist) + "Return the association in ALIST whose car matches REGEXP." + (let ((answer nil)) + (dolist (l alist) + (when (string-match (car l) regexp) + (setq answer l))) + answer)) + (defun mdw-erc-auto-greet-bots (server nick) "Send greeting message to bots." - (dolist (l mdw-erc-auto-greet-bots-alist) - (when (string-match (car l) server) - (let ((bot (cadr l)) - (message (caddr l))) + (let ((a (mdw-assoc-regexp server mdw-erc-auto-greet-bots-alist))) + (when a + (let ((bot (cadr a)) + (message (caddr a))) (erc-server-send (concat "PRIVMSG " bot " :" message)))))) (add-hook 'erc-after-connect 'mdw-erc-auto-greet-bots)