Would anyone miss convertOctals?

Mark Waddingham mark at livecode.com
Thu Jun 9 08:44:46 EDT 2022


So I'm currently sitting here about to embark on fixing 
<https://quality.livecode.com/show_bug.cgi?id=23653> (which is the final 
thing to sort out before being able to merge my constant expression 
patch) and I was reminded of 'convertOctals'.

Now, generally, I am somewhat averse to actually removing any language 
feature (even those we have deprecated, unless we absolutely have to!) - 
however, I would really like to make convertOctals have no effect at all 
in 10.0+ as it adds a disproportionate amount of complexity compared to 
(what I think, at least) its utility is (particularly in the context of 
things 'coming next' like the script compiler).

So three questions:

   1) Do you know what convertOctals is, and what it does?

   2) If you do, have you ever actually used it in any scripts which are 
actually still in use?

   3) If you do use it in any scripts which are still in use, would you 
be willing to change them to not use it?

   4) If you do use/have used it, had you ever noticed that it has been 
slightly broken for years?

Now, its always better to offer a carrot when there is a stick (or in 
this case, an axe) being wielded and the carrot in this case would be to 
expand the numeric literal syntax to add both explicit octal and binary 
number literals alongside hexadecimal:

     0xabcdef - hex literal
     0o777 - octal literal
     0b101110101

The key difference between 0o777 and using 0777 (with convertOctals 
true) is that the former is not ambiguous at parse time, it doesn't 
require a runtime property set to true in order for the engine to 
convert the string to a number correctly.

Please let me know your thoughts :)

Warmest Regards,

Mark.

P.S. In the scheme of 'breaking changes' - we've already made a number 
of them for 10 already, and my gut tells me removing convertOctals is 
likely to cause less consternation than those we already have - but I 
could be wrong!

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps



More information about the use-livecode mailing list