diff options
Diffstat (limited to 'elisp/geiser-guile.el')
-rw-r--r-- | elisp/geiser-guile.el | 13 |
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 |