[gambit-list] Bugs in gambit 4.15

Marc Feeley feeley at iro.umontreal.ca
Sun Nov 13 20:47:04 EST 2005


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




More information about the Gambit-list mailing list