Repeat ... kind'a

Richard Gaskin ambassador at fourthworld.com
Thu Apr 30 18:33:59 EDT 2015


Terry Dennis wrote:

 > Much fiddling later, I discovered the issue.  It was a runtime
 > “oops”.
 > Check out the following code snippet, which shows the execution
 > error.  I threw it into button “Capture”s script:
 >
 > on testOOPS
 >    put 1 into t1  -- Superfluous for testing purposes
 >    put 2 into t2  -- Superfluous for testing purposes
 >    if true = true then  -- Runtime error here !!!
 >       exit repeat
 >    end if
 >   put 3 into t3  -- Superfluous for testing purposes
 > end testOOPS
 >
 > <<<<
 > button "Capture": execution error at line 27 (Handler: error in 
statement),
 > char 1
 >>>>>
 >
 > I certainly didn’t expect an execution error on an “if true then”
 > statement.
 >
 > The problem is the code I copied included an “exit repeat”, but the
 > function I copied it into didn’t have a “repeat ... end repeat”.
 > Thus, there was an “unmatched” exit from a repeat that didn’t
 > exist.
...
 > It seems to me this is a bug that should have been caught during the
 > script compilation phase, instead of during execution.

Agreed.  If you substitute "exit repeat" with any other equally 
irrelevant expression like "exit foo" or "exit if" etc. the compiler 
flags it immediately, and ideally it should do the same here too.

It may also be worth noting in the report that the error is flagged on 
the wrong line.  Hopefully once they fix the compiler to catch this 
it'll identify the actual erroneous line as a compilation error and we 
won't ever see an incorrect line flagged for an execution error.

But since it is flagging the wrong line, drawing attention to that may 
provide an opportunity to review that part of the code to make sure 
incorrect lines aren't being flagged in other contexts.

If you file a report please note the number here so I can add myself to 
the report's CC list.  Thanks.

-- 
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  Ambassador at FourthWorld.com                http://www.FourthWorld.com




More information about the use-livecode mailing list