summaryrefslogtreecommitdiff
path: root/elisp/geiser-repl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-09 23:52:04 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-09 23:52:04 +0100
commit3b6e0b859262970b43672ed7c9207187b2518976 (patch)
treed0d838fb74c2cd027225ff96fd76625dcab16939 /elisp/geiser-repl.el
parent6d765e0f93254c1606e1d794b5376916750f3738 (diff)
downloadgeiser-3b6e0b859262970b43672ed7c9207187b2518976.tar.gz
geiser-3b6e0b859262970b43672ed7c9207187b2518976.tar.bz2
Support for multiple Scheme implementations, Chapter 1.
* Evaluation system is now pluggable * The rest of the system understands said pluggability * Guile provides its own implementation (geiser-guile) * The reload system is aware of the new kids on the block
Diffstat (limited to 'elisp/geiser-repl.el')
-rw-r--r--elisp/geiser-repl.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index a5f424b..7232b99 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -26,6 +26,7 @@
(require 'geiser-autodoc)
(require 'geiser-edit)
+(require 'geiser-impl)
(require 'geiser-eval)
(require 'geiser-connection)
(require 'geiser-custom)
@@ -193,6 +194,8 @@ REPL buffer."
(when (not (eq (char-after (point)) ?\())
(skip-syntax-forward "^(" p))))
+(defun geiser-repl--module-function (&optional ignore) :f)
+
(define-derived-mode geiser-repl-mode comint-mode "Geiser REPL"
"Major mode for interacting with an inferior Guile repl process.
\\{geiser-repl-mode-map}"
@@ -203,7 +206,9 @@ REPL buffer."
(set (make-local-variable 'beginning-of-defun-function)
'geiser-repl--beginning-of-defun)
(set-syntax-table scheme-mode-syntax-table)
- (geiser-eval--current-module-function nil)
+ ;;; TODO: fix this call when we add support to multiple implementations
+ (geiser-impl--set-buffer-implementation)
+ (setq geiser-eval--get-module-function 'geiser-repl--module-function)
(when geiser-repl-autodoc-p (geiser-autodoc-mode 1)))
(define-key geiser-repl-mode-map "\C-cz" 'run-guile)