Hi Steve, thanks for the quick response. The patch fixes the second issue, but 
I have found one more slightly more obscure error.

The following statement fails:
(((name~'(?i)police' | name~'(?i)police station') & historic:amenity!=police) | 
name~'(?i)tunnel') & highway!=bus_stop {echotags 'Trigger 5'}

The error message says:
Invalid rule expression: (((($name~'(?i)police')|($name~'(?i)police 
station'))&($historic:amenity!=police&$highway!=bus_stop)))

It appears to have lost the tunnel clause, presumably something to do with the 
handling of brackets.

This fails both with and without the patch.

Regards,
Mike
-----Original Message-----
From: Steve Ratcliffe [mailto:[email protected]] 
Sent: 31 July 2017 22:55
To: [email protected]
Subject: Re: [mkgmap-dev] style file reader error

Hi Mike

> name~'(?i)ferry terminal' & !(highway=bus_stop) {echotags 'Trigger 3'} - this 
> works fine
> !(highway=bus_stop) & name~'(?i)ferry terminal' {echotags 'Trigger 4'} - this 
> fails with an error "Invalid rule
> Expression" (without explaining what the error was)
> 
> Is it possible to fix this one as well?

Yes I can fix that one in exactly the same way.  Patch attached.

There are a few cases which use ! that could work but will not.

Eg !(highway!=primary) could work as it is the same as highway=primary.

Steve

_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to