(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))))
(defun riece-command-send-message (message notice)
"Send MESSAGE to the current channel."
+ (run-hooks 'riece-command-send-message-hook)
(if (equal message "")
(error "No text to send"))
(riece-check-channel-commands-are-usable)
(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))))
(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)
(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
(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)
(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))))))