+2003-12-15  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-options.el: Require 'riece-version.
+       (riece-quit-message): Set default to (riece-extended-version).
+       (riece-away-message): Set default to "Gone".
+
+       * riece-commands.el: Don't require 'riece-version.
+       (riece-command-quit): Don't check riece-quit-message.
+       (riece-command-close-server): Ditto.
+       (riece-command-toggle-away): Always supply a parameter to the AWAY
+       command when the user is not away.  Thanks to Yuki Fujimura
+       <fujimura@wakhok.ac.jp>
+       [cf. <Liece:00139>]
+
 2003-12-14  Daiki Ueno  <ueno@unixuser.org>
 
        * riece.el (riece): Connect to servers in riece-startup-server-list.
 
 (require 'riece-complete)
 (require 'riece-layout)
 (require 'riece-display)
-(require 'riece-version)
 (require 'riece-server)
 (require 'riece-misc)
 (require 'riece-identity)
                                            (riece-current-nickname))
                   (riece-user-get-away (riece-identity-prefix
                                         (riece-current-nickname)))))
-           (or (null riece-away-message)
-               current-prefix-arg))
-       (let ((message (read-string "Away message: ")))
-        (list message))))
-  (if message
-      (riece-send-string (format "AWAY :%s\r\n" message))
-    (riece-send-string "AWAY\r\n")))
+           current-prefix-arg)
+       (list (read-from-minibuffer
+             "Away message: " (cons (or riece-away-message "") 0)))))
+  (if (riece-with-server-buffer (riece-identity-server
+                                (riece-current-nickname))
+       (riece-user-get-away (riece-identity-prefix
+                             (riece-current-nickname))))
+      (riece-send-string "AWAY\r\n")
+    (riece-send-string (format "AWAY :%s\r\n" (or message
+                                                 riece-away-message)))))
 
 (defun riece-command-toggle-freeze (&optional arg)
   "Prevent automatic scrolling of the dialogue window.
          (let ((message
                 (if arg
                     (read-string "Message: ")
-                  (or riece-quit-message
-                      (riece-extended-version))))
+                  riece-quit-message))
                (alist riece-server-process-alist))
            (while alist
              (riece-quit-server-process (cdr (car alist)) message)
    (list (completing-read "Server: " riece-server-process-alist)
         (if current-prefix-arg
             (read-string "Message: ")
-          (or riece-quit-message
-              (riece-extended-version)))))
+          riece-quit-message)))
   (riece-quit-server-process (riece-server-process server-name) message))
 
 (defun riece-command-universal-server-name-argument ()
 
 
 ;;; Code:
 
+(require 'riece-version)
 (require 'riece-globals)
 
 ;; User modifiable variables.
   :type 'boolean
   :group 'riece-options)
 
-(defcustom riece-quit-message nil
+(defcustom riece-quit-message (riece-extended-version)
   "Default quit message."
-  :type '(radio (string :tag "Quit message"))
+  :type '(string :tag "Quit message")
   :group 'riece-options)
 
-(defcustom riece-away-message nil
+(defcustom riece-away-message "Gone"
   "Default away message."
-  :type '(radio (string :tag "Away message"))
+  :type '(string :tag "Away message")
   :group 'riece-options)
 
 (defcustom riece-gather-channel-modes nil