[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken a35ce4e 065/102: Chicken 5 works with Geise
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken a35ce4e 065/102: Chicken 5 works with Geiser, many features removed |
Date: |
Sun, 1 Aug 2021 18:26:56 -0400 (EDT) |
branch: elpa/geiser-chicken
commit a35ce4ed5b28a3e49a42431bb867be020cb08ca1
Author: Dan Leslie <dan@ironoxide.ca>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Chicken 5 works with Geiser, many features removed
---
elisp/geiser-chicken.el | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 9f38354..dafdef9 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -109,12 +109,6 @@ this variable to t."
:type 'integer
:group 'geiser-chicken)
-(geiser-custom--defcustom geiser-chicken-required-modules
- (list "chicken-doc" "apropos" "data-structures" "extras" "ports" "posix"
"srfi-1" "srfi-13" "srfi-14" "srfi-18" "srfi-69" "tcp" "utils")
- "Modules automatically loaded in the Chicken REPL."
- :type '(repeat string)
- :group 'geiser-chicken)
-
;;; REPL support:
@@ -133,9 +127,7 @@ This function uses `geiser-chicken-init-file' if it exists."
,@n-flags "-include-path" ,(expand-file-name "chicken/" geiser-scheme-dir)
,@(apply 'append (mapcar (lambda (p) (list "-include-path" p))
geiser-chicken-load-path))
- ,@(and init-file (file-readable-p init-file) (list init-file))
- ,@(apply 'append (mapcar (lambda (m) (list "-R" m))
- geiser-chicken-required-modules)))))
+ ,@(and init-file (file-readable-p init-file) (list init-file)))))
(defconst geiser-chicken--prompt-regexp "#[^;]*;[^:0-9]*:?[0-9]+> ")
@@ -266,14 +258,17 @@ This function uses `geiser-chicken-init-file' if it
exists."
(defconst geiser-chicken-minimum-version "4.8.0.0")
(defun geiser-chicken--version (binary)
- (car (process-lines binary "-e" "(display (chicken-version))")))
+ (cadr
+ (split-string
+ (cadddr
+ (process-lines "csc" "-version")))))
(defun connect-to-chicken ()
"Start a Chicken REPL connected to a remote process."
(interactive)
(geiser-connect 'chicken))
-(defun geiser-chicken--compile-or-load (force-load)
+(defun geiser-chicken4--compile-or-load (force-load)
(let ((target
(expand-file-name "chicken/geiser/emacs.so" geiser-scheme-dir))
(source
@@ -295,9 +290,20 @@ This function uses `geiser-chicken-init-file' if it
exists."
suppression-prefix source target suppression-postfix)))))
(geiser-eval--send/wait load-sequence))))
+(defun geiser-chicken5-load ()
+ (let ((source (expand-file-name "chicken/geiser/chicken5.scm"
geiser-scheme-dir))
+ (suppression-prefix
+ "(define geiser-stdout (current-output-port))(current-output-port
(make-output-port (lambda a #f) (lambda a #f)))")
+ (suppression-postfix
+ "(current-output-port geiser-stdout)"))
+ (geiser-eval--send/wait (format "%s (load \"%s\") (import geiser) %s"
suppression-prefix source suppression-postfix))))
+
(defun geiser-chicken--startup (remote)
(compilation-setup t)
- (geiser-chicken--compile-or-load t))
+ (cond
+ ((version< (geiser-chicken--version nil) "5.0.0")
+ (geiser-chicken4--compile-or-load t))
+ (t (geiser-chicken5-load))))
;;; Implementation definition:
- [nongnu] elpa/geiser-chicken 2098767 046/102: Quoting binary on version checks (issue #117), (continued)
- [nongnu] elpa/geiser-chicken 2098767 046/102: Quoting binary on version checks (issue #117), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 42b18d5 045/102: Minor cleanup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1ff0274 048/102: Performance Improvements, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0bcd595 050/102: Fuzzy matching for Chicken AutoDoc and Completions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 5cc0dd2 052/102: Fix for #127, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 402e1bc 054/102: Minor typo, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken fc0c8e6 056/102: Disable aggressive prefix assumption, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1c969ee 058/102: Allows Chicken to limit the number of symbols provided to Geiser, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 26b1f56 059/102: Use (car (process-lines ...)) instead of (shell-command ...), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 17a3799 062/102: Removed rate limit setting., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken a35ce4e 065/102: Chicken 5 works with Geiser, many features removed,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chicken d69c1ea 069/102: Removed more unused code, speeding things up., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c85d953 071/102: Only check for specific chicken words, not all their keywords., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 3486915 075/102: geiser-chicken.el: Use a more stable API to get CHICKEN's version, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0740b46 076/102: Checking Chicken's version with the proper invocation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2caa284 072/102: Fixes autodoc in Chicken, #258, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d1abcb1 074/102: geiser-chicken.el: Fix jao's name, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken a6f88ca 081/102: Mark the beginning of code part of elisp libraries with Code: heading, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 616954d 078/102: Fix latest chicken. Add debug level logging. Fixed typo., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1854a39 086/102: geiser-chicken--version: Don't use a shell, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 885fed9 095/102: Nit: first -> car, Philip Kaludercic, 2021/08/01