Subject: CVS commit: pkgsrc/lang/brandybasic
To: None <pkgsrc-changes@NetBSD.org>
From: David Brownlee <abs@netbsd.org>
List: pkgsrc-changes
Date: 11/26/2004 23:24:07
Module Name: pkgsrc
Committed By: abs
Date: Fri Nov 26 23:24:07 UTC 2004
Modified Files:
pkgsrc/lang/brandybasic: Makefile PLIST distinfo
Removed Files:
pkgsrc/lang/brandybasic/patches: patch-aa
Log Message:
Update brandybasic to 1.0.16. Changes since 1.10:
Version 1.11 17/09/2001
Darren Salt (ds@youmustbejoking.demon.co.uk) contributed a number
of the changes in this version of the program.
- Added support for reading Acorn five byte floating point
values (Darren Salt).
- Improved support for reading and writing Acorn eight byte
floating point values on machines that use a different format
for this sort of number to what Acorn use (Darren Salt).
- Added support for reading gzip'ed files under Linux (Darren
Salt).
- The Linux version of the program can be installed using
'configure' (Darren Salt).
- Added code to detect the format of eight byte floating point
numbers on the platform on which the interpreter is running.
This is used when reading and writing such values (DD, based
on original code by Darren Salt).
- The first line of a program in text form is now ignored if
it starts with a '#' in all versions of the interpreter.
This only used to be supported in the NetBSD and Linux
versions.
- Changed handling of syntax errors detected when a line is
tokenised. The interpreter now puts out a slightly more
meaningful 'syntax error' message if a program with such
an error in it is run instead of 'STOP'.
- DIM statements of the form 'DIM abc%!8 100' are now
dealt with correctly. Previously the code always wanted
a variable as the location at which to store the address
of the byte array and did not allow the use of an
indirected expression. This was an oversight in the code
and has now been fixed.
- Fixed bug where the string memory management was not being
reset under certain conditions when a program was edited.
The program was being corrupted if a string expression was
evaluated immediately prior to editing the program and then
again immediately afterwards.
- Fixed bug in ERROR statement code where ERROR 0,<text>
was not being treated as a fatal error, that is, the
error could be trapped by ON ERROR. Also fixed problem
where ERR was not returning the user-supplied error
number after an ERROR statement.
- Fixed bug in handling of ON ERROR LOCAL where a storage
overwrite was causing the interpreter to abort with a
'interpreter has gone wrong' message when restoring LOCAL
variables to their original values when dealing with an
ENDPROC after branching to the statements after the ON
ERROR LOCAL.
- Fixed bug in READ statement that affected the reading of
strings in cases such as 'READ a$,b$: DATA abcd,', that is,
there is nothing after the last comma in the DATA statement.
It should return a null string, but the code was skipping to
the next DATA statement instead.
Version 1.12 01/12/2001
- Split interpreter.c into four files and moved some stuff
around. Renamed some files.
Version 1.13 28/11/2002
- Included new RND code written by Crispian Daniels.
- Included fixes for various graphics problem written
by Crispian Daniels.
- Incorporated new MacOS target written by Crispian
Daniels.
- Incorporated new FreeBSD target written by Dirk Engling.
- Removed limit on the number of command line arguments
returned by ARGV$.
- Fixed problem in Unix version of program where screen
output was not being displayed before using OSCLI.
- Added new VDU function. This returns the value of the
specified RISC OS VDU variable.
- Added new function COLOUR. This returns a value that
represents the closest colour to the colour with the
specified colour components in the current screen
mode.
- Added missing GCOL <red>,<green>,<blue> statement
- Added extended form of GCOL statement: GCOL OF ... ON
- Added extended form of COLOUR statement: COLOUR OF ... ON
- Added extended MODE statement: MODE <x>,<y>,<bpp>,<rate>
- Extended the DIM statement to support the
DIM <variable> LOCAL <size>
version of the statement.
- Checked program compiled and worked using the Castle C
compiler.
Version 1.14 28/07/2003
- Quick hack to fix DIM ... LOCAL problem. The problem was
that the code to check that writes using indirection
operators were to legal addresses blew away writes to
byte arrays on the stack. I have removed this check so
that the stack can written to.
Version 1.15 16/08/2003
- Added '*key' to allow strings to be defined for
function keys as on a BB Micro or RISC OS machine.
Version 1.16 25/01/2004
- Added OpenBSD target (changes supplied by Julian Smith).
- Added Amiga target (changes supplied by Stefan Haubenthal).
- Fixed bug in tokenisation code where any keyword immediately
followed by a '.' was taken as abbreviated and the '.'
always skipped. This should not have been happening when
the full keyword was supplied. The '.' in this case is the
start of a floating point number.
- Changed the handling of the function 'TOP'. Brandy used to
have a token for this function but it is not how the RISC OS
Basic interpreter treats it. It uses the token for 'TO'
followed by the letter 'P'. This means that the interpreter
determines from the context whether this is the function 'TOP'
or the keyword 'TO' followed by a variable name starting
with 'P'. Brandy now works the way the RISC OS interpreter
does.
- Fixed bug in handling of 'ERR'. The number of the last error
was not being saved so that it could be referenced using
ERR except in the case of errors raised via 'ERROR'. This
bug was introduced in 1.11 when the *opposite* problem was
fixed!
- Added '*' command emulation to versions running Unix-type
operating system. Previously it was DOS only.
- Changed handling of OS commands to that leading blanks and
'*' are removed first.
- Added new command line option '-nostar' to stop program
checking all '*' commands to see if they are emulated by
the interpreter.
- Tidied up the output on 'help' which shows the where the
Basic program and variables are.
To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 pkgsrc/lang/brandybasic/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/lang/brandybasic/PLIST
cvs rdiff -r1.3 -r1.4 pkgsrc/lang/brandybasic/distinfo
cvs rdiff -r1.1 -r0 pkgsrc/lang/brandybasic/patches/patch-aa
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.