What steps will reproduce the problem?
1. Start ripping a CD
2. Eject the disc
3. Get an error "line 4356: break: only meaningful in a `for', `while' or `until' loop"
What is the expected output? What do you see instead?
As far as I can tell, nothing incorrect happens; the ripping aborts as the disc is no longer there. However, the code is certainly not correct. The line in question reads:
if [ "$GOAHEAD" = "NO" ]; then break; fi
and as far as I can see it's not in a loop.
What version of the product are you using? On what operating system?
This is with current git (as of 29 Dec 2014).
Since the statement is in an if statement, changing it to:
if [ "$GOAHEAD" != "NO" ]; then
... rest of contents of if
would seem correct. The same test is used elsewhere to break out of a loop.
Copied from https://code.google.com/p/abcde/issues/detail?id=122
Have you had a chance to patch all instances of this error and test?
Created attachment 2 [details]
Fix syntax error
I think possibly I was unclear: there's only one instance that needs patching, the other use of this construct is correct.
If I patch current git and then put a CD in, start ripping, then eject the CD, abcde simply waits, having printed a correct error message observing that the disc was ejected.
With unpatched abcde it does the same, but first prints the syntax error message. Hence, the fix appears to work.
I attach the patch.
Thanks Reuben! Give me until the weekend when I shall re-test and commit...
Updated in git. Thanks Reuben...