X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-commands.el;h=3a80f991b8253184621dc9c099c74429fd0ebdb4;hp=76b0e30c8f984c47da37c8aa99095988e4869503;hb=054dd7af144ca7d663ec5551c0bb609067f4e87a;hpb=f8fb5a84f0fad33193354a469c2d54fdb7340286 diff --git a/lisp/riece-commands.el b/lisp/riece-commands.el index 76b0e30..3a80f99 100644 --- a/lisp/riece-commands.el +++ b/lisp/riece-commands.el @@ -148,7 +148,8 @@ the layout to the selected layout-name." (let* ((completion-ignore-case t) (user (riece-completing-read-identity "Finger user: " - (riece-get-users-on-server (riece-current-server-name))))) + (riece-get-users-on-server (riece-current-server-name)) + nil nil nil nil nil t))) (list user current-prefix-arg))) (if recurse (riece-send-string (format "WHOIS %s %s\r\n" @@ -179,7 +180,8 @@ the layout to the selected layout-name." (riece-check-channel-commands-are-usable t) (list (riece-completing-read-identity "Invite user: " - (riece-get-users-on-server (riece-current-server-name)))))) + (riece-get-users-on-server (riece-current-server-name)) + nil nil nil nil nil t)))) (riece-send-string (format "INVITE %s %s\r\n" (riece-identity-prefix user) (riece-identity-prefix riece-current-channel)))) @@ -254,7 +256,8 @@ the layout to the selected layout-name." (if current-prefix-arg (riece-completing-read-identity "Change mode for channel/user: " - (riece-get-identities-on-server (riece-current-server-name))) + (riece-get-identities-on-server (riece-current-server-name)) + nil nil nil nil nil t) (riece-check-channel-commands-are-usable t) riece-current-channel)) (riece-overriding-server-name (riece-identity-server channel)) @@ -272,8 +275,12 @@ the layout to the selected layout-name." (concat (riece-concat-channel-modes channel "Mode (? for help)") ": ") nil riece-minibuffer-map)))) - (riece-send-string (format "MODE %s :%s\r\n" (riece-identity-prefix channel) - change))) + (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-identity-prefix channel) + change)))) (defun riece-command-set-operators (users &optional arg) (interactive @@ -347,6 +354,7 @@ the layout to the selected layout-name." (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) @@ -390,10 +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)))))) + (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)))) @@ -616,8 +627,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 @@ -644,7 +670,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) @@ -654,9 +680,10 @@ 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)))))) - + (defun riece-command-open-server (server-name) (interactive (list (completing-read "Open server: " riece-server-alist)))