logo separator

[mkgmap-dev] Some observations

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Tue May 31 13:39:42 BST 2022

Hi Andrez

On Tue, 2022-05-31 at 00:23 +0200, Andrzej Popowski wrote:
> Hi Ticker!
> 
>  > I don't get a crash
> 
> Maybe there are other factors? I'm using AMD Ryzen, Windows 10,
> OpejJDK 
> 18.0.1 (just have updated, 17.02 worked the same). I can create a set
> which cause crash, if you are interested. Right, it should be 
> mkgmap:option:test, but I get a crash in both cases.
> 

I just noticed that, rather than:

if (mkgmap:style-option:test=true) then
	() {echo "test"}
end

, you had:

if (mkgmap:style-option:test=true) then
	() echo {"test"}
end

which does crash the expression handler. I doubt if this is worth
investigating /  fixing.  

>  > The "test" part of a rule must contain at least 1 "positive"
> limiting
>  > clause, as per the style-manual paragraph already mentioned.
> 
> So "tag existing" or "positive" means, that "test" have to include at
> least one check/condition equivalent to "tag=value" (including
> "tag=*")?
> 

Yes, and < <= >= = ~ are also acceptable, but functions, eg
area_size(), is_complete() etc are not.
  

> If I only use single check, then I have to use "tag=value" and
> nothing 
> else. It is OK, only not the common situation in programming.
> 

Not sure what you mean.

>  > The full "else" test also require positive limiting and this can
> only
>  > come from the "elseCond". Attempting:
>  >
>  > if (someTag=*) then
>  > else
>  >  () {actionIfNotSet}
>  > end
>  >
>  > won't fool the rule processor and you'll get the "Invalid rule,
> unable
>  > to index" error.
> 
> It doesn't work, but this works:
> 
> if (mkgmap:option:test=true) then else
>         highway=* {...}
> end
> 

Yes

> while these don't work (but should?):
> 
> if (mkgmap:option:test!=true) then
>         highway=* {...}
> end
> 
> if (!(mkgmap:option:test=true)) then
>         highway=* {...}
> end
> 

The above shouldn't (and don't) work

Ticker



More information about the mkgmap-dev mailing list