
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