Re: [racket-users] printing errors

2020-08-29 Thread Sorawee Porncharoenwase
Alternatively, I think you can simply supply a non-exception value to the
handler. This will suppress the red cross icon too, though.

(define (print-exn exn)
  ((error-display-handler)
   (if (exn? exn)
   (exn-message exn)
   (format "~a" exn))
   #f))


On Sat, Aug 29, 2020 at 8:17 AM Robby Findler 
wrote:

> It might make the most sense for you to extract the exn-message and print
> it yourself? It should contain only the "a: undefined" part. If you want to
> selectively access the stacktrace and decide whether or not to print that
> first stackframe, that'll probably require a change to DrRacket, tho -- at
> least if you have debugging turned on. (There may be some clever hack I'm
> not thinking of, tho, depending on what you want.)
>
> Robby
>
> On Sat, Aug 29, 2020 at 10:11 AM Shriram Krishnamurthi 
> wrote:
>
>> Thank you!
>>
>> Is there a way of further suppressing info? Right now I get output like
>>
>> [image: image.png] ../../make-semantics.rkt:37:13: a: undefined
>>
>>
>> which is a reference to the language implementation file rather than to
>> the program in the language.
>>
>> The programs here are so small that suppressing everything but the "a:
>> undefined" would be great.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to racket-users+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/racket-users/CAJUf2yQgBahzMQP-rPOAXM6xWkvAiR0EstzVNLweEYo83A6mEQ%40mail.gmail.com
>> 
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CADcuegvwTnfHMTA91aPTFmLqX8dx695tW3wU9XMp6zs7jG49mw%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-29 Thread Robby Findler
It might make the most sense for you to extract the exn-message and print
it yourself? It should contain only the "a: undefined" part. If you want to
selectively access the stacktrace and decide whether or not to print that
first stackframe, that'll probably require a change to DrRacket, tho -- at
least if you have debugging turned on. (There may be some clever hack I'm
not thinking of, tho, depending on what you want.)

Robby

On Sat, Aug 29, 2020 at 10:11 AM Shriram Krishnamurthi 
wrote:

> Thank you!
>
> Is there a way of further suppressing info? Right now I get output like
>
> [image: image.png] ../../make-semantics.rkt:37:13: a: undefined
>
>
> which is a reference to the language implementation file rather than to
> the program in the language.
>
> The programs here are so small that suppressing everything but the "a:
> undefined" would be great.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/CAJUf2yQgBahzMQP-rPOAXM6xWkvAiR0EstzVNLweEYo83A6mEQ%40mail.gmail.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAL3TdON6ThzfELa9pJW_dttFx%2B5MMFig19qFd%3DSQ-Y9rNL60ig%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-29 Thread Shriram Krishnamurthi
Thank you!

Is there a way of further suppressing info? Right now I get output like

[image: image.png] ../../make-semantics.rkt:37:13: a: undefined


which is a reference to the language implementation file rather than to the
program in the language.

The programs here are so small that suppressing everything but the "a:
undefined" would be great.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAJUf2yQgBahzMQP-rPOAXM6xWkvAiR0EstzVNLweEYo83A6mEQ%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-27 Thread Robby Findler
It may be that you're seeing the "clever"ness of the DrRacket repl. If the
last character printed is a newline, it only shows it when there is another
character after the newline.

Robby

On Thu, Aug 27, 2020 at 5:18 PM Sorawee Porncharoenwase <
sorawee.pw...@gmail.com> wrote:

> For stacktrace, use error-print-context-length to suppress it:
>
> (define (print-exn exn)
>   (parameterize ([error-print-context-length 0])
> ((error-display-handler)
>  (if (exn? exn)
>  (exn-message exn)
>  (format "~a" exn))
>  exn)))
>
> I don’t see any extra newline though.
>
> On Thu, Aug 27, 2020 at 3:11 PM Shriram Krishnamurthi 
> wrote:
>
>> This is perfect, thanks!
>>
>> Two follow-up questions:
>>
>> 1. The error printer seems to print an extra newline at the end relative
>> to what the port-display-handler (for instance) shows. Is there a way to
>> suppress that?
>>
>> 2. The stack trace seems to be extracted automatically. Is there a way to
>> suppress it entirely?
>>
>> Shriram
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to racket-users+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/racket-users/CAJUf2yQyVat2Fy63hdDqRv9iaq40Zsf_6TQJsLU%3DETB30zCE0Q%40mail.gmail.com
>> 
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/CADcuegsxbKF6CZi01J0mduxo9vS5U2QDjn5M-jA12h21NB02PA%40mail.gmail.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAL3TdONWoR-hLAudmCwAkcCoUzHG98kX47yHcsqnH%2B0nS9jViA%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-27 Thread Sorawee Porncharoenwase
For stacktrace, use error-print-context-length to suppress it:

(define (print-exn exn)
  (parameterize ([error-print-context-length 0])
((error-display-handler)
 (if (exn? exn)
 (exn-message exn)
 (format "~a" exn))
 exn)))

I don’t see any extra newline though.

On Thu, Aug 27, 2020 at 3:11 PM Shriram Krishnamurthi 
wrote:

> This is perfect, thanks!
>
> Two follow-up questions:
>
> 1. The error printer seems to print an extra newline at the end relative
> to what the port-display-handler (for instance) shows. Is there a way to
> suppress that?
>
> 2. The stack trace seems to be extracted automatically. Is there a way to
> suppress it entirely?
>
> Shriram
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/CAJUf2yQyVat2Fy63hdDqRv9iaq40Zsf_6TQJsLU%3DETB30zCE0Q%40mail.gmail.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CADcuegsxbKF6CZi01J0mduxo9vS5U2QDjn5M-jA12h21NB02PA%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-27 Thread Shriram Krishnamurthi
This is perfect, thanks!

Two follow-up questions:

1. The error printer seems to print an extra newline at the end relative to
what the port-display-handler (for instance) shows. Is there a way to
suppress that?

2. The stack trace seems to be extracted automatically. Is there a way to
suppress it entirely?

Shriram

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAJUf2yQyVat2Fy63hdDqRv9iaq40Zsf_6TQJsLU%3DETB30zCE0Q%40mail.gmail.com.


Re: [racket-users] printing errors

2020-08-27 Thread Robby Findler
Yes, something like this:

(define (print-exn exn)
((error-display-handler)
 (if (exn? exn)
 (exn-message exn)
 (format "~a" exn))
 exn))

On Thu, Aug 27, 2020 at 3:31 PM Shriram Krishnamurthi 
wrote:

> Given an exception, is there a way to print the error using Racket's
> conventional error printing machinery (e.g., in color in DrRacket, etc.),
> without halting execution?
>
> I would like to be able to integrate this with #%printing-module-begin and
> #%top-interaction. Unfortunately, those by default will halt execution
> after printing the message.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/a6277017-9dc8-44d1-8c97-119cb431cf4bn%40googlegroups.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAL3TdONeeLAF38_cSPk12JT4W3T4Gruh5ET4tHYDrS_-zHHJ4g%40mail.gmail.com.


[racket-users] printing errors

2020-08-27 Thread Shriram Krishnamurthi
Given an exception, is there a way to print the error using Racket's 
conventional error printing machinery (e.g., in color in DrRacket, etc.), 
without halting execution?

I would like to be able to integrate this with #%printing-module-begin and 
#%top-interaction. Unfortunately, those by default will halt execution 
after printing the message.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/a6277017-9dc8-44d1-8c97-119cb431cf4bn%40googlegroups.com.