]> git.eshelyaron.com Git - emacs.git/commitdiff
Recognize quoted commands in rcirc-process-input-line
authorPhilip Kaludercic <philipk@posteo.net>
Wed, 9 Jun 2021 14:17:48 +0000 (16:17 +0200)
committerPhilip Kaludercic <philipk@posteo.net>
Wed, 9 Jun 2021 16:20:21 +0000 (18:20 +0200)
* rcirc.el (rcirc-process-input-line): Check for quoted commands
(rcirc-process-command): Don't check for quoted commands

lisp/net/rcirc.el

index bc7d89c78f90466da876eb83b8c0b83ad746aae0..b919e03dce61c2cc24c64416bd3f1c673ac733d2 100644 (file)
@@ -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.")