summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-08 01:48:52 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-08 01:48:52 +0200
commitc09f5bbaa836d04a9babdff0943dc596dbc68e38 (patch)
treee2c9c91fa86534ba9479c03a067164947fb034d1 /elisp/geiser-impl.el
parent9127a121c76f5d5606bca9a668bda5509ec3b830 (diff)
downloadgeiser-chez-c09f5bbaa836d04a9babdff0943dc596dbc68e38.tar.gz
geiser-chez-c09f5bbaa836d04a9babdff0943dc596dbc68e38.tar.bz2
Module completion generalized and implemented for PLT.
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r--elisp/geiser-impl.el18
1 files changed, 14 insertions, 4 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index 75a4ca7..13e5ead 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -28,6 +28,7 @@
(require 'geiser-eval)
(require 'geiser-base)
(require 'geiser-doc)
+(require 'geiser-completion)
;;; Customization:
@@ -130,23 +131,32 @@
(let ((f (geiser-impl--sym impl "external-help")))
(and (fboundp f) f)))
+(defsubst geiser-impl--symbol-begin (impl)
+ (geiser-impl--sym impl "symbol-begin"))
+
(defun geiser-impl--install-eval (impl)
- (setq geiser-eval--get-module-function (geiser-impl--module-function impl))
+ (setq geiser-eval--get-module-function
+ (geiser-impl--module-function impl))
(setq geiser-eval--geiser-procedure-function
(geiser-impl--geiser-procedure-function impl))
(setq geiser-doc--external-help-function
- (geiser-impl--external-help-function impl)))
+ (geiser-impl--external-help-function impl))
+ (setq geiser-completion--symbol-begin-function
+ (geiser-impl--symbol-begin 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--module-function imp))
+ (geiser-eval--get-module-function
+ (geiser-impl--module-function imp))
(geiser-eval--geiser-procedure-function
(geiser-impl--geiser-procedure-function imp))
(geiser-doc--external-help-function
- (geiser-impl--external-help-function imp)))
+ (geiser-impl--external-help-function imp))
+ (geiser-completion--symbol-begin-function
+ (geiser-impl--symbol-begin imp)))
(funcall thunk)))
(put 'with--geiser-implementation 'lisp-indent-function 1)