# New Ticket Created by  Andreas Rottmann 
# Please include the string:  [perl #52934]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52934 >



The attached patch adds Chicken support to Eclectus, and changes the
test harness on Win32 to use Chicken instead of Petite Chez.

Chicken support

From: Andreas Rottmann <[EMAIL PROTECTED]>


---

 MANIFEST                               |    1 +
 languages/eclectus/chicken/prelude.scm |   34 ++++++++++++++++++++++++++++++++
 languages/eclectus/t/harness           |    3 ++-
 3 files changed, 37 insertions(+), 1 deletions(-)
 create mode 100644 languages/eclectus/chicken/prelude.scm


diff --git a/MANIFEST b/MANIFEST
index 77cc912..40a8b1c 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1309,6 +1309,7 @@ languages/dotnet/tools/benchmark.pl                         [dotnet]
 languages/dotnet/tools/fail_analysis.pl                     [dotnet]
 languages/eclectus/MAINTAINER                               [eclectus]
 languages/eclectus/README                                   [eclectus]
+languages/eclectus/chicken/prelude.scm                      [eclectus]
 languages/eclectus/compiler.scm                             [eclectus]
 languages/eclectus/config/makefiles/root.in                 [eclectus]
 languages/eclectus/docs/eclectus.pod                        [eclectus]
diff --git a/languages/eclectus/chicken/prelude.scm b/languages/eclectus/chicken/prelude.scm
new file mode 100644
index 0000000..e6a915f
--- /dev/null
+++ b/languages/eclectus/chicken/prelude.scm
@@ -0,0 +1,34 @@
+(use srfi-9)
+(use srfi-1)
+
+(define-syntax unless
+  (syntax-rules ()
+    ((unless condition body1 body ...)
+     (if (not condition)
+         (begin body1 body ...)))))
+
+(define (make-eq-hashtable)
+  (make-hash-table eq?))
+
+(define (hashtable-ref tbl key default)
+  (hash-table-ref/default tbl key default))
+
+(define (hashtable-set! tbl key value)
+  (hash-table-set! tbl key value))
+
+(define (printf fmt . args)
+  (apply format #t fmt args))
+
+(define (fprintf port fmt . args)
+  (apply format port fmt args))
+
+(define (flush-output-port . port-opt)
+  (apply flush-output port-opt))
+
+(define open-output-file
+  (let ((chicken:open-output-file open-output-file))
+    (lambda (filename mode)
+      (chicken:open-output-file filename))))
+
+(define (atom? x)
+  (not (pair? x)))
diff --git a/languages/eclectus/t/harness b/languages/eclectus/t/harness
index bb811fa..5b7eb8f 100644
--- a/languages/eclectus/t/harness
+++ b/languages/eclectus/t/harness
@@ -31,7 +31,8 @@ use lib qw( ../lib ../../lib ../../lib );
 use Parrot::Test::Harness
     language => 'eclectus',
     exec     => ($^O eq 'MSWin32')
-              ? [ 'petite', '--script' ]
+              ? [ 'csi', '-R', 'riaxpander', '-i', '-k', 'none',
+		  '-e', '(load "chicken/prelude.scm")', '-s' ]
               : [ 'gosh', '-fcase-fold', '-I', '.',  '-l', 'gauche/prelude.scm' ],
     #exec     => [ 'guile', '--debug', '-l', 'guile/prelude.scm', '-s' ],
     files    => [ 't/*.pl' ];
Regards, Rotty
-- 
Andreas Rottmann         | [EMAIL PROTECTED]      | [EMAIL PROTECTED] | [EMAIL 
PROTECTED]
http://rotty.uttx.net    | GnuPG Key: http://rotty.uttx.net/gpg.asc
Fingerprint              | C38A 39C5 16D7 B69F 33A3  6993 22C8 27F7 35A9 92E7
v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com

It's *GNU*/Linux dammit!

Reply via email to