[gambit-list] it-is-bug-for-me
Marc Feeley
feeley at iro.umontreal.ca
Thu Oct 22 09:11:00 EDT 2009
On 2009-10-22, at 7:33 AM, Alex Queiroz wrote:
> Hallo,
>
> Copying to the list...
>
> On 10/22/09, DeepFinder <DeepFinder at yandex.ru> wrote:
>>
>> No. Characters wich I send to terminal via (display "some-string")
>> displayed correctly. But error reports from gsi do not.
>> -:fXX option change encoding of msg send to terminal by standard
>> (display port item) procedure. I need an ASCII in error reports of
>> scheme system itself.
>>
>> Thankee for dirrecting to "The Fine Manual" :)
>>
>
> I cannot understand what you are saying. You need "an ASCII" in
> error reports, meaning standard ASCII error reports are garbled?
You probably mean this behaviour:
% gsi -:t8
Gambit v4.5.2
> (car (string (integer->char 233)))
*** ERROR IN (console)@1.1 -- (Argument 1) PAIR expected
(car "\351")
1>
That is, you would like the \351 octal escape sequence to be replaced
with the actual character.
In principle the behaviour you desire should be possible using the
readtable-max-unescaped-char-set procedure. Here is an example of its
use:
> (define rt (output-port-readtable (repl-output-port)))
> (readtable-max-unescaped-char rt)
#\delete
> (string (integer->char 233)))
"\351"
> (output-port-readtable-set!
(repl-output-port)
(readtable-max-unescaped-char-set rt #\U0010ffff))
> (string (integer->char 233)))
"é"
Unfortunately, there's a bug in the REPL... it ignores the repl-output-
port readtable when it displays the call that generated the error,
i.e. in the above example, (car "\351") is displayed instead of (car
"é").
I'll fix this soon. As a general rule, please register such bugs in
Gambit's bugzilla bug tracking system so they are easier to track and
search.
Marc
More information about the Gambit-list
mailing list