irc - revamp getting, switching to server buffer

This commit is contained in:
Kashish Sharma 2016-09-28 19:01:27 +05:30
parent 6dfa70b1d8
commit 46bc08eb49
1 changed files with 17 additions and 5 deletions

View File

@ -76,12 +76,24 @@ value for `erc-generate-log-file-name-function'."
(add-hook 'erc-mode-hook (lambda () (setq erc-ignore-list '("*!csmr@kapsi.fi")))))
(autoload 'erc "erc" "ERC." t)
;; erc-server-buffer-p is the first ERC function called by
;; cp-erc-freenode, which is what I use to start ERC
(autoload 'erc-server-buffer-p "erc" "ERC." t)
(defun cp-erc-irc-buffer ()
(cp-get-buffer-regexp "^irc"))
;; (let ((results (remove-if-not (lambda (a)
;; (string-match regexp a))
;; (mapcar #'buffer-name (buffer-list)))))
;; (if all results (car results)))
;; (defun cp-erc-server-buffer ()
;; (cp-get-buffer-regexp "^irc"))
(defun cp-erc-server-buffer (&optional all)
(let ((results (remove-if-not #'erc-server-buffer-p
(buffer-list))))
(if all results (car results))))
(defun cp-erc-freenode ()
(interactive)
(let ((bufname (cp-erc-irc-buffer)))
(let ((bufname (cp-erc-server-buffer)))
(if bufname
(switch-to-buffer bufname)
(erc :server "irc.freenode.net"
@ -91,11 +103,11 @@ value for `erc-generate-log-file-name-function'."
(interactive)
(if (equal major-mode 'erc-mode)
(erc-server-reconnect)
(progn (switch-to-buffer (cp-erc-irc-buffer))
(progn (switch-to-buffer (cp-erc-server-buffer))
(erc-server-reconnect))))
(defun cp-erc-ghost ()
(interactive)
(switch-to-buffer (cp-erc-irc-buffer))
;; (cp-erc-server-buffer)
(erc-message "PRIVMSG" "NickServ GHOST contrapunctus")
(erc-cmd-NICK "contrapunctus"))
(defun cp-erc-toggle-autojoin ()