Hello,
First and formost thanks for developing and maintaining gambit.
As a beginner I'm a litte confused about the handling of the character encoding in the repl.
$ gsi -:d,t8,f8 $> "ü" "\374"
$> (string-ref "ü" 0) #\xfc
$> (string->list "über") (#\xfc #\b #\e #\r)
$> (with-output-to-file "test2" (lambda () (##write-string "ü") $> ,q
$ cat test2 ü
$ gsi -:d,t8,f8 $> (with-input-from-file "test2" (lambda () (read-char))) #\xfc
With racket:
$ racket $>"ü" "ü"
$> (with-input-from-file "test2" (lambda () (read-char))) #\ü
$> (string->list "über") '(#\ü #\b #\e #\r)
Why does gambit return "\374" instead of "ü" in the repl when evaluating the string "ü"? I'm curious because in racket the repl returns the evaluated string as "ü"", also read-char in racket returns #\ü instead of #\xfc.
Looking at the documentation I could change the behaviour with: ;;;; (output-port-readtable-set! (repl-output-port) (readtable-max-unescaped-char-set (output-port-readtable (repl-output-port)) #\U0010ffff)) ;;;;
Are there any advantages for having this default readtable setting in gambit? As a beginner I think it's confusing.