1 Regina 0.08e 2 26 June 1998 3 4 5Changes in this release (from 0.08d) 6------------------------------------ 7 8o Fixed a bug in Termination System Exit. It would not get called 9 if the Rexx program uses the EXIT instruction to terminate. 10o Fixed the problem in execiser where variables that have no value are 11 specified in lower case in System Exits, do not return their name 12 in upper case as thier default value. 13o The UNAME BIF now reports more useful information when running under 14 Windows NT or Windows 95. 15o Fixed a couple of crash situations when LEAVEing from a DO/END loop. 16 Thanks to Florian Grosse-Coosmann for supplying the fixes. 17o The Regina, curses interface and demo program hanoi.rexx have been 18 removed from this distribution. They are distributed as a seperate 19 package under the name Rexx/Curses. 20o The BIFs LINES, CHARS, LINEIN, LINEOUT, CHARIN and CHAROUT now read 21 or write to/from stdout if the first parameter is the empty string. 22o The BIF POPEN now writes lines onto the stack in FIFO order rather 23 than LIFO order. 24o Added support for piping output of an operating system command to 25 RXQUEUE. While Regina does not have an external queue, it is possible 26 to do: 27 /**/ 28 'ls | rxqueue' 29 Do While Queued() > 0 30 Parse Pull line 31 Say line 32 End 33 The above support is identical to the current >FIFO redirection 34 support and is provided for portability in code (but not functionality) 35o Fixed OPTIONS support. Due to the way it was implemented, OPTIONS 36 would not work correctly on Intel-based machines. 37o Added two extra OPTIONS keywords: EXT_COMMANDS_AS_FUNCS and 38 STDOUT_FOR_STDERR. 39 The first relates to Regina's default behaviour of trying to execute 40 an operating system command as a function, if no internal or external 41 Rexx program is found. 42 The second relates to Regina's default behaviour of sending error 43 messages and trace output to stderr. 44o Added new switches for configure script; --enable-tracemem and 45 --disable-flists. Both of these switches are really only useful for 46 people debugging Regina itself. Similarly when building on other 47 platforms that use 'make' directly, the equivalent switches are: 48 TRACEMEM=Y - Do memory tracing (only valid with DEBUG=Y) 49 FLISTS=N - Turn off use of Regina's memory management 50 The DEBUG=Y switch under EMX also sets -fbounds-checking 51o Fixed and enhanced the debugging functions; dumptree() and dumpvars(). 52o Fixed a bug with passing a variable to a function (not modified with 53 PROCEDURE keyword) and changing its value within that function. 54 Thanks to Florian Grosse-Coosmann for supplying the fixes. 55o Added a new file to the distribution; BUGS. This gives examples of 56 code that can cause Regina to crash or produce the wrong results. 57o Fixed a bug with the EMX ports of Regina, that returned the full 58 filename from STREAM( filename, 'C', QUERY EXISTS) without the drive 59 specification and forward slashes instead of back slashes for directory 60 seperators. 61o Fixed a problem with specification of single-character arguments to 62 BIFs like STRIP(). The ANSI standard appears to allow any string in 63 these cases as long as it starts with the appropriate character. 64 <<< I'm not so sure about this now! >>> 65o Fixed an error with STREAM BIF: stream(filename,'C','APPEND') would 66 not append. stream(filename,'C','OPEN WRITE APPEND') works fine. 67o The OS/2 EMX port now builds regina.exe, regina.dll and the sample 68 test?.dll(s) for the dynfunc.rexx sample program. 69o Changed PARSE SOURCE output to suppress the fourth value. This was 70 inconsistent with the ANSI standard and caused problems for programs 71 that used the third value, expecting spaces in the file name, 72o Under DOS, OS/2 and Win95/NT, all files were opened in text mode. This 73 caused a problem with CHAROUT(filename,"line 1" || '0a'x), where the 74 line-feed character was being converted into a CR and LF. All files now 75 read in binary mode. 76o Regina now expects a new format for the name of external function 77 libraries under Unix. Prior to this release, Regina would take 78 the second parameter passed to the RXFUNCADD() function literally. 79 The sample external function packages built with Regina were named 80 test1.rxlib and test2.rxlib. The sample program; dynfunc.rexx then 81 required a test of platform to determine what the name of the external 82 function package was. Regina now follows the way that Object Rexx 83 determines the name of the external function library. Thus, the 84 "test1" external function package has a file name of the form: 85 86 lib<name>.<shl> 87 88 where: lib - "standard" Unix library prefix 89 <name> - the name of the external function package 90 <shl> - the suffix used for shared libraries for a 91 particular Unix variant 92 93 Thus the "test1" external function package is called: 94 95 libtest1.sl - HPUX 96 libtest1.a - AIX 97 libtest1.so - All other Unix variants. 98 99 One other thing to be aware of. The name specified in the RXFUNCADD() 100 function; paramter 2 IS CASE SENSITIVE. Thus if you specify: 101 102 Call RxFuncAdd('Test1LoadFuncs', 'TEST1', 'Test1LoadFuncs') 103 104 Regina will look for libTEST1.<shl> 105o Fixed bug with STREAM BIF; stream(filename,'C','OPEN') would fail. 106 107Please report any bugs with this release of Regina to me. 108 109Cheers, Mark. 110------------------------------------------------------------------------ 111 Mark Hessling Email: M.Hessling@qut.edu.au 112 PO Box 203 Phone: +617 3802 0800 113 Bellara http://www.lightlink.com/hessling/ 114 QLD 4507 **** Maintainer PDCurses & REXX/SQL **** 115 Australia ************* Author of THE ************ 116+------------------------------------------------------------------------ 117