From 19f55b0b94c727a5eb34d39274c2f1038c122d95 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Tue, 22 Sep 2009 22:43:28 +0200 Subject: New implementation registration mechanism, for the elisp side of things. Implementations must invoke define-geiser-implementation with an appropriate set of methods. Simple inheritance is supported. Each geiser module defines and registers the method names it uses. --- elisp/geiser-guile.el | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'elisp/geiser-guile.el') diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el index fca4b01..806bc97 100644 --- a/elisp/geiser-guile.el +++ b/elisp/geiser-guile.el @@ -69,15 +69,6 @@ This function uses `geiser-guile-init-file' if it exists." (defconst geiser-guile-prompt-regexp "^[^() \n]+@([^)]*?)> ") -(defun switch-to-guile (&optional ask) - (interactive "P") - (switch-to-geiser ask 'guile)) - -(defun run-guile () - "Run Geiser using Guile." - (interactive) - (run-geiser 'guile)) - ;;; Evaluation support: @@ -158,6 +149,22 @@ This function uses `geiser-guile-init-file' if it exists." (save-excursion (goto-char (point-min)) (re-search-forward geiser-guile--module-re nil t))) + + +;;; Implementation definition: + +(define-geiser-implementation guile + (binary geiser-guile-binary) + (arglist geiser-guile-parameters) + (startup) + (prompt-regexp geiser-guile-prompt-regexp) + (marshall-procedure geiser-guile-geiser-procedure) + (find-module geiser-guile-get-module) + (find-symbol-begin geiser-guile-symbol-begin) + (display-error geiser-guile-display-error) + (display-help) + (check-buffer geiser-guile-guess)) + (provide 'geiser-guile) ;;; geiser-guile.el ends here -- cgit v1.2.3