From 9b2df64dc1b7500d771e5ddc87b63a0b50c492ea Mon Sep 17 00:00:00 2001 From: Dan Leslie Date: Thu, 20 Nov 2014 17:36:50 -0800 Subject: Initial Chicken support --- AUTHORS | 1 + INSTALL | 10 ++++++++++ Makefile.am | 3 +++ README | 4 ++++ README.elpa | 12 ++++++++++++ elisp/Makefile.am | 1 + elisp/geiser-impl.el | 2 +- elisp/geiser.el | 12 ++++++++++++ 8 files changed, 44 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index f8de9b2..fecd39d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -11,5 +11,6 @@ Ray Racine Nick Parker Darren Hoo Ludovic Courtès +Daniel J. Leslie See also . diff --git a/INSTALL b/INSTALL index 5148ea4..ea45e67 100644 --- a/INSTALL +++ b/INSTALL @@ -50,6 +50,16 @@ package-install-file. (require 'geiser-install) +* Chicken Addendum + These steps are necessary to fully support Chicken Scheme, but are + not required for any other scheme. + + - Install the necessary support eggs: + $ chicken-install -s apropos chicken-doc + - Update the Chicken documentation database: + $ cd `csi -p '(chicken-home)'` + $ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx + You're ready to go! Geiser's makefile accepts also all those other standard autotools diff --git a/Makefile.am b/Makefile.am index 38be6b2..75d3ac4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -25,10 +25,13 @@ elpa: README.elpa info $(mkdir_p) $(scheme_dir)/guile/geiser $(mkdir_p) $(scheme_dir)/racket/geiser + $(mkdir_p) $(scheme_dir)/chicken/geiser $(INSTALL_DATA) $(abs_top_srcdir)/scheme/guile/geiser/* \ $(scheme_dir)/guile/geiser $(INSTALL_DATA) $(abs_top_srcdir)/scheme/racket/geiser/* \ $(scheme_dir)/racket/geiser + $(INSTALL_DATA) $(abs_top_srcdir)/scheme/chicken/geiser/* \ + $(scheme_dir)/chicken/geiser $(INSTALL_DATA) $(srcdir)/doc/geiser.info $(elpa_dir) (cd $(elpa_dir) && install-info --dir=dir geiser.info 2>/dev/null) diff --git a/README b/README index 3537cea..cc8bf7e 100644 --- a/README +++ b/README @@ -32,6 +32,7 @@ supported scheme implementations: - Guile 2.0 or better. - PLT Racket 5.3 or better. + - Chicken 4.8.0 or better. * Installation @@ -42,6 +43,9 @@ or byte-compiled and installed after perfoming the standard configure/make/make install dance. See the INSTALL file for more details. + Chicken Scheme requires additional steps which are detailed in the INSTALL + file and the README.elpa file. + * Basic configuration The loading invocations above install all supported Scheme diff --git a/README.elpa b/README.elpa index 6b1cd66..e470dcc 100644 --- a/README.elpa +++ b/README.elpa @@ -34,6 +34,18 @@ Main functionalities: - Support for inline images in schemes, such as Racket, that treat them as first order values. + +Chicken Addendum: + These steps are necessary to fully support Chicken Scheme, but are + not required for any other scheme. + + - Install the necessary support eggs: + $ chicken-install -s apropos chicken-doc + + - Update the Chicken documentation database: + $ cd `csi -p '(chicken-home)'` + $ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx + See http://www.nongnu.org/geiser/ for the full manual in HTML form, or the the info manual installed by this package. diff --git a/elisp/Makefile.am b/elisp/Makefile.am index 4b2b511..085d716 100644 --- a/elisp/Makefile.am +++ b/elisp/Makefile.am @@ -20,6 +20,7 @@ dist_lisp_LISP = \ geiser-menu.el \ geiser-mode.el \ geiser-racket.el \ + geiser-chicken.el \ geiser-popup.el \ geiser-reload.el \ geiser-repl.el \ diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el index 38d22fa..d2b440a 100644 --- a/elisp/geiser-impl.el +++ b/elisp/geiser-impl.el @@ -28,7 +28,7 @@ :type 'symbol :group 'geiser-implementation) -(geiser-custom--defcustom geiser-active-implementations '(guile racket) +(geiser-custom--defcustom geiser-active-implementations '(guile racket chicken) "List of active installed Scheme implementations." :type '(repeat symbol) :group 'geiser-implementation) diff --git a/elisp/geiser.el b/elisp/geiser.el index 1905a0c..fb5b46a 100644 --- a/elisp/geiser.el +++ b/elisp/geiser.el @@ -80,6 +80,17 @@ (autoload 'connect-to-racket "geiser-racket" "Connect to a remote Geiser Racket REPL." t) +;;;###autoload +(autoload 'run-chicken "geiser-chicken" "Start a Geiser Chicken REPL." t) + +;;;###autoload +(autoload 'switch-to-chicken "geiser-chicken" + "Start a Geiser Chicken REPL, or switch to a running one." t) + +;;;###autoload +(autoload 'connect-to-chicken "geiser-chicken" + "Connect to a remote Geiser Chicken REPL." t) + ;;;###autoload (autoload 'geiser-mode "geiser-mode" "Minor mode adding Geiser REPL interaction to Scheme buffers." t) @@ -109,6 +120,7 @@ geiser-guile geiser-image geiser-racket + geiser-chicken geiser-implementation geiser-xref)) -- cgit v1.2.3