]> git.eshelyaron.com Git - emacs.git/commitdiff
rcirc update.
authorRyan Yeske <rcyeske@gmail.com>
Tue, 25 May 2010 03:35:31 +0000 (20:35 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 25 May 2010 03:35:31 +0000 (20:35 -0700)
* 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.

lisp/ChangeLog
lisp/net/rcirc.el

index d1e92618df4178b0754686e18e508b25c5930919..ce43abed572eab8709ba02a1fe68ce2b483a47ee 100644 (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.
index 28ce219fadef3341ac4845e92a38ab6d145649d9..474b5be1b06ef34b986fd25bd433daed5fc5da8b 100644 (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