From eafe05ed39cf33ed8a3dd6d6a875dc2be00a19d2 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Mon, 9 Mar 2009 23:52:04 +0100 Subject: 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 --- elisp/geiser-repl.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'elisp/geiser-repl.el') 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) -- cgit v1.2.3