From 669d6058c8d88016005cce9edc5d13a904c8770d Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 27 Feb 1998 07:08:21 -0500 Subject: [PATCH] Version number bump, 0.16 -> 0.17. --- Makefile | 14 +-- NEWS | 4 + intercal.lsm | 6 +- src/Makefile | 2 +- src/Makefile.in | 22 ----- src/NEWS | 250 ------------------------------------------------ src/feh.c | 8 +- 7 files changed, 21 insertions(+), 285 deletions(-) delete mode 100644 src/Makefile.in delete mode 100644 src/NEWS diff --git a/Makefile b/Makefile index 58d931b..ab12568 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,17 @@ # # Utility productions for the INTERCAL distribution # -VERSION = 0.16 -MANIFEST = `sed . + Release 0.16 (by Brian Raiter and Eric S. Raymond) 26 May 1997 This is the 25th-anniversary release of INTERCAL. This language, conceived diff --git a/intercal.lsm b/intercal.lsm index 42f7045..09e3b2f 100644 --- a/intercal.lsm +++ b/intercal.lsm @@ -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 diff --git a/src/Makefile b/src/Makefile index b2430c4..7fe38ea 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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 index 58d931b..0000000 --- a/src/Makefile.in +++ /dev/null @@ -1,22 +0,0 @@ -# -# Utility productions for the INTERCAL distribution -# -VERSION = 0.16 -MANIFEST = `sed 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 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 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 , 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 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 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. - diff --git a/src/feh.c b/src/feh.c index 3833be7..f2a77b4 100644 --- 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, -- 2.43.0