Skip to content

No output buffer.

Using gambit scheme there is no output buffer when evaluating code, like with other schemes

also, lets say i evaluate:

(display "hello")

when evaluated there is no place where it says "the output we got from that evaluation is hello".

i think the problem is in geiser-debug--display-retort function when we assign output to (geiser-eval--retort-output ret) in line 204 in geiser-debug.el. the output get assigned incorrectly.

geiser-debug--display-retort is defined like this:

(defsubst geiser-eval--retort-output (ret)
   (cdr (assq 'output ret)))

when we evaluate (display "hello") in, for example, guile scheme, the ret value in geiser-debug--display-retort is:

((result #<unspecified>) (output . hello))

in gambit, the ret value in geiser-debug--display-retort is:

((result #!void) (output unquote (get-output-string g85)))

in guile case, it gets searches for output symbol, cdr's it and we get "hello", it gambit case the (cdr (assq 'output ret)) logic does not work.

I must apologize, i'm not knowledgeable about gambit so i dont know how to fix that problem.

Edited by 0x4aV