Feature Request: New variants of GetStatus/GetStatusAll (also affects proposal for NotifyState)

Issue #63 new
Alan Glover created an issue

It's becoming a real risk nowadays that the whole current restriction list exceeds some of the limits on string length in LSL (eg the limit for strings printed in chat).

One thing that contributes most to this length is exceptions where each quotes a uuid, thus each is something like 40 characters long compared to most other restrictions which are 10 or less long.

UUIDs are not the only thing that can make for long entries - some RLV commands can quote a path into #RLV which could make for very long strings if we assume the path goes a few folders deep. I'm thinking particularly of Attach/Detach(All)This(_Except)

I have two alternative proposals here...

1) New commands parallel to GetStatus/GetStatusAll/NotifyState which explictly do not return any rlv exception rules that incorporate a uuid. It's an implementation decision whether this should also exclude restrictions with #RLV paths embedded.

2) An extension on the existing GetStatus/GetStatusAll and NotifyState proposal that allows an optional "do not contain" string to be specified. Calling with the "do not contain" string set to ":" would exclude all the more complex rlv commands resulting in a much shorter reply.

Note that @notify is not included in this because it never could return the whole current restriction set.

The second proposal is the more versatile and has some other benefits like allowing scripters to exclude unintentional matches from their results, eg calling with "tp" to match and "sittp" to exclude would avoid getting sittp when the intent was to get tplm/tploc/tplure

I'm about to write it up in a separate issue, but some limited REGEXP functionality on both the match and exclude strings would also help considerably

Comments (0)

  1. Log in to comment