From: Alex Smith Date: Thu, 8 Jan 2009 21:19:57 +0000 (-0500) Subject: Changelog entries for AnMaster's stuff X-Git-Tag: 0.29~156 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=918684bb41720648f07f5d83b0627200b519b8b8;p=intercal.git Changelog entries for AnMaster's stuff --- diff --git a/NEWS b/NEWS index 161a5c9..6dee510 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ Release 0.29 (by Alex Smith) -Bugs reported by Arvid Norlander +Changes reported or patched by Arvid Norlander 1. Fixed a typo in the perpet.c version of the help information. @@ -20,43 +20,51 @@ Bugs reported by Arvid Norlander 4. Fixed some nonsense in the -@ help screen that was generated by an errant search-and-replace. -Bugs reported by Elliott Hird +5. Made several changes to bring the new Befunge-98 interface code (see + below) in line with changes in the Befunge-98 interpreter in use. -5. Fixed the configure script to work with the default Debian shell dash. +6. Added consts and statics in the code, hopefully to make bugs easier to + notice. + +7. Refactored main(). It neeeded it, badly. + +Changes reported by Elliott Hird + +8. Fixed the configure script to work with the default Debian shell dash. (also reported independently by Debian) -6. Actually fixed unlambda.i; the fix was meant to be in 0.28, and is +9. Actually fixed unlambda.i; the fix was meant to be in 0.28, and is described in its changelog, but for some reason never made it to the distributed tarball. -7. The -F option again works. (AIS: I accidentally broke it in the preceding +10. The -F option again works. (AIS: I accidentally broke it in the preceding version, making it basically a no-op by mistake.) -8. The build now succeeds (with warnings) when lex or yacc are missing, +11. The build now succeeds (with warnings) when lex or yacc are missing, rather than failing with mysterious error messages that seem to have nothing to do with the problems. (The success is made possible by using the prebuilt versions; see change 11 of version 0.26, this is finishing what that started.) -Changes by Joris Huizer +Changes reported or patched by Joris Huizer -9. The [xoritself] optimiser idiom has been generalised to handle some +12. The [xoritself] optimiser idiom has been generalised to handle some situations where the redundant XOR operands are on different grouping levels; this helps to optimise some heavily inlined greater-than tests. -10. Fixed unary operators applied to constants (AIS: it seems that my patch to +13. Fixed unary operators applied to constants (AIS: it seems that my patch to solve this issue earlier was itself buggy). -11. The -g option now causes optimisation of the output compiled C to be +14. The -g option now causes optimisation of the output compiled C to be turned off, and adds comments to the output file the same way -c does. -12. Added more optimiser idioms: [cxorand16], [cxorand32], [cfoldintoorinand], +15. Added more optimiser idioms: [cxorand16], [cxorand32], [cfoldintoorinand], [or16and], [xor16and], [lshift32half], [rshiftoutofneg], [andoutofneg]; also generalised the idiom-matching code to compare 16-bit and 32-bit constants as equal if they have the same value, and fixed some typos in the current 16-bit complement idioms. -13. ABSTAINING or REINSTATING are now a lot more efficient, taking an amount +16. ABSTAINING or REINSTATING are now a lot more efficient, taking an amount of time proportional to the number of commands effected, rather than the number of commands in the program. (AIS: I implemented this with the algorithm in the patch Joris provided, but with different code, to make it @@ -64,15 +72,15 @@ Changes by Joris Huizer Bugs reported by the Debian autobuilders and Joey Hess -14. The build of the optimiser idioms is now split over many files, to reduce +18. The build of the optimiser idioms is now split over many files, to reduce the memory usage of gcc when it tries to compile the giant output C file. This was a problem on ia64. (The ulimit method of preventing thrashing has been removed, as this method works better; likewise, the optimiser optimisation now works again.) -Changes by Alex Smith +Changes patched by Alex Smith -15. The build system has been completely redone, again; it now uses automake +19. The build system has been completely redone, again; it now uses automake as well as a much newer version of autoconf. This means that there is now one build system that works the same way on all systems, and that all sorts of clever tricks like out-of-tree builds, a self-rebuilding build @@ -82,7 +90,7 @@ Changes by Alex Smith still there, but now there's prebuilt instead of temp, an extra directory buildaux, and bin, lib and include have disappeared. -16. The distribution now comes in compressed pax format. (Before anyone +20. The distribution now comes in compressed pax format. (Before anyone complains that they have no idea what that is, or that I'm using something strange and nonstandard, I'd like to point out that tar is no longer part of POSIX, but that pax is. (See man 5 tar on a recent Linux system for @@ -90,16 +98,16 @@ Changes by Alex Smith so tar readers should be able to read it just fine, if you can't get your hands on a pax reader.) -17. convickt can now produce its output as INTERCAL initialisation of a tail +21. convickt can now produce its output as INTERCAL initialisation of a tail array. (This doesn't auto-offset between the different characters; it is therefore mostly useful for producing Baudot arrays for CLC-INTERCAL-style IO.) -18. The function clock_gettime is now supported by the yuk profiler as an +22. The function clock_gettime is now supported by the yuk profiler as an alternative method of getting a high-resolution clock for profiling (it is available on at least Linux). -19. Added support for computed CREATE (the computation is done at create-time, +23. Added support for computed CREATE (the computation is done at create-time, rather than when the unknown statement is encountered); partly because this was rather easy, but mostly because it can be used to simulate a computed NEXT, thus making the example expansion library compunex (which I @@ -111,13 +119,13 @@ Changes by Alex Smith features of NEXT, anyway, rather than the small subset COMPUNEX could manage.) -20. Plugged a couple of small memory leaks; however, there are still several +24. Plugged a couple of small memory leaks; however, there are still several much bigger memory leaks that could do with being fixed. -21. Added support for CREATING operators, with similar syntax to the CREATION +25. Added support for CREATING operators, with similar syntax to the CREATION of commands. This requires the -ea options to be set to work properly. -22. More file extensions are now supported by the external calls system. The +26. More file extensions are now supported by the external calls system. The .c99 extension indicates a C99 (rather than C89) file; all .c99 files are preprocessed as C99, and if any C99 files are used the final compilation which compiles and links everything will be done as C99 rather than C89 @@ -129,24 +137,24 @@ Changes by Alex Smith locations instead of the current directory.) Other .a files can be linked in from the current directory. -23. Fixed the handling of division by zero in the syslibc expansion library. +27. Fixed the handling of division by zero in the syslibc expansion library. (The Revamped Manual states 'In all cases, division by 0 returns 0'.) -24. Made several changes to the documentation, including fixes for some rather +28. Made several changes to the documentation, including fixes for some rather nasty typos (two of the worst were specifying variables as IGNORED by default, and stating that select acts like OR in TriIntercal!). -25. Fixed a bug in the external calls system that made it impossible to write +29. 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. -26. Added support for external calls to Befunge-98 programs; however, this +30. Added support for external calls to Befunge-98 programs; however, this distribution does not ship with a Funge-98 interpreter, so in order to use this feature you will first have to compile a Funge-98 interpreter into a library for use with C-INTERCAL (see README.txt or the Revamped Manual for information on this). Also added a test program for this to the pit. -27. Fixed some bugs in the go-away command in interfunge.i. +31. Fixed some bugs in the go-away command in interfunge.i. Release 0.28 (by Alex Smith) 1 Apr 2008