I was having some difficulty using geiser with a recent guile, and noticed an error in my *geiser messages* buffer:
INFO: RETORT: ((error (key . retort-syntax)) (output . ";;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /usr/local/share/geiser/guile/geiser/emacs.scm ;;; compiling /usr/local/share/geiser/guile/geiser/evaluation.scm ;;; compiling /usr/local/share/geiser/guile/geiser/modules.scm ;;; compiling /usr/local/share/geiser/guile/geiser/utils.scm ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/utils.scm.go ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/modules.scm.go ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/evaluation.scm.go ;;; compiling /usr/local/share/geiser/guile/geiser/completion.scm ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/completion.scm.go ;;; compiling /usr/local/share/geiser/guile/geiser/xref.scm ;;; compiling /usr/local/share/geiser/guile/geiser/doc.scm ;;; WARNING: compilation of /usr/local/share/geiser/guile/geiser/doc.scm failed: ;;; ERROR: In procedure scm_hash_fn_create_handle_x: Wrong type argument in position 1 (expecting hash-table): #f ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/xref.scm.go ;;; compiled /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/usr/local/share/geiser/guile/geiser/emacs.scm.go $1 = done The message wasn't that helpful in locating the problem, so I tried compiling the file directly: wrote `/home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/home/dsmith/src/mainline/scheme/guile/geiser/completion.scm.go' Backtrace: In ice-9/boot-9.scm: 170: 19 [catch #t #<catch-closure 8986e00> ...] In unknown file: ?: 18 [catch-closure] In ice-9/boot-9.scm: 62: 17 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 389: 16 [eval # #] In /usr/local/bin/guild: 68: 15 [main ("/usr/local/bin/guild" "compile" "-L" ...)] In srfi/srfi-1.scm: 619: 14 [for-each #<procedure 8a1ea80 at scripts/compile.scm:171:14 (file)> #] In scripts/compile.scm: 174: 13 [#<procedure 8a1ea80 at scripts/compile.scm:171:14 (file)> "geiser/doc.scm"] In system/base/compile.scm: 148: 12 [compile-file "geiser/doc.scm" #:output-file ...] 43: 11 [call-once #<procedure 8a1e920 at system/base/compile.scm:56:5 ()>] In ice-9/boot-9.scm: 184: 10 [with-throw-handler #t ...] In system/base/compile.scm: 59: 9 [#<procedure 8a1e900 at system/base/compile.scm:58:9 ()>] 151: 8 [#<procedure 8a1e940 at system/base/compile.scm:149:8 (port)> #<input-output: /home/dsmith/.cache/guile/ccache/2.0-LE-4-2.0/home/dsmith/src/mainline/scheme/guile/geiser/doc.scm.go.M4UXyy 41>] 200: 7 [read-and-compile #<input: geiser/doc.scm 40> #:from ...] 232: 6 [compile # # # ...] 178: 5 [lp # # # ...] In language/tree-il/compile-glil.scm: 64: 4 [compile-glil # # #] In language/tree-il/analyze.scm: 536: 3 [analyze-lexicals #] 394: 2 [allocate! # #f 0] In unknown file: ?: 1 [hashq-set! #f # #] In ice-9/boot-9.scm: 119: 0 [#<procedure 89da0a0 at ice-9/boot-9.scm:110:6 (thrown-k . args)> wrong-type-arg ...] ice-9/boot-9.scm:119:20: In procedure #<procedure 89da0a0 at ice-9/boot-9.scm:110:6 (thrown-k . args)>: ice-9/boot-9.scm:119:20: In procedure scm_hash_fn_create_handle_x: Wrong type argument in position 1 (expecting hash-table): #f That looks more like a problem with guile than geiser so I did a bisect from the 2.0.2 release: 40be30c97459e1baf8a9997c1c116a67f153cfef is the first bad commit commit 40be30c97459e1baf8a9997c1c116a67f153cfef Author: Andy Wingo <wi...@pobox.com> Date: Tue Sep 27 23:21:53 2011 +0200 peval: more effective binding pruning * module/language/tree-il/optimize.scm (peval): Factor prune-bindings out of `let' and company. Have it process unreferenced bindings in effect context instead of always residualizing non-constant expressions. :040000 040000 ba7e3a49bef54cbb529f07970219f5a2b16a3036 74128c8f9e22b846ddcf9d7f4e9e7dd8b77f4cbf M module :040000 040000 10e88d61baaf6072fc4051c8f6530ad24b4baaa3 c513a2d03b1b8308ffb4915517fe3b7994b6e88e M test-suite bisect run success