geiser hanging on evaluation

Skip to first unread message

Anthony Villena

Apr 13, 2020, 12:06:23 PM4/13/20
to chibi-scheme
I'm trying to connect Geiser to a chibi-scheme REPL, which appears to work until I try to do anything with the source file, such as evaluate a form, it hangs for several seconds or until I hit C-g. Interacting with the REPL window seems to work fine, though.

Geiser version is: 20200406.1104
chibi-scheme version is master as of (0a8393986)

My installation does work with other impelmentations such as Chez without having to do anything special.

I did see from the Geiser documentation that completion is known to cause hanging because it maybe have changed the "REPL prompt from what Geiser was expecting to see", but I don't know enough about Emacs, Geiser, or chibi-scheme right now to know exactly what it is suggesting, or if it is related to this issue:

Alex Shinn

Apr 13, 2020, 12:08:53 PM4/13/20
I'm afraid I don't know anything about Geiser, can anyone help?

[I use scheme-complete.el, which was designed specifically with the goal of avoiding corruption or communication problems with long-running subprocesses.]


You received this message because you are subscribed to the Google Groups "chibi-scheme" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Vladimir Nikishkin

Apr 13, 2020, 7:19:21 PM4/13/20
Geiser's chibi support is not very good. I had sent a few pull requests, improved bits here and there, but the overall quality is still lower than, for example, in scheme-mode.

Patches welcome. The most common cause of hanging is sending incomplete code (i.g. missing parenthesis. Then chibi keeps waiting for more input, but geiser doesn't know what, and I didn't find how to detect this, as chibi just keeps waiting for more. 

Anthony Villena

Apr 14, 2020, 9:44:15 AM4/14/20
to chibi-scheme
Thanks for the information all.

I'm probably too beginner at this to try to dissect Geiser, so I'll try Alex's mention of scheme-complete.el.
For anyone reading this in the future in the same situation, instead of Geiser for now I'm going to use the process described in:

Vladimir Nikishkin

Apr 14, 2020, 10:26:42 AM4/14/20
It's the "old" scheme-mode. It works quite well with MIT-Scheme, but I
don't think it is much used with other schemes, although I use it
occasionally. It's a bit more resilient than geiser.

My own 5 cents are the following: I found it to be super convenient to
use scheme with emacs org-mode's "shell" blocks with :shebang
"#!/usr/bin/chibi-scheme". You are not getting syntax highlighting
unfortunately, but there is a trick to go around it:

You make two org blocks, one a #+begin_src scheme :exports code , for
your scheme code, and the other one #+begin_src shell :shebang
"#!/usr/bin/chibi-scheme" :exports code output
An they you tangle the first one as the body of the second as a noweb
block: <<first-block>>

This way it becomes a bit more convenient. You can still use
scheme-complete _and_ geiser in the C-c ' buffers generated by
org-mode, and you can rerun your computation doing little tune-ups
right from the org buffer. And what's even better, it supports the
:stdin header argument as stdin redirection, which geiser doesn't
support at all, and scheme-mode supports in a weird way.

Hope this helps.

> --
> You received this message because you are subscribed to the Google Groups
> "chibi-scheme" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
> To view this discussion on the web visit

Yours sincerely, Vladimir Nikishkin

Vladimir Nikishkin

Apr 14, 2020, 10:30:01 AM4/14/20
The manual on scheme-wiki is obsolete beyond being usable, I think :(

I tried to use it a year ago, or so, and I remember the author of
Quack, Neil van Dyke, releasing a new version of quack deliberately to
inform people such as me that "quack is no longer developed.". :)

Anthony Villena

Apr 16, 2020, 10:16:08 PM4/16/20
to chibi-scheme
I'm coming from DrRacket so I don't need too much right now, just jump-to-definition and "evaluation everything with one key". I realized that Emacs handles tags files out of the box, so that covered navigation.

For evaluation, I'd always heard that Emacs was easy to program, so I found with a combinations of the source of the old scheme mode I was able to add this to my .emacs config in under an hour with no experience. I'm impressed by its extensibility.

; Have Cmd+R eval the file like DrRacket
  (kbd "s-r")
  (lambda ()
    (scheme-send-region 1 (point-max))))

This should get me pretty far for now... once I get more familiar with how things work, I'll try the Geiser suggestion.
Reply all
Reply to author
0 new messages