I must say that while this makes some sense at the UI level
to me, resignalling errors is a bad practice all around. Not only
does it convolute the code, but errors should have, in all situations,
I guess even in interactive ones, as much stack as they can.
I think the correct fix here is to change the way that the error
is *printed*. In the end that was the original motivation behind
the bug report! In CL this is easy enough to do with the
PRINT-OBJECTgeneric function. That print function would print
the alternate message in this particular interactive context. I
think Emacs has recently gained the means to do something
similar to PRINT-OBJECT, has it not? I seem to remember
Stefan Monnier telling me so.
If it has not, and we do decide to go this route, I'd just nitpick
that the parameter name should be INTERACTIVE or
RESIGNAL-ERROR. So that unsuspecting programs calles
won't expect the error to have the properties of the scan-error
object if they pass non-nil in the parameter.
João