# 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!