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
commit11e13d1bd7340f4f6baa059cb21f953771a09f58 (patch)
treecfacd6cfd79b76e86fbd49b0b53999ed141b09b5 /elisp/geiser-impl.el
parente85c207b39acb5ffe71810a1d96e1702f2859648 (diff)
downloadgeiser-11e13d1bd7340f4f6baa059cb21f953771a09f58.tar.gz
geiser-11e13d1bd7340f4f6baa059cb21f953771a09f58.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)