From: Alex Smith Date: Sat, 5 Jul 2008 19:06:07 +0000 (-0400) Subject: Fix COME FROM in multiple input files X-Git-Tag: 0.29~208 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=16506d6c034ab63cce1cf4d4067b1b466925aa17;p=intercal.git Fix COME FROM in multiple input files --- diff --git a/NEWS.txt b/NEWS.txt index f6ffd24..940c280 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -128,6 +128,10 @@ Changes by Alex Smith nasty typos (two of the worst were specifying variables as IGNORED by default, and stating that select acts like OR in TriIntercal!). +23. Fixed a bug in the external calls system that made it impossible to write + a COME FROM in more than one file at a time whilst still having the + resulting program work reliably. + Release 0.28 (by Alex Smith) 1 Apr 2008 Patches, suggestions and bugs found by Joris Huizer diff --git a/src/perpet.c b/src/perpet.c index 5f59bd7..8b439b3 100644 --- a/src/perpet.c +++ b/src/perpet.c @@ -1580,10 +1580,10 @@ int main(int argc, char *argv[]) C-INTERCAL preprocessor (that handles WHILE); that isn't a problem because external calls are inconsistent with multithreading anyway. */ - long ppnum1=65538L*2L; - long ppnum2=65538L*2L; - long ppnum3=65538L*2L; - long ppnum6=65538L*2L; + static long ppnum1=65538L*2L; + static long ppnum2=65538L*2L; + static long ppnum3=65538L*2L; + static long ppnum6=65538L*2L; long ciopos=0L; /*@+charintliteral@*/ /* literal chars are ints */ while(inchar != EOF)