section 12.14: Note about restoration of LexicalEnvironment may be appropriate

# Jim Blandy (16 years ago)

Like the 'with' statement, the 'catch' clause of a 'try' statement can establish local bindings. In both cases, the spec describes this in terms of changing the execution context's LexicalEnvironment temporarily and then restoring it.

In the description of 'with', there is a "NOTE" assuring the reader that the LexicalEnvironment is always restored regardless of how the contained statement terminates. This is clear enough, as step 7 of the algorithm explicitly talks about how exceptions are to be handled, but the note is still a nice sanity check.

It seems to me that the description of 'catch' ought to have essentially the same note. The body of a catch clause is a Block and not a Statement, so there's no need to mention exception handling, as Block takes care of that, but this is kind of subtle.