From: Philip Kaludercic Date: Wed, 9 Jun 2021 14:17:48 +0000 (+0200) Subject: Recognize quoted commands in rcirc-process-input-line X-Git-Tag: emacs-28.0.90~1748^2~33 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8ea5766050a2bc27ad1166daca3ab2b4707d5728;p=emacs.git Recognize quoted commands in rcirc-process-input-line * rcirc.el (rcirc-process-input-line): Check for quoted commands (rcirc-process-command): Don't check for quoted commands --- diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index bc7d89c78f9..b919e03dce6 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -1380,7 +1380,7 @@ The argument JUSTIFY is passed on to `fill-region'." (defun rcirc-process-input-line (line) "Process LINE as a message or a command." - (if (string-match "^/\\([^ ]+\\) ?\\(.*\\)$" line) + (if (string-match "^/\\([^/ ][^ ]*\\) ?\\(.*\\)$" line) (rcirc-process-command (match-string 1 line) (match-string 2 line) line) @@ -1398,25 +1398,20 @@ The argument JUSTIFY is passed on to `fill-region'." "Process COMMAND with arguments ARGS. LINE is the raw input, from which COMMAND and ARGS was extracted." - (if (eq (aref command 0) ?/) - ;; "//text" will send "/text" as a message - (rcirc-process-message (substring line 1)) - (let ((fun (intern-soft (concat "rcirc-cmd-" command))) - (process (rcirc-buffer-process))) - (newline) - (with-current-buffer (current-buffer) - (delete-region rcirc-prompt-end-marker (point)) - (if (string= command "me") - (rcirc-print process (rcirc-buffer-nick) - "ACTION" rcirc-target args) + (let ((fun (intern-soft (concat "rcirc-cmd-" command))) + (process (rcirc-buffer-process))) + (newline) + (with-current-buffer (current-buffer) + (delete-region rcirc-prompt-end-marker (point)) + (if (string= command "me") (rcirc-print process (rcirc-buffer-nick) - "COMMAND" rcirc-target line)) - (set-marker rcirc-prompt-end-marker (point)) - (if (fboundp fun) - (funcall fun args process rcirc-target) - (rcirc-send-string process - (concat command " :" args))))))) - + "ACTION" rcirc-target args) + (rcirc-print process (rcirc-buffer-nick) + "COMMAND" rcirc-target line)) + (set-marker rcirc-prompt-end-marker (point)) + (if (fboundp fun) + (funcall fun args process rcirc-target) + (rcirc-send-string process command : args))))) (defvar-local rcirc-parent-buffer nil "Message buffer that requested a multiline buffer.")