diff -u -L /usr/share/emacs/22.2/lisp/erc/erc.el.gz -L /tmp/buffer-content-85289X1 /tmp/jka-com8528vhE /tmp/buffer-content-85289X1 --- /usr/share/emacs/22.2/lisp/erc/erc.el.gz +++ /tmp/buffer-content-85289X1 @@ -2228,7 +2228,7 @@ (interactive "P") (let* ((buf (get-buffer-create "*erc-protocol*"))) (with-current-buffer buf - (erc-view-mode-enter 1) + (erc-view-mode-enter) (when (null (current-local-map)) (let ((inhibit-read-only t)) (insert (erc-make-notice "This buffer displays all IRC protocol traffic exchanged with each server.\n")) @@ -4932,7 +4932,9 @@ erc-input-marker (erc-end-of-input-line))) -(defvar erc-command-regexp "^/\\([A-Za-z]+\\)\\(\\s-+.*\\|\\s-*\\)$" +;(defvar erc-command-regexp "^/\\([A-Za-z]+\\)\\(\\s-+.*\\|\\s-*\\)$" +(defvar erc-command-regexp + "^/\\([A-Za-z]+\\)\\(\\s-+\\S-\\(?:.\\|\n\\)*?\\|\\s-*\\)\n?\\'" "Regular expression used for matching commands in ERC.") (defun erc-send-input (input) @@ -4955,8 +4957,7 @@ (setq erc-send-this t) (run-hook-with-args 'erc-send-pre-hook input) (when erc-send-this - (if (or (string-match "\n" str) - (not (string-match erc-command-regexp str))) + (if (not (string-match erc-command-regexp str)) (mapc (lambda (line) (mapc @@ -5033,6 +5034,8 @@ (delete "" (split-string (erc-trim-string (match-string 2 line)) " "))) line))) + (message "erc-extract-command-from-line: raw args: %S" line) + (message "erc-extract-command-from-line: args: %S" arg ) (list cmd-fun arg)))) (defun erc-split-multiline-safe (string) Diff finished. Sun May 3 14:17:53 2009