diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-22 22:43:28 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-22 22:43:28 +0200 |
commit | 19f55b0b94c727a5eb34d39274c2f1038c122d95 (patch) | |
tree | 0f719a7c4c381f5b8631288a840456797bfc124b | |
parent | 236ec5f042d70836db8eeba819b528989b477fac (diff) | |
download | geiser-guile-19f55b0b94c727a5eb34d39274c2f1038c122d95.tar.gz geiser-guile-19f55b0b94c727a5eb34d39274c2f1038c122d95.tar.bz2 |
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.
-rw-r--r-- | elisp/geiser-guile.el | 25 |
1 files changed, 16 insertions, 9 deletions
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 |