Skip to content

Instead of correct gambit error display, getting elisp continuation failed, wrong-type-argument

Thanks for integrating gambit with geiser.

I'm working on a simple hello world with glfw.

When I run some code with emacs run-scheme (via gambit's own gambit.el), I get a plausible error message from gambit:

*** ERROR IN glfw#on-key-press -- Invalid glfw window

When I run the same code in geiser-gambit, I get this elisp error rather than the expected error from gambit:

ERROR: <32>: continuation failed "(_geiser#geiser:eval '() '(let loop ()
  (glfw-native#poll-events)
  (glfw#window-swap-buffers window)
  (if should-quit? #f (loop))      
  ))" 
	(wrong-type-argument hash-table-p nil)

I've tried stepping through with edebug but am struggling to nail down the bad call.

I'm using emacs 29.1 on aarch64-apple-darwin21.6.0, and gambit 4.9.5 compiled according to your instructions.

What is going on? Do you have any suggestions for how to investigate further?