]> thyrsus.com Git - intercal.git/commitdiff
Version number bump, 0.16 -> 0.17.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 27 Feb 1998 12:08:21 +0000 (07:08 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 26 Aug 2010 00:34:20 +0000 (20:34 -0400)
Makefile
NEWS
intercal.lsm
src/Makefile
src/Makefile.in [deleted file]
src/NEWS [deleted file]
src/feh.c

index 58d931b97758c030e258a82c3cff6f485791ef5d..ab12568aed8b7372fbb5c13d764bebcf205de884 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,17 @@
 #
 # Utility productions for the INTERCAL distribution
 #
-VERSION = 0.16
-MANIFEST = `sed <intercal-$(VERSION)/MANIFEST -e "s/^/intercal-$(VERSION)\//"`
+VERSION = 0.17
 
 tgz: intercal-$(VERSION).tar.gz
 tar: intercal-$(VERSION).tar
 
-intercal-$(VERSION).tar.gz: intercal-$(VERSION).tar
-       gzip -f intercal-$(VERSION).tar
-intercal-$(VERSION).tar:
-       (cd ..; tar cvf ick.tar $(MANIFEST))
-       mv ../ick.tar ./intercal-$(VERSION).tar
+# This requires my patch to tar-1.12, or a stock tar-1.13 (not yet released);
+# the version must implement the --name-prefix option.
+intercal-$(VERSION).tar.gz: $(all)
+       tar --name-prefix='intercal-$(VERSION)/' -czf intercal-$(VERSION).tar.gz `cat MANIFEST`
+
+
 
 SHAROPTS = -l63 -n intercal -o intercal -a -s esr@snark.thyrsus.com 
 shar:
diff --git a/NEWS b/NEWS
index 1b5818d743bd6461762bc4c31ae5e5ff846820e0..22a2b4ba2c8d0cbe5f8c8bdc47154115c9682251 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,9 @@
                        NEW IN THIS RELEASE
 
+       Release 0.17 (by Eric S. Raymond) 27 Feb 1998
+
+Incorporates a minor bug fix by Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>.
+
        Release 0.16 (by Brian Raiter and Eric S. Raymond) 26 May 1997
 
 This is the 25th-anniversary release of INTERCAL.  This language, conceived 
index 42f7045aaf38f4448e3a1f6e934264bdb069ad55..09e3b2fb0753a609e04068608e0cbab7aa64a6b4 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title:         intercal
-Version:       0.16
-Entered-date:  26MAY97
+Version:       0.17
+Entered-date:  27FEB98
 Description:   An implementation of the language INTERCAL, legendary for
                its perversity and horribleness (this version adds COME FROM
                for extra flavor).  Comes with language manual and examples
@@ -10,7 +10,7 @@ Keywords:     language, compiler, retrocomputing, geek humor
 Author:        esr@snark.thyrsus.com (Eric S. Raymond)
 Maintained-by: esr@snark.thyrsus.com (Eric S. Raymond)
 Primary-site:  locke.ccil.org /pub/esr
-               166K intercal-0.16.tar.gz
+               166K intercal-0.17.tar.gz
 Platforms:     All
 Copying-policy:        GPL
 End
index b2430c48af9f3297135be6f8a52f8ccea4e7390e..7fe38eab940e81d45a879315301f746318d6909f 100644 (file)
@@ -8,7 +8,7 @@
 # all over creation behind your back.
 # (/dev/null may be another good choice :-))
 
-DVMT=~/WWW/intercal-0.16
+DVMT=~/WWW/intercal-0.17
 #DVMT=/usr/local
 
 BINDIR = $(DVMT)/bin
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644 (file)
index 58d931b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Utility productions for the INTERCAL distribution
-#
-VERSION = 0.16
-MANIFEST = `sed <intercal-$(VERSION)/MANIFEST -e "s/^/intercal-$(VERSION)\//"`
-
-tgz: intercal-$(VERSION).tar.gz
-tar: intercal-$(VERSION).tar
-
-intercal-$(VERSION).tar.gz: intercal-$(VERSION).tar
-       gzip -f intercal-$(VERSION).tar
-intercal-$(VERSION).tar:
-       (cd ..; tar cvf ick.tar $(MANIFEST))
-       mv ../ick.tar ./intercal-$(VERSION).tar
-
-SHAROPTS = -l63 -n intercal -o intercal -a -s esr@snark.thyrsus.com 
-shar:
-       (cd ..; shar $(SHAROPTS) $(MANIFEST) >intercal-$(VERSION).shar)
-
-clean:
-       rm -f intercal-$(VERSION).shar intercal-$(VERSION).tar intercal-$(VERSION).tar.gz
-
diff --git a/src/NEWS b/src/NEWS
deleted file mode 100644 (file)
index 1b5818d..0000000
--- a/src/NEWS
+++ /dev/null
@@ -1,250 +0,0 @@
-                       NEW IN THIS RELEASE
-
-       Release 0.16 (by Brian Raiter and Eric S. Raymond) 26 May 1997
-
-This is the 25th-anniversary release of INTERCAL.  This language, conceived 
-in irony a quarter century ago today, has outlasted many more serious and
-high-minded essays in computer language design.  This fact should give us
-pause to reflect, or possibly frighten the crap out of us.  Or both.
-
-1. Corrected manual bugs.
-
-2. Fixed over-enthusiastic install production in the Makefile.
-
-3. DO PLEASE is no longer accepted (Brian Raiter pointed out that the
-   manual does not sanction it).
-
-4. Fixed various bugs in the optimizer.
-
-5. Incorporated fixes made by William Walter Patterson for bugs that
-   appeared when multiple files are given on the command line.
-
-(The following changes are due to Brian Raiter)
-
-6. The system library is now available for TriINTERCAL (all bases, 3 to 7).
-   The compiler has been updated to use the right library automagically.
-
-7. The error 774 feature has been brought into conformance with the
-   Princeton compiler. The odds are now a flat 10% (but still 0% with -b).
-
-8. The compiler has been modified to allocate memory dynamically, and
-   the hard-coded limits on program size and number of variables has
-   been removed. Programs are now only limited by the amount of
-   available memory.
-
-9. Array output now fflushes after outputting newlines.
-
-10. Two minor bug fixes: one in wimpmode input, which was clamping
-    input to the signed integer range, and one in politesse checking.
-    The latter was causing programs to be recognized as impolite only
-    if their ratio was less that one-sixth, not one-fifth. (Fixing this
-    also necessitated adding a few PLEASEs to pit/rot13.i.)
-
-11. Several new programs have been tossed into the pit.
-
-               Release 0.15 (by Eric S. Raymond) 20 Jun 1996
-
-1. Switched the INTERCAL manual master to mgm in order to be able to handle
-   section crossreferences properly.  The manual has now been carefully
-   proofread against the paper version by ESR and seems to match.  It's
-   also been independently proofread for typos by Brian Raiter.
-
-2. The optimizer now does complete analysis and evaluation of constant
-   expressions at compile time.
-
-3. Added optimization templates for ~, |, &, ^ expressions.  Also added 
-   |, &, ^ idioms to the system library, and documented them.
-
-(The following changes are due to Brian Raiter)
-
-4. Every one of the INTERCAL-72 messages is now emitted when appropriate.
-   including the previously un-emitted E000, E197, and E200 (and see below).
-
-5. A close reading (while proofing) of the sections of the manual on
-   error messages seems to indicate that splatted lines were only
-   splatted in the default listing printed after a successful
-   compile. (This seems to be a standard feature of IBM compilers; I
-   remember that RPG did this as well.) My understanding of the manual is
-   when the syntactically offensive line is encountered at runtime, it is
-   printed as error E000. I have modified the code to do this.
-
-6. I have fixed INTERCAL in order to add another bug. Namely, I have
-   implemented the BUG/NOBUG option in the Princeton compiler. By
-   default, there is a chance that INTERCAL will randomly insert error
-   E774 into your executable. (The odds are 1/128 per statement, not
-   counting COME FROMs. Is there any way to find out what the
-   Princeton compiler's odds were?) The new option -b turns this
-   feature off.
-
-7. The new file pit/lib/numio.i contains routines for wimpmode I/O.
-   These routines are documented in the file pit/lib/numio.doc.
-   It is my earnest hope that C-INTERCAL programmers everywhere will
-   flock to these handy routines, and C-INTERCAL users will thus no
-   longer need to fear that they might succumb to the foul and awful
-   temptation to use the dastardly +wimpmode option.
-
-               Release 0.14 (by Eric S. Raymond) 9 Jun 1996
-
-1. The documentation has been reorganized and cleaned up (you can now
-   format either a C-INTERCAL or INTERCAL-72 manual from the same master).
-   The diagrams in the paper original have been transcribed as pic figures.
-   See doc/READ.ME for details.
-
-2. Yet more code.  The pit now includes a second random-number generator,
-   a ROT13 filter, and even two programs in TriINTERCAL!
-
-3. Louis Howell's corrected system library is now included.
-
-4. The distribution is now formally GPLed.
-
-               Release 0.13 (by Eric S. Raymond) 5 Jun 1996
-
-1. I folded in patches by Brian Raiter <breadbox@muppetlabs.com> that port
-   this code to Linux, ANSIfies it, and enables it to use flex.  Note: This 
-   version has been tested on Linux and SunOS but not yet elsewhere.
-
-2. Another piece of nontrivial INTERCAL code has been found!  (Doubtless
-   hell is freezing over even as I write.)  We've added to the pit the
-   `beer' program by Matt DiMeo <mdimeo@brooktree.com>, courtesy of the
-   infamous Beer List (URL:http://www.ionet.net/~timtroyr/funhouse/beer.html).
-
-               Release 0.12 (by Eric S. Raymond) 22 Mar 1995
-
-1. The code now compiles and runs under Linux, using bison and lex.  It does
-   *not* yet work with flex;  C.P. Osborne's patches for 0.11 turned out not
-   to be sufficient (at least for flex 2.4.6 under Linux using the -l option).
-   See the BUGS list.
-
-2. Note 3 under 0.11 was incorrect.  We're in conformance after all.
-
-3. The politesse check is a little smarter about programs too small to
-   conform to the 1/5-to-1/3 criterion.  All the pit programs have been
-   checked for conformance.  Also, the politesse error message now tells
-   you the offending program's line count.
-
-               Release 0.11 (by Eric S. Raymond) 24 Sep 1994
-
-1. Incorporated changes by Jan-Pieter Cornet <cornet@OTech.fgg.EUR.nl> for
-   magical inclusion of the system library.  These address an outstanding bug
-
-   2. (SS) The `system library' should be precompiled and `linked' to user
-      written code, at least optionally.  Doing this with the current compiler
-      presents a few problems.
-
-   which has accordingly been removed from the BUGS file.  They also fix a
-   previously unknown bug; due to a minor oversight in the lexer, it was not
-   possible to ABSTAIN FROM WRITING IN or READING OUT.  Jan also contributed
-   a test program that demonstrates gerund abstention.
-
-2. Despite the obvious appeal of the idea, and much discussion on
-   alt.lang.intercal, I decided *not* to add Klingon; maintaining two parallel
-   grammars just so the compiler could support SVO and OSV languages would be
-   too painful.  There was also a minor mess near case-sensitivity in the
-   digits.  The workaround kluges I was offered instead failed to satisfy.
-
-3. We fess up to a violation of the INTERCAL-72 standard.  That implementation,
-   instead of accepting an entire multiple-digit number per line of input,
-   expected one digit per *card image* (input line).  It is unclear how 
-   INTERCAL-72 programs ever managed to input more than one number.
-
-4. Added patches by C.P.Osborne <boris@ibmpcug.co.uk> to make the lexer work
-   using flex, for Linux and BSD/386 support.  I didn't use his error-reporting
-   patch, though; instead, I changed the parser to catch errors at logical-line
-   level.  I also kept the N in `RESUBNIT'; this is a carefully preserved 
-   feature of INTERCAL-72.
-
-5. Volapuk digits are now recognized on input.  TO DO: Recognize Volapuk
-   keywords, including gerunds.
-
-               Release 0.10 (by Eric S. Raymond) 9 Sep 1994
-
-1. It is now possible to undo a line-number abstention with a gerund
-   reinstatement, or undo a gerund abstention with a line-number 
-   reinstatement.  In previous versions, gerund abstention/reinstatements and
-   line-number abstention/reinstatements were independent of each other.
-
-2. After release 0.5, I wrote in the TO DO list as follows:
-  
-   2. (ESR) Input format internationalization -- allow WRITE IN input digits in
-     major languages such as Nahuatl, Tagalog, Sanskrit, and Basque.
-  
-   The twisted loons in the alt.folklore.computers crowd loved this idea,
-   and I actually got sent digit lists for Nahuatl, Tagalog, Sanskrit, and
-   Basque -- also, Kwakiutl, Georgian, Ojibwe, and Albanian.  I've left
-   out Albanian (didn't want to keep track of the dipthong diacritical)
-   and Ojibwe (no zero digit).  So: Nahuatl, Tagalog, Sanskrit, Basque,
-   Georgian, and Kwakiutl are now supported in addition to English.
-
-3. The THEORY document has been significantly revised.
-
-               Release 0.9 (by Eric S. Raymond) 5 Mar 1993
-
-1. An embarrassing port bug in the INTERCAL skeleton has been fixed
-
-2. Jamie Zawinski's suggestion for an improved E333 error message has
-   been accepted.
-
-3. Added and improved documentation for pit programs.
-
-4. The install production in the Makefile now puts lose.h in place
-   as well as cesspool.h.
-
-5. You can now set the C compiler to be used as a back end by INTERCAL
-   by setting the environment variable CC.  The default is cc.
-
-               Release 0.8 (many hacks on 0.7 by Eric Raymond) 21 Jan 1992
-
-1. A previously undocumented `feature' of the Princeton compiler,
-   revealed by Don Woods, is now emulated.  If fewer than 1/5 or more
-   than 1/3 of a program's statements contain the qualifier `PLEASE', the
-   program is rejected with an entertaining error message.  Programs in pit
-   have been hacked to pass the politesse test.
-
-2. The `sample' program now works correctly, thanks to Louis Howell.  Also,
-   he has contributed new programs to calculate pi and to search for prime
-   numbers.
-
-3. An intercal mode for GNU Emacs is included.  It helps programmers deal with
-   the new politesse check by randomly expanding the abbrev "do" to DO PLEASE
-   or PLEASE DO about 1/4 of the time.
-
-4. Improvements in code generation for NEXT/RESUME.
-
-5. Fixes to the optimizer; it handles the results of optimized MINGLEs
-   correctly now.  Also, added a rewrite rule that checks for the
-   equality-test idiom using XOR.
-
-6. The original error messages from the Princeton compiler have been restored.
-
-The documentation has been updated to reflect these changes.
-
-               Release 0.7 (by Louis Howell) 21 Dec 1991
-
-In addition to bug fixes, new features in this version include arrays,
-character I/O, modified (hopefully improved!) semantics for the COME
-FROM statement, extensions to bases other than 2, new INTERCAL programs,
-and new documentation.
-
-               Release 0.6 (by Steve Swales) 5 Jan 1991
-
-1. Restored Princeton documentation (courtesy of Michael Ernst).
-
-2. Added -@ usage option to ick.
-
-3. Added [+/-]help, [+/-]traditional, and [+/-]wimpmode options for
-generated programs; [+/-]traditional is a no-op at this point.
-
-4. Various bug fixes, esp. in lexical analysis.
-
-               Release 0.5 (ESR's original pre-release) 5 Jun 1990
-
-1. As a convenience to all you junior birdmen out there, `NINER' is accepted as
-   a synonym for `NINE' in INTERCAL input.
-
-2. The COME FROM statement is now compiled. 
-
-                       -------------
-
-The resurrection of INTERCAL from its grave took place on 12 May 90
-when ESR released 0.3 on an unsuspecting USENET.
-
index 3833be77d7fb98891ec2a45e40c81b6651be0947..f2a77b4c09adfdd26b38403958fee36b8e6709eb 100644 (file)
--- a/src/feh.c
+++ b/src/feh.c
@@ -855,10 +855,12 @@ void emit(tuple *tn, FILE *fp)
        break;
 
     case ENABLE:
+        (void) fprintf(fp,
+                      "\tint i;\n");
        for (np = tn->u.node; np; np = np->rval)
        {
            (void) fprintf(fp,
-                          "\tint i;\n\n\tfor (i = 0; i < (int)(sizeof(linetype)/sizeof(int)); i++)\n");
+                          "\n\tfor (i = 0; i < (int)(sizeof(linetype)/sizeof(int)); i++)\n");
            (void) fprintf(fp,
                           "\t    if (linetype[i] == %s)\n", enablers[np->constant-GETS]);
            (void) fprintf(fp,
@@ -867,10 +869,12 @@ void emit(tuple *tn, FILE *fp)
        break;
 
     case DISABLE:
+        (void) fprintf(fp,
+                      "\tint i;\n");
        for (np = tn->u.node; np; np = np->rval)
        {
            (void) fprintf(fp,
-                          "\tint i;\n\n\tfor (i = 0; i < (int)(sizeof(linetype)/sizeof(int)); i++)\n");
+                          "\n\tfor (i = 0; i < (int)(sizeof(linetype)/sizeof(int)); i++)\n");
            (void) fprintf(fp,
                           "\t    if (linetype[i] == %s)\n", enablers[np->constant-GETS]);
            (void) fprintf(fp,