]> code.delx.au - gnu-emacs/blobdiff - lisp/erc/erc-match.el
Aidan Gauland <aidalgol@no8wireless.co.nz>
[gnu-emacs] / lisp / erc / erc-match.el
index 7ca86b5ac955f6582dc091e6f10299e975f2fac5..1da838557f7ab790c79bcf0c781bdca34aa3ba30 100644 (file)
@@ -447,16 +447,24 @@ Use this defun with `erc-insert-modify-hook'."
                        (nth 0 (erc-parse-user nickuserhost))))
         (old-pt (point))
         (nick-beg (and nickname
-                       (re-search-forward (regexp-quote nickname)
+                       (re-search-forward "\\(\\* \\)?"(regexp-quote nickname)
                                           (point-max) t)
                        (match-beginning 0)))
         (nick-end (when nick-beg
                     (match-end 0)))
-        (message (buffer-substring (if (and nick-end
-                                            (<= (+ 2 nick-end) (point-max)))
-                                       (+ 2 nick-end)
-                                     (point-min))
-                                   (point-max))))
+        (message (buffer-substring
+                  (if (and nick-end
+                           (<= (+ 2 nick-end) (point-max)))
+                      (+ nick-end
+                         ;; Message starts 2 characters after the nick except
+                         ;; for CTCP ACTION messages.
+                         (if (string= "* "
+                                      (buffer-substring (- nick-beg 2)
+                                                        nick-beg))
+                             1
+                           2))
+                    (point-min))
+                  (point-max))))
     (when (and vector
               (not (and erc-match-exclude-server-buffer
                         (erc-server-buffer-p))))