f83b36600f
Changes since 1.05: Version 1.06 15/12/2000 - Bug where functions could be used as procedures (and vice versa) fixed. - Fixed bug in the VAL function where it would sometimes return the wrong result as the string being converted was not terminated properly. - Fixed bug in BPUT introduced in 1.05. - HIMEM can now be changed. - Blank lines in files are no longer discarded when loading a program. - The initial value and step used if the lines of a program are renumbered when loading a program have been changed to 1 and 1 respectively, the idea being that they will match the numbers of the lines of the program in the file in an editor. - Under RISC OS, the 'edit' command can now invoke editors such as StrongED and Zap. - Added limited support for making BBC MOS calls via USR and CALL so that OS_Byte 0 could be used to determine the type of the machine on which the interpreter is being run. Version 1.07 01/01/2001 - Fixed bug in function SUM when the argument was a string array. The function should return all of the strings in the array concatenated together but it was producing rubbish. - Fixed bug in function SUM LEN. This was failing with the error message 'type mismatch: array wanted'. - Fixed bugs in the EOF and EXT functions that show up when the file is not a disk file but, for example, a serial port. - Sorted out some more portability issues, but at a cost of making the program about 10% slower. - The code for the OSCLI ... TO statement has been improved. - The RISC OS version of the program has been changed to use direct OS calls in fileio.c instead of C library functions. This allows Basic programs to carry out I/O operations on a file using a mixture of Basic statements and SWIs. - The INPUT# code has been tidied up. - Typing in token values directly on the command line is now handled correctly, for example, typing in the hex value &F1 no longer gives the error 'The interpreter has gone wrong'. - Under NetBSD and Linux, the handling of I/O redirection on the program's command line has been sorted out. It is now possible to invoke the program so that it takes input from or directs output to a file instead of using the keyboard for input and screen for output. - The QUIT command can now optinally be followed by a value that the interpreter passes back to the underlying operating system as a return or status code. Version 1.08 19/04/2001 - Fixed 'big endian' bug in code that checks if a file contains a tokenised Basic program. The test was failing on big endian machines. - Changed code that writes the four byte start marker at the start of a Basic program so that it is always written in the same order, that is, fixed another endian bug. - Extended the WAIT statement so that the time to wait can be supplied. The time interval is in centiseconds. Version 1.09 29/04/2001 - Fixed bug in INSTR where the end of the string being searched was missed when the first character of the wanted string occured a number of times in the search string. - Tidied up STR function so that STR$~ produced the same results as PRINT~, for 'STR$~255' now produced 'FF' instead of 'ff'. Also changed the format for floating point values so that an exponent is marked with an 'E' instead of an 'e'. - Fixed bug in INPUT statement where INPUT ' cleared the screen instead of skipping to the next line. - Fixed bug in INPUT statement where 'INPUT TAB() <variable>' printed a '?' prompt when it should not have done so. - Fixed a problem in EVAL where the pointer to the expression that contained the EVAL function was being corrupted if the string being evaluated contained a reference to a function that had not been called before. 'EVAL(EVAL(a$))' now works as well. Version 1.10 28/05/2001 - Fixed bug in EDIT introduced fixing EVAL in version 1.09. A 'bad token' error message was being produced when editing a single line with EDIT <line> under DOS and Unix. The amended line was being saved correctly but the error message was then being displayed. - Tidied up handling of @% in PRINT and STR$ when the number of digits to print is zero. '@%=0: PRINT PI' now produces 3.141592654 instead of 3, as per the Acorn interpreter. - Added function XLATE$. This either translates a string using a user-supplied translate table or translates it to lower case if no translate table is supplied. - Added function VERIFY. This is used to check that a string contains only specific characters. - Changed EDIT and EDITO so that EDIT uses the last EDITO value instead of LISTO when converting the program to text when it is edited. If EDITO has not been used, the LISTO value is used instead. |
||
---|---|---|
.. | ||
patch-aa |