summaryrefslogtreecommitdiff
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
commite1e77ab8c5de4d6c257f53c7ece4c94e4522abfd (patch)
tree6e1ecd09fcb2b4464d258a1ebf9021377c1489d6
parentf48e83fe58246c9726aea0031e5a2027c5998759 (diff)
downloadgeiser-guile-e1e77ab8c5de4d6c257f53c7ece4c94e4522abfd.tar.gz
geiser-guile-e1e77ab8c5de4d6c257f53c7ece4c94e4522abfd.tar.bz2
Guile: use the compiler by default to perform evaluations.
-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