summaryrefslogtreecommitdiff
path: root/elisp/geiser-guile.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-22 22:43:28 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-22 22:43:28 +0200
commitac2066b6f439b2497e761fbd99c9675db0b03bbd (patch)
tree0370d7256ca125510dba4b5912220a7d064fb702 /elisp/geiser-guile.el
parent8588781981a686dbd921c377fa9887bcd74728af (diff)
downloadgeiser-chez-ac2066b6f439b2497e761fbd99c9675db0b03bbd.tar.gz
geiser-chez-ac2066b6f439b2497e761fbd99c9675db0b03bbd.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.
Diffstat (limited to 'elisp/geiser-guile.el')
-rw-r--r--elisp/geiser-guile.el25
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