<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Bernd,<br><br>I think the no-dup-rule-evaluation-v2.patch solves this problem.<br>The logging function for the style stats now shows more clearly<br>how a single rule in the style file is translated into one or more rules,<br>e.g. (a |b | c) &amp; (e | f) { action xyz}<br>is translated to <br>(a ) &amp; (e | f) { action xyz}<br>(b) &amp; (e | f) { action xyz}<br>(c) &amp; (e | f) { action xyz}<br><br>Without the patch it is possible that each part is executed.<br><br>The style stats will now look like this:<br>INFO: uk.me.parabola.mkgmap.osmstyle.stats&nbsp; 63240001.o5m: points stats (rule/evals/true) <b>rule-id: 16</b> ((($public_transport='platform')&amp;($ref=*|$route_ref=*)) | ((($highway='bus_stop')|(($railway='tram_stop')|(($railway='halt')|($railway='station'))))&amp;($ref=*|$route_ref=*))) {set ref='${ref}(${route_ref})';}/95/60<br>INFO: uk.me.parabola.mkgmap.osmstyle.stats&nbsp; 63240001.o5m: points stats (rule/evals/true) <b>rule-id: 16</b> ((($highway='bus_stop')&amp;($ref=*|$route_ref=*)) | ((($railway='tram_stop')|(($railway='halt')|($railway='station')))&amp;($ref=*|$route_ref=*))) {set ref='${ref}(${route_ref})';}/984/490<br>INFO: uk.me.parabola.mkgmap.osmstyle.stats&nbsp; 63240001.o5m: points stats (rule/evals/true)<b> rule-id: 16</b> ((($railway='tram_stop')&amp;($ref=*|$route_ref=*)) | ((($railway='halt')|($railway='station'))&amp;($ref=*|$route_ref=*))) {set ref='${ref}(${route_ref})';}/0/0<br>INFO: uk.me.parabola.mkgmap.osmstyle.stats&nbsp; 63240001.o5m: points stats (rule/evals/true) <b>rule-id: 16 </b>((($railway='halt')&amp;($ref=*|$route_ref=*)) | (($railway='station')&amp;($ref=*|$route_ref=*))) {set ref='${ref}(${route_ref})';}/11/11<br>INFO: uk.me.parabola.mkgmap.osmstyle.stats&nbsp; 63240001.o5m: points stats (rule/evals/true) <b>rule-id: 16</b> # Part of the previous OR expression: ((($railway='station')&amp;($ref=*|$route_ref=*))) {set ref='${ref}(${route_ref})';}/23/9<br><br>Gerd<br><br><div>&gt; From: weigelt.bernd@web.de<br>&gt; To: mkgmap-dev@lists.mkgmap.org.uk<br>&gt; Date: Mon, 2 Feb 2015 09:35:26 +0100<br>&gt; Subject: Re: [mkgmap-dev] Bug in handling of bus stops<br>&gt; <br>&gt; Am Sonntag, 1. Februar 2015, 11:42:38 schrieb GerdP:<br>&gt; &gt; This is clearly not intended and should be fixed.<br>&gt; <br>&gt; Hi<br>&gt; FYI<br>&gt; <br>&gt; Franco fixed this in May 2014 in our style with this workaround<br>&gt; <br>&gt; https://github.com/berndw1960/aiostyles/commit/0209b139bd7ec07ff24a31d86ba30194b5b2f268<br>&gt; <br>&gt; public_transport=platform &amp;<br>&gt;   (amenity=bus_station |<br>&gt;     highway=bus_stop |<br>&gt;     railway=tram_stop |<br>&gt;     railway=halt |<br>&gt;     railway=station)<br>&gt; <br>&gt;         {<br>&gt; #eliminate double ^ or double - ; no idea why they are entered twice otherwise<br>&gt;         delete public_transport;<br>&gt;         }<br>&gt; <br>&gt; <br>&gt; Bernd<br>&gt; _______________________________________________<br>&gt; mkgmap-dev mailing list<br>&gt; mkgmap-dev@lists.mkgmap.org.uk<br>&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br></div>                                               </div></body>
</html>