]> 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 f121942736031ad23d1fd6fa8f4c448aa31fab76..1da838557f7ab790c79bcf0c781bdca34aa3ba30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-match.el --- Highlight messages matching certain regexps
 
-;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2013 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Maintainer: FSF
@@ -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))))