--- src/m4.lang.orig	2017-02-10 23:19:41.784850700 +0900
+++ src/m4.lang	2017-02-11 02:55:28.074336100 +0900
@@ -1,13 +1,16 @@
 # language definition for m4 files
 
 state keyword start "dnl" begin
-  # avoid spaces in front of urls or @[[:alpha:]]+ be caputured as prefixes
+  # avoid space in front of urls or @[[:alpha:]]+ be caputured as prefixes
   comment = '[[:blank:]]+'
   include "url.lang"
   include "html_simple.lang"
   type = '@[[:alpha:]]+'
+  # avoid non-word characters 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 02:00:52.420979400 +0900
@@ -1,3 +1,13 @@
+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
 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 02:20:17.006589900 +0900
@@ -2,7 +2,17 @@
 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>
 <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 02:47:16.834238800 +0900
@@ -2474,31 +2474,22 @@
   # 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.
-
-One might think that a smarter way would be to have simply the following
-definition (after all, why bothering highlighting spaces as comments):
-
-@example
-state keyword start "dnl" begin
-  include "url.lang"
-  include "html.lang"
-  type = '@@[[:alpha:]]+'
-  comment = '.+'
-end
-@end example
-
-Well, with this definition spaces in front of matched URLs or @@
-elements would be highlighted as normal, being considered as prefixes.
+Once entered the state, every isolated space is highlighted as 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.
+Well, with this definition (@code{[^[:word]]+}) in front of matched URLs
+or @@ elements would be highlighted as comment.
 This is due to how source-highlight searches for matching rules; we refer
 to @ref{How source-highlight works} for further details.
 
