--- src/m4.lang.orig	2017-02-10 23:19:41.784850700 +0900
+++ src/m4.lang	2017-02-11 18:59:02.720584100 +0900
@@ -6,8 +6,11 @@
   include "url.lang"
   include "html_simple.lang"
   type = '@[[:alpha:]]+'
+  # avoid non-word character not include in urls etc in front of urls etc
+  # be caputured prefixes
+  comment = '[^[:word:]]'
   # everything else is a comment
-  comment = '.+'
+  comment = '[[:word:]]+'
 end
 
 comment start "#"
--- tests/test.m4.orig	2017-02-11 02:24:35.582379600 +0900
+++ tests/test.m4	2017-02-11 18:34:12.813176700 +0900
@@ -1,3 +1,15 @@
+dnl <foo@bar.example.org> xxxxx
+dnl xxxxx <foo@bar.example.org>
+dnl http://www.example.org/bar xxxxx
+dnl xxxxx http://www.example.org/bar
+dnl (http://www.example.org/bar) xxxxx
+dnl xxxxx (http://www.example.org/bar)
+dnl <style>xxxxx</style> xxxxx
+dnl xxxxx <style>xxxxx</style> xxxxx
+dnl xxxxx @synopsis AC_CTAGS_FLAGS
+dnl (@synopsis) AC_CTAGS_FLAGS
+dnl xxxxx (@synopsis) AC_CTAGS_FLAGS
+
 dnl @synopsis AC_CTAGS_FLAGS
 dnl
 dnl check whether it's the correct version of ctags
--- tests/test.m4.html.orig	2017-02-11 01:03:56.623607000 +0900
+++ tests/test.m4.html	2017-02-11 18:36:24.079500800 +0900
@@ -2,7 +2,19 @@
 by Lorenzo Bettini
 http://www.lorenzobettini.it
 http://www.gnu.org/software/src-highlite -->
-<pre><tt><b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> </font></i><font color="#009900">@synopsis</font><i><font color="#9A1900"> AC_CTAGS_FLAGS</font></i>
+<pre><tt><b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> </font></i><u><font color="#0000FF">&lt;foo@bar.example.org&gt;</font></u><i><font color="#9A1900"> xxxxx</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx </font></i><u><font color="#0000FF">&lt;foo@bar.example.org&gt;</font></u>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> </font></i><u><font color="#0000FF">http://www.example.org/bar</font></u><i><font color="#9A1900"> xxxxx</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx </font></i><u><font color="#0000FF">http://www.example.org/bar</font></u>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> (</font></i><u><font color="#0000FF">http://www.example.org/bar</font></u><i><font color="#9A1900">) xxxxx</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx (</font></i><u><font color="#0000FF">http://www.example.org/bar</font></u><i><font color="#9A1900">)</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> </font></i><b><font color="#0000FF">&lt;style&gt;</font></b>xxxxx<b><font color="#0000FF">&lt;/style&gt;</font></b><i><font color="#9A1900"> xxxxx</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx </font></i><b><font color="#0000FF">&lt;style&gt;</font></b>xxxxx<b><font color="#0000FF">&lt;/style&gt;</font></b><i><font color="#9A1900"> xxxxx</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx </font></i><font color="#009900">@synopsis</font><i><font color="#9A1900"> AC_CTAGS_FLAGS</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> (</font></i><font color="#009900">@synopsis</font><i><font color="#9A1900">) AC_CTAGS_FLAGS</font></i>
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> xxxxx (</font></i><font color="#009900">@synopsis</font><i><font color="#9A1900">) AC_CTAGS_FLAGS</font></i>
+
+<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> </font></i><font color="#009900">@synopsis</font><i><font color="#9A1900"> AC_CTAGS_FLAGS</font></i>
 <b><font color="#0000FF">dnl</font></b>
 <b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> check whether it's the correct version of ctags</font></i>
 
--- doc/source-highlight.texi.orig	2015-03-31 03:11:11.000000000 +0900
+++ doc/source-highlight.texi	2017-02-11 19:05:17.771109200 +0900
@@ -2474,16 +2474,21 @@
   # avoid spaces in front of urls or @@[[:alpha:]]+ be captured as prefixes
   comment = '[[:blank:]]+'
   include "url.lang"
-  include "html.lang"
+  include "html_simple.lang"
   type = '@@[[:alpha:]]+'
+  # avoid non-word characters not include in urls etc in front of urls etc
+  # be captured prefixes
+  comment = '[^[:word:]]'
   # everything else is a comment
-  comment = '.+'
+  comment = '[[:word:]]+'
 end
 @end example
 
 Once entered the state, every isolated space character is highlighted as
-a comment; then we have rules for URLs and @@ elements; then everything
-else (@code{.+}) is highlighted as a comment.
+a comment; then we have rules for URLs and @@ elements; then
+(@code{[^[:word]]+}) not include in URLs and @@ elements is highlighted as
+comment; then everything else (@code{[[:word:]]+}) is highlighted as a
+comment.
 
 One might think that a smarter way would be to have simply the following
 definition (after all, why bothering highlighting spaces as comments):
@@ -2493,7 +2498,11 @@
   include "url.lang"
   include "html.lang"
   type = '@@[[:alpha:]]+'
-  comment = '.+'
+  # avoid non-word characters not include in urls etc in front of urls etc
+  # be captured prefixes
+  comment = '[^[:word:]]'
+  # everything else is a comment
+  comment = '[[:word:]]+'
 end
 @end example
 
