On 12-Nov-05, at 2:53 PM, david rush wrote:
two problems I have noticed, but done little in the way of research or remediation:
1 - gsc & gsi when built for solaris 2.6 won't run in the xemacs shell window. No problems in an xterm
Have you tried to run gsi with the option -:d- , i.e.
gsi -:d-
which forces the REPL to be on stdin/stdout instead of the controlling terminal.
Gambit detects when it is run from GNU emacs (EMACS environment variable = t), but I don't know if XEmacs has a similarly set environment variable. Please check and let me know, and I will add it to the runtime system.
2 - (display '(foo bar)) comes out as foobar - I don't know if this is valid RnRS or not, but every scheme I've used has put spaces in between, including gambit 3.0
Many people have mentioned this misbehaviour. And although the Gambit 4 behaviour is not a bug, it is probably sufficiently unexpected that it was a "bad idea" to change display. I will probably return display to its Gambit 3 behavior and add a "print" procedure with the following specs
(define (print #!key (port (current-output-port)) #!rest body) (current-display body port))
where current-display is the current definition of display (note that the new parameter list syntax is being used). This will allow things like
(print "I have " (+ 1 2) " apples") => prints "I have 3 apples" (print port: foo (list 1 "b" (cons "c" #\d) (vector 'e)) #f) => prints "1bcde#f"
Should there be a println which adds a newline at the end? Should a port: #f print to a string so that
(print port: #f "I have " (+ 1 2) " apples") => "I have 3 apples"
Marc