]> thyrsus.com Git - intercal.git/commitdiff
Fix COME FROM in multiple input files
authorAlex Smith <ais523@bham.ac.uk>
Sat, 5 Jul 2008 19:06:07 +0000 (15:06 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 26 Aug 2010 00:35:07 +0000 (20:35 -0400)
NEWS.txt
src/perpet.c

index f6ffd24916ebe0234e1abf57b5a8c6f95c82fd6f..940c280aa6facdcfdf6cd2739ea50e67521999e5 100644 (file)
--- 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
index 5f59bd75bc33c9262490220ae7d2a2e996b90325..8b439b3d313ec4740262633bcd0382a74cfe4959 100644 (file)
@@ -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)