[Rt-commit] [svn] r1012 - in mzscheme: . Language-MzScheme Language-MzScheme/t/scripts

autrijus at pallas.eruditorum.org autrijus at pallas.eruditorum.org
Mon Jun 7 02:31:08 EDT 2004


Author: autrijus
Date: Mon Jun  7 02:31:08 2004
New Revision: 1012

Modified:
   mzscheme/   (props changed)
   mzscheme/Language-MzScheme/Makefile.PL
   mzscheme/Language-MzScheme/mzscheme.i
   mzscheme/Language-MzScheme/t/scripts/three.pl
Log:
 ----------------------------------------------------------------------
 r5442 at not:  autrijus | 2004-06-07T06:31:27.779240Z
 
 * attempt to fix stack corruption.
 ----------------------------------------------------------------------


Modified: mzscheme/Language-MzScheme/Makefile.PL
==============================================================================
--- mzscheme/Language-MzScheme/Makefile.PL	(original)
+++ mzscheme/Language-MzScheme/Makefile.PL	Mon Jun  7 02:31:08 2004
@@ -46,17 +46,22 @@
 WriteAll( sign => 1 );
 
 sub make_hi {
-    local $/ = ";\n";
-
     open IN, "$include/scheme.h" or die $!;
     open OUT, "> scheme.hi" or die $!;
     while (<IN>) {
-        s/.*?^enum\b/enum/ms or next;
-        print OUT $_, "\n";
+        #s/.*?^enum\b/enum/ms or next;
+        next if /^#include\b/;
+        next if /typedef struct Scheme_Jumpup_Buf \{/ .. /\} Scheme_Jumpup_Buf/;
+        next if /typedef struct Scheme_Thread \{/ .. /\} Scheme_Thread/;
+        if (/^MZ_EXTERN/) {
+            s/^MZ_EXTERN\s(.*?)\(\*(.*?)\)/$1$2/ or next;
+        }
+        print OUT $_;
     }
     close OUT;
     close IN;
 
+    local $/ = ";\n";
     open IN, "$include/schemef.h" or die $!;
     open OUT, "> schemef.hi" or die $!;
     while (<IN>) {

Modified: mzscheme/Language-MzScheme/mzscheme.i
==============================================================================
--- mzscheme/Language-MzScheme/mzscheme.i	(original)
+++ mzscheme/Language-MzScheme/mzscheme.i	Mon Jun  7 02:31:08 2004
@@ -6,6 +6,6 @@
 Scheme_Config   *scheme_config;
 Scheme_Env      *scheme_basic_env(void);
 Scheme_Object   *scheme_get_param(Scheme_Config *c, const int pos);
+void scheme_set_stack_base(void *base, int no_auto_statics);
 
 #include "scheme.hi"
-#include "schemef.hi"

Modified: mzscheme/Language-MzScheme/t/scripts/three.pl
==============================================================================
--- mzscheme/Language-MzScheme/t/scripts/three.pl	(original)
+++ mzscheme/Language-MzScheme/t/scripts/three.pl	Mon Jun  7 02:31:08 2004
@@ -3,8 +3,13 @@
 use strict;
 use Language::MzScheme;
 
+scheme_set_stack_base(undef, 1);
 my $env = scheme_basic_env();
+scheme_set_stack_base(undef, 1);
 my $out = scheme_get_param($scheme_config, $MZCONFIG_OUTPUT_PORT);
+scheme_set_stack_base(undef, 1);
 my $val = scheme_eval_string('(+ 1 2)', $env);
+scheme_set_stack_base(undef, 1);
 scheme_display($val, $out);
+scheme_set_stack_base(undef, 1);
 scheme_display(scheme_make_char("\n"), $out);


More information about the Rt-commit mailing list