summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-13 02:02:40 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-13 02:02:40 +0100
commit137d2e0db5efe444f6f208aba8ebd57584f1ee52 (patch)
treeaebb89305d9adf5305bef9a9668c653c71d45372 /elisp/geiser-impl.el
parent7196cb2405c2773f394954904b63765fb9f95e8b (diff)
downloadgeiser-chez-137d2e0db5efe444f6f208aba8ebd57584f1ee52.tar.gz
geiser-chez-137d2e0db5efe444f6f208aba8ebd57584f1ee52.tar.bz2
Module documentation command works again when invoked from the REPL.
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r--elisp/geiser-impl.el20
1 files changed, 12 insertions, 8 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index b50f7be..4f70b29 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -100,21 +100,25 @@
(when (geiser-impl--fboundp imp name)
(apply (geiser-impl--value imp name t) args)))
-(defun geiser-impl--install-eval (imp)
- (setq geiser-eval--get-module-function
- (geiser-impl--sym imp "get-module")
- geiser-eval--geiser-procedure-function
- (geiser-impl--sym imp "geiser-procedure")))
+(defsubst geiser-impl--module-function (impl)
+ (geiser-impl--sym impl "get-module"))
+
+(defsubst geiser-impl--geiser-procedure-function (impl)
+ (geiser-impl--sym imp "geiser-procedure"))
+
+(defun geiser-impl--install-eval (impl)
+ (setq geiser-eval--get-module-function (geiser-impl--module-function impl))
+ (setq geiser-eval--geiser-procedure-function
+ (geiser-impl--geiser-procedure-function impl)))
;;; Evaluating Elisp in a given implementation context:
(defun with--geiser-implementation (imp thunk)
(let ((geiser-impl--implementation imp)
- (geiser-eval--get-module-function
- (geiser-impl--sym imp "get-module"))
+ (geiser-eval--get-module-function (geiser-impl--module-function imp))
(geiser-eval--geiser-procedure-function
- (geiser-impl--sym imp "geiser-procedure")))
+ (geiser-impl--geiser-procedure-function imp)))
(funcall thunk)))
(put 'with--geiser-implementation 'lisp-indent-function 1)