Backwards compatibility or sanity? help

Monte Goulding monte at appisle.net
Sat Aug 20 17:18:22 EDT 2016


Hi LiveCoders

The team is in a quandary about the following bug:

http://quality.livecode.com/show_bug.cgi?id=18145 <http://quality.livecode.com/show_bug.cgi?id=18145>

The issue is in LiveCode 6.7 and below `is among` was essentially implemented incorrectly meaning that you could get results like this:

put the number of items in "test,this," & comma & \
         (empty is among the items of "test,this,")
—> 2,true

In LiveCode 7 this (fairly odd) behavior was broken and fixed in the early dp releases then broken again when another fix was made. The difficulty is trailing delimiters are ignored by all the other things like repeat etc.

So the situation at the moment in LiveCode 8 is:

put the number of items in "test,this," & comma & \
         (empty is among the items of "test,this,")
—> 2,false

Note that in all versions:

repeat for each item tItem in "test,this,” 
   — iterates twice with “test” then “this"
end repeat
— here tItem is “this"

It’s important to note that this is only an issue if the last item is empty and meant to be an empty item.

I personally would rather not revert to the anomalous behavior of `is among` as I think it is doing the platform and users a disservice to persist in maintaining it.

I’m interested in your thoughts!

Cheers

Monte


More information about the Use-livecode mailing list