Submitter's name: Richard Kelsey
Submitter's email: kelsey at s48.org
Relevant draft: r7rs draft 6
Type: clarification
Priority: minor
Relevant section of draft: Derived expressions
Summary: The continuation used when 'guard' re-raises an exception isn't specified.
Page 19, Exception Handling (Handling should be lower case, by the way)
"If every cond's test evaluates to #f and there is no else clause, then raise-continuable is re-invoked on the raised object within the dynamic environment of the original call to raise except that the current exception handler is that of the guard expression."
I think that the intent is that the raise-continuable have the same continuation as the handler installed by guard, but it doesn't actually say this. Also, the original call might have been raise or raise-continuable. I suggest changing this to:
"If every cond's test evaluates to #f and there is no else clause, then raise-continuable is invoked on the raised object with the continuation and dynamic environment of the installed exception handler's invocation, except that the current exception handler is that of the guard expression."
The reference to raise-continuable was apparently an editorial error, and has been changed to raise, which is what R6RS (and SRFI 34) say.