Amazing how forgiving the older LC engines are...
tom at makeshyft.com
Mon Nov 11 13:54:03 EST 2019
Yup.....While upgrading from 7 to 8 and from 8 to 9 I had several "I can't
believe this code worked" moments. I prefer an unforgiving interpreter.
thats why I fell in love with Rust and its ridiculously unforgiving
compiler. Haven't had to use it yet, but look forward to it.
On Mon, Nov 11, 2019 at 9:01 AM Paul Dupuis via use-livecode <
use-livecode at lists.runrev.com> wrote:
> I just got bit by how forgiving older LC engines version are.
> Migrating a stack from LC6.7.11 to LC9.5.1. There is a handle to perform
> a "select all" on a particular list field where "select all" means
> select all lines but the first. The code was essentially:
> put empty into tLineList
> repeat with i=2 to the number of lines in fld 1
> put i & cr after tLineList
> end repeat
> delete last char of tLineList
> set the hilitedLines of fld 1 to tLineList'
> This throws an script execution error under LC9.0.5 or 9.5.1 when trying
> to execute the last line, but works perfectly well under LC6.7.11 and
> The problem, of course, is that the hilitedLines is supposed to be a
> COMMA delimited list, not a CR delimited list. Even the LC6.7.11
> Dictionary states comma delimited. And yet, LC6.7.11 and earlier happily
> allowed and handled correctly wither comma or cr delimited lists for the
> hilitedLines property.
> Simple change of Cr to comma fixes the routine for LC9xx
> I am not sure in what more recent LC versions this list flexibility went
> away (7? 8? 9?) but I have mixed feelings that it did go away. On one
> hand, I think the versatility of the older engine in forgiving and
> working with bad syntax was amazing. On the other had, had they been
> stricter, I would have discovered this bug long ago.
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
Founder & Developer
MakeShyft R.D.A (www.makeshyft.com)
More information about the use-livecode