My argument being that removing that 'undefined' characteristic (and doing what many users expect) cannot possibly do anyone any harm. Whether its worth the added complexity is another question of course.
Diplomats appear to work on the principle that negotiations should avoid using a language which is imprecise, or excessively nuanced.
I have long argued that where a language's syntax demanded a compiler which was provably complex ** , it was worth reviewing and if necessary changing the syntax to simplify implementation. After all, there were no full PL/I or Ada implementations hosted by 8-bit systems, but there were multiple full Pascal compilers on at least Z80-based systems.
I think the current "might or might not be undefined on completion" issue is one where difficult semantics merit changing the syntax, so that even if the compiler cannot be guaranteed to "do the right thing" it can at least issue an intelligent warning ("if you use a non-local control variable, be it on your own head").
MarkMLl
** I use the word "provably" with an appreciation of what it means in CS terms. However I would hazard that any compilation technique that has taken three years of a postgrad's life to master should be automatically disqualified from common use: that level of complexity strongly implies incorrect starting assumptions.