summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-19 01:52:52 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-19 01:52:52 +0100
commit8e9a3eb9870b781b42bf4f2f4488579ad417e84f (patch)
tree4cf814e1e1897b76b6fd7656818c2527ac1bad74 /elisp
parent845dbdb35e4b282a138bb7ad54a295199d642b4b (diff)
downloadgeiser-guile-8e9a3eb9870b781b42bf4f2f4488579ad417e84f.tar.gz
geiser-guile-8e9a3eb9870b781b42bf4f2f4488579ad417e84f.tar.bz2
Guile: use the compiler by default to perform evaluations.
Diffstat (limited to 'elisp')
-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