rcirc update.

* lisp/net/rcirc.el (rcirc-server-alist): Add :pass.
(rcirc-default-user-name): Change to "user".
(rcirc-default-full-name): Change to "unknown".
(rcirc-user-name-history): Add variable.
(rcirc): When prompting for connection paramaters, also prompt for
username and password.
(rcirc-connect): Take a PASS argument.	If PASS is non-nil, send
value to server when connecting.
This commit is contained in:
Ryan Yeske 2010-05-24 20:35:31 -07:00 committed by Glenn Morris
parent f5228f8490
commit d26781afb9
2 changed files with 35 additions and 10 deletions

View file

@ -1,3 +1,14 @@
2010-05-25 Ryan Yeske <rcyeske@gmail.com>
* net/rcirc.el (rcirc-server-alist): Add :pass.
(rcirc-default-user-name): Change to "user".
(rcirc-default-full-name): Change to "unknown".
(rcirc-user-name-history): Add variable.
(rcirc): When prompting for connection paramaters, also prompt for
username and password.
(rcirc-connect): Take a PASS argument. If PASS is non-nil, send
value to server when connecting.
2010-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/smie.el (smie-set-prec2tab): Check override before use.

View file

@ -85,6 +85,10 @@ used.
VALUE must be a string. If absent, `rcirc-default-full-name' is
used.
`:pass'
VALUE must be a string.
`:channels'
VALUE must be a list of strings describing which channels to join
@ -95,6 +99,7 @@ connected to automatically."
(:port integer)
(:user-name string)
(:full-name string)
(:pass string)
(:channels (repeat string)))))
:group 'rcirc)
@ -108,14 +113,12 @@ connected to automatically."
:type 'string
:group 'rcirc)
(defcustom rcirc-default-user-name (user-login-name)
(defcustom rcirc-default-user-name "user"
"Your user name sent to the server when connecting."
:type 'string
:group 'rcirc)
(defcustom rcirc-default-full-name (if (string= (user-full-name) "")
rcirc-default-user-name
(user-full-name))
(defcustom rcirc-default-full-name "unknown"
"The full name sent to the server when connecting."
:type 'string
:group 'rcirc)
@ -369,6 +372,9 @@ and the cdr part is used for encoding."
(defvar rcirc-nick-name-history nil
"History variable for \\[rcirc] call.")
(defvar rcirc-user-name-history nil
"History variable for \\[rcirc] call.")
;;;###autoload
(defun rcirc (arg)
"Connect to all servers in `rcirc-server-alist'.
@ -393,6 +399,12 @@ If ARG is non-nil, instead prompt for connection parameters."
(or (plist-get server-plist :nick)
rcirc-default-nick)
'rcirc-nick-name-history))
(user-name (read-string "IRC Username: "
(or (plist-get server-plist :user-name)
rcirc-default-user-name)
'rcirc-user-name-history))
(pass (read-passwd "IRC Password: " nil
(plist-get server-plist :pass)))
(channels (split-string
(read-string "IRC Channels: "
(mapconcat 'identity
@ -400,7 +412,7 @@ If ARG is non-nil, instead prompt for connection parameters."
:channels)
" "))
"[, ]+" t)))
(rcirc-connect server port nick rcirc-default-user-name
(rcirc-connect server port nick user-name pass
rcirc-default-full-name
channels))
;; connect to servers in `rcirc-server-alist'
@ -411,6 +423,7 @@ If ARG is non-nil, instead prompt for connection parameters."
(port (or (plist-get (cdr c) :port) rcirc-default-port))
(user-name (or (plist-get (cdr c) :user-name)
rcirc-default-user-name))
(pass (plist-get (cdr c) :pass))
(full-name (or (plist-get (cdr c) :full-name)
rcirc-default-full-name))
(channels (plist-get (cdr c) :channels)))
@ -421,7 +434,7 @@ If ARG is non-nil, instead prompt for connection parameters."
(setq connected p)))
(if (not connected)
(condition-case e
(rcirc-connect server port nick user-name
(rcirc-connect server port nick user-name pass
full-name channels)
(quit (message "Quit connecting to %s" server)))
(with-current-buffer (process-buffer connected)
@ -453,8 +466,8 @@ If ARG is non-nil, instead prompt for connection parameters."
(defvar rcirc-process nil)
;;;###autoload
(defun rcirc-connect (server &optional port nick user-name full-name
startup-channels)
(defun rcirc-connect (server &optional port nick user-name pass
full-name startup-channels)
(save-excursion
(message "Connecting to %s..." server)
(let* ((inhibit-eol-conversion)
@ -503,10 +516,11 @@ If ARG is non-nil, instead prompt for connection parameters."
(add-hook 'auto-save-hook 'rcirc-log-write)
;; identify
(when pass
(rcirc-send-string process (concat "PASS " pass)))
(rcirc-send-string process (concat "NICK " nick))
(rcirc-send-string process (concat "USER " user-name
" hostname servername :"
full-name))
" 0 * :" full-name))
;; setup ping timer if necessary
(unless rcirc-keepalive-timer