<div dir="ltr">You'll want to check DrRacket in both "Debugging" and "No Debugging and Profiling" mode to see if you're happy with the results (and I can help change them if you're not happy with them).<div>
<br></div><div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 13, 2014 at 8:34 PM, Matthew Flatt <span dir="ltr"><<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">At Wed, 12 Mar 2014 18:05:03 -0700, Eric Dobson wrote:<br>
> A common issue I have is that the default error handler does not<br>
> display error message's exn:srcloc if it has it [...]<br>
><br>
> Is this reasonable to add to the default error handler, and if so do<br>
> people have suggestions on the format?<br>
<br>
You mean the default error display handler, right?<br>
<br>
I think this change may be worth a try, but there are many<br>
exception-generating, exception-handling, and exception-printing<br>
parameters to worry about, both in their interactions and how they're<br>
currently used.<br>
<br>
For example, does DrRacket use the default error display handler? If<br>
so, it will start printing source locations that it's already showing a<br>
different way, and I think that's not what you intend. Or some other<br>
program harness might be worse off if the default display error handler<br>
starts showing source locations. Then again, the whole point is that<br>
you want to change the display of errors. Trying to change some things<br>
and not changes others --- and having enough extension points to<br>
accommodate certain combinations of changes and non-changes --- is why<br>
the existing set of parameters and handlers is complex. I will not be<br>
surprised if we end up with yet another parameter here.<br>
<br>
If the change makes sense, probably the handler should not print the<br>
first returned source location for `exn:fail:read`, `exn:fail:syntax`,<br>
and `exn:fail:contract:variable` exceptions --- because that location<br>
is supposed to be built into the error-message text, unless the<br>
`error-print-source-location` parameter has a false value. Awkward, I<br>
know; see the previous paragraph.<br>
<br>
The right format is likely to print an extra "<field>: <detail>",<br>
similar to the way that the default error display handler prints<br>
context lines (if the `error-context-display-depth` parameter is not<br>
0). I imagine that the source-location lines should precede the context<br>
lines, but follow the exception's error message.<br>
<br>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div><br></div>