diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-09 23:52:04 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-09 23:52:04 +0100 |
commit | 3b6e0b859262970b43672ed7c9207187b2518976 (patch) | |
tree | d0d838fb74c2cd027225ff96fd76625dcab16939 /elisp/geiser-repl.el | |
parent | 6d765e0f93254c1606e1d794b5376916750f3738 (diff) | |
download | geiser-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.el | 7 |
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) |