"RokuMarkn" wrote:
I'm curious about the use case for this feature. I would not expect most of my programs to do anything useful if an arbitrary statement were skipped. I also don't understand the idea of "fixing" something so that the statement can re-execute. What sort of thing would you fix to allow the statement to behave differently the second time?
RokuMarkn -
debugging.
Totally not for production purposes, i.e. not asking for BASIC's "on error resume next" statement. Does not have to be transactional. Since it is not for production, quirks like "not guaranteed if variable was set or not" can be tolerated because "i, the human" am behind the console and can adapt/do manual steps. For the same reason "side effects" like player-reboots-on-app-exit may be tolerated - it's the "lesser evil".
My specific case was because somebody has yanked silently a pre-existing, pre-documented component method call from 7.2 (earlier this week i sent a fiery email to dev.support on breaking my published app, so details be known), leaving me at
Member function not found in BrightScript Component or interface. (runtime error &hf4)
Say it was "comp.call(x)" what failed - if debugger's (C)ontinue were to replay that command, i could patch in console as simple as "comp = {call: function(x): end function}", press C and plow ahead (reminder: i am the developer, i can judge what can be circumvented in my code)
I consider what i asked a "nice to have" feature, for developer's convenience. Not a "must have".
PS. lest someone say "you dolt! just edit out the offending code, re-zip and re-deploy", there are... complications. It's not a zip. It's a hybrid app. I have changed my tooling/SDK from say 8.2.1 to 8.4. Way too many moving parts, while i was trying to figure the reason for my app to break - for which i take the cramfs for my "GM" build that got published and side-load it to a player, it breaks in console and then i want to make it continue to see if there are other things that 7.2 broke. Of course i would do proper end-to-end build later but at first i want to aim at a static and not moved target.