* riece-commands.el (riece-command-join): Abolished prefix-arg
[riece] / lisp / riece-commands.el
index 0e31a64..2175264 100644 (file)
@@ -278,7 +278,7 @@ the layout to the selected layout-name."
   (if (equal change "")
       (riece-send-string (format "MODE %s\r\n"
                                 (riece-identity-prefix channel)))
-    (riece-send-string (format "MODE %s :%s\r\n"
+    (riece-send-string (format "MODE %s %s\r\n"
                               (riece-identity-prefix channel)
                               change))))
 
@@ -398,11 +398,13 @@ the layout to the selected layout-name."
 (defun riece-command-enter-message-to-user (user)
   "Send the current line to USER."
   (interactive
-   (let ((completion-ignore-case t))
-     (list (riece-completing-read-identity
-           "Message to user: "
-           (riece-get-users-on-server (riece-current-server-name))
-           nil nil nil nil nil t))))
+   (if (and (bolp) (eolp))
+       (error "No text to send")
+     (let ((completion-ignore-case t))
+       (list (riece-completing-read-identity
+             "Message to user: "
+             (riece-get-users-on-server (riece-current-server-name))
+             nil nil nil nil nil t)))))
   (let ((text (buffer-substring
               (riece-line-beginning-position)
               (riece-line-end-position))))
@@ -433,32 +435,25 @@ the layout to the selected layout-name."
       (riece-join-channel target)
       (riece-switch-to-channel target))))
 
-(defun riece-command-join (target &optional key)
+(defun riece-command-join (target)
   (interactive
-   (let* ((completion-ignore-case t)
-         (target
-          (if riece-join-channel-candidate
-              (let ((default (riece-format-identity
-                              riece-join-channel-candidate)))
-                (riece-completing-read-identity
-                 (format "Join channel/user (default %s): " default)
-                 (riece-get-identities-on-server (riece-current-server-name))
-                 nil nil nil nil default))
-            (riece-completing-read-identity
-             "Join channel/user: "
-             (riece-get-identities-on-server (riece-current-server-name)))))
-         key)
-     (if (and current-prefix-arg
-             (riece-channel-p (riece-identity-prefix target)))
-        (setq key
-              (riece-read-passwd (format "Key for %s: "
-                                         (riece-format-identity target)))))
-     (list target key)))
+   (let ((completion-ignore-case t))
+     (list
+      (if riece-join-channel-candidate
+         (let ((default (riece-format-identity
+                         riece-join-channel-candidate)))
+           (riece-completing-read-identity
+            (format "Join channel/user (default %s): " default)
+            (riece-get-identities-on-server (riece-current-server-name))
+            nil nil nil nil default))
+       (riece-completing-read-identity
+        "Join channel/user: "
+        (riece-get-identities-on-server (riece-current-server-name)))))))
   (let ((pointer (riece-identity-member target riece-current-channels)))
     (if pointer
        (riece-command-switch-to-channel (car pointer))
       (if (riece-channel-p (riece-identity-prefix target))
-         (riece-command-join-channel target key)
+         (riece-command-join-channel target nil)
        (riece-command-join-partner target)))))
 
 (defun riece-command-part-channel (target message)
@@ -625,8 +620,23 @@ If prefix argument ARG is non-nil, toggle frozen status."
   (interactive "sIRC command: ")
   (riece-send-string (concat command "\r\n")))
 
+(defun riece-command-beginning-of-buffer ()
+  "Scroll channel buffer to the beginning."
+  (interactive)
+  (let (buffer window)
+    (setq buffer (if riece-channel-buffer-mode
+                    riece-channel-buffer
+                  riece-dialogue-buffer))
+    (or (setq window (get-buffer-window buffer))
+       (setq window (get-buffer-window riece-dialogue-buffer)
+             buffer riece-dialogue-buffer))
+    (when window
+      (save-selected-window
+       (select-window window)
+       (goto-char (point-min))))))
+
 (defun riece-command-end-of-buffer ()
-  "Get end of the dialogue buffer."
+  "Scroll channel buffer to the end."
   (interactive)
   (let (buffer window)
     (setq buffer (if riece-channel-buffer-mode
@@ -653,7 +663,7 @@ If prefix argument ARG is non-nil, toggle frozen status."
                          (list (riece-format-identity user t)))
                        (riece-get-users-on-server
                         (riece-current-server-name))))
-        (current (current-word))
+        (current (or (current-word) ""))
         (completion (try-completion current table))
         (all (all-completions current table)))
     (if (eq completion t)
@@ -663,6 +673,7 @@ If prefix argument ARG is non-nil, toggle frozen status."
        (if (equal current completion)
            (with-output-to-temp-buffer "*Help*"
              (display-completion-list all))
+         (re-search-forward "\\>" nil t)
          (delete-region (point) (- (point) (length current)))
          (insert completion))))))