summaryrefslogtreecommitdiff
path: root/elisp/geiser-guile.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-guile.el')
-rw-r--r--elisp/geiser-guile.el13
1 files changed, 12 insertions, 1 deletions
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index f7e5540..a34f401 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -49,6 +49,13 @@
:type 'string
:group 'geiser-guile)
+(defcustom geiser-guile-use-compiler-in-eval t
+ "When enable, always use Guile's compiler to perform evaluation.
+Recommended, since the compiler usually collects better metadata
+than the interpreter."
+ :type 'boolean
+ :group 'geiser-guile)
+
;;; REPL support:
@@ -82,7 +89,11 @@ This function uses `geiser-guile-init-file' if it exists."
"Translate a bare procedure symbol to one executable in Guile's
context. Return NULL for unsupported ones; at the very least,
EVAL, COMPILE, LOAD-FILE and COMPILE-FILE should be supported."
- (let ((proc (intern (format "ge:%s" proc))))
+ (let ((proc (intern (format "ge:%s"
+ (if (and geiser-guile-use-compiler-in-eval
+ (eq proc 'eval))
+ 'compile
+ proc)))))
`(@ (geiser emacs) ,proc)))
(defconst geiser-guile--module-re