Fix Filtering, RBN changes
authorDirk Koopman <djk@tobit.co.uk>
Thu, 16 Jul 2020 22:07:28 +0000 (23:07 +0100)
committerDirk Koopman <djk@tobit.co.uk>
Thu, 16 Jul 2020 22:07:28 +0000 (23:07 +0100)
commit2733a992ac8c3d315c110a2cc1984ea0a5e5d0ff
tree7f6a3efb89b3dca4e8e4def8ca415c965c3861f8
parentbb4e9b13809a5d4c4971c3286309d12fe0f82047
Fix Filtering, RBN changes

Filter has changed so that it is now a "simple" transliteration
into perl expressions and relies on perl to do what is required
It is quitely that some more work will be required for error
handling, but the I no longer attempt to do any bracket handling
and leave that up to perl. This means that brackets are fully
working (as opposed to NOT working at all).

Regexes are now robustly translated where necessary. In order to
do this I have ditched Data Dumper because it did not seem to cope
with the regex translations correctly. '\s' would seem have been
translated to '\\s' and not what the regex actually said. So I
have changed the file format to JSON. As this is now the 3rd or
4th JSON change I have made, I have created a "standard" encode and
decode in DXJSON.pm and retrofitted it to all the other places
which had their own purpose built one. DXJSON.pm is just a very
light shim over the standard one.

The RBN changes are:

1. don't short-circuit the zone iteration by a  filter firing.
2. make sure that filtering and not filtering work identically
3. Add constants to the caches records to make it more obvious
   what is going on.
cmd/show/dx.pl
perl/DXJSON.pm [new file with mode: 0644]
perl/DXUser.pm
perl/Filter.pm
perl/Messages
perl/QSL.pm
perl/RBN.pm
perl/Spot.pm
perl/cluster.pl
perl/grepdbg