home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 6
/
FreshFish_September1994.bin
/
new
/
dev
/
obero
/
oberon-a
/
docs
/
changes.doc
< prev
next >
Wrap
Text File
|
1994-09-03
|
12KB
|
380 lines
$RCSfile: Changes.doc $
Description: Changes made to Oberon-A
Created by: fjc (Frank Copeland)
$Revision: 1.6 $
$Author: fjc $
$Date: 1994/08/08 21:07:40 $
________________________________________________________________________
Changes made in release 1.4 update 1
====================================
Bugs fixed
----------
OC
* Bug in processing of formal parameters caused infinite loops if two
parameters had the same name. [C.Ziegler]
Improvements made
-----------------
OC
* Checks for the existence of directories given in SYM and DST
arguments.
Revision control
* Uses Johan Fereirra's OBumpRev to manage revision numbers for the
compiler and utilities.
Oberon-A Library modules
* Implemented module Kernel to replace functions currently in module
SYSTEM that will be removed in Release 1.5.
* Added ObjectExists() and DirExists() to module DosUtil.
* Changed module ExecUtil to use functions from module Kernel.
* Created module WbConsole to independantly handle creating a stdio
environment for Workbench programs.
* Changed module StdIO to use module WbConsole.
Changes made in release 1.4
===========================
Bugs fixed
----------
OC
* The register involved in a LIBCALL parameter was being reserved too
soon, causing register allocation errors in some cases where the
actual parameters were expressions involving function procedures,
or long integer or real arithmetic. [C.Ziegeler]
* Fixing the above bug uncovered another, in which the parameter
register was being freed before it was reserved. This only happened
when the actual parameter was a record field referenced through a
pointer, or an array element. [fjc]
* It was possible to dereference a function procedure that returned a
pointer type as if it were a pointer variable, with unpredictable
results. [C.Ziegeler]
* There was no check that forward declared procedures were actually
implemented. The linker would have spotted this anyway. [fjc]
* The stack offsets of procedure parameters were being written to the
symbol file. The $L compiler switch changed these offsets, making
the symbol file invalid. [fjc]
* The column reported for error locations was incorrect if there were
TAB characters in the line. [J.Ferreira]
* Direct comparisons with TRUE gave incorrect results in some
circumstances (specifically, when dealing with boolean return
values from dos.library functions). [E.Dewald]
Intuition.mod
* menuNull was mis-spelled nenuNull.
Exec.mod
* paXXX flags declared incorrectly. [J.Ferreira]
Improvements made
-----------------
OEL
* Oberon-A Error Lister, contributed by Johan Ferreira.
Module SYSTEM
* The parameters to SYSTEM.SETCLEANUP are now a single assignable
procedure. There is no need for a variable to hold the old cleanup
procedure, or a return code parameter.
* Added SYSTEM.RC to return the current return code.
* SYSTEM.NEW now has an optional parameter for passing memory
requirements.
* Extended the range of types that can be used with bit operations
(SYSTEM.LSH, etc.)
All
* Changed to use new SYSTEM.SETCLEANUP format.
OC
* Changed the $Z switch from a module switch to a global switch.
* No longer generates multiple error reports at the same location.
* Implemented foreign procedures.
* Implemented the $A compiler switch.
* SYSTEM.LONGWORD variables can now be assigned any value whose type
<= 32 bits. The same for SYSTEM.WORD when the type is <= 16 bits.
Integers are sign-extended, all other values are zero-extended.
* Implemented NIL checking when dereferencing pointers, calling
procedures from variables and executing type guards with pointers.
* Changed register parameter declarations to use square brackets
instead of braces.
* Implemented stack checking.
* Added TEXTERR command line option.
* Changed to output binary error file by default.
* Implemented $s compiler switch.
* Changed error numbers.
FPE
* arp.library is now only used if dos.library < V37 or asl.library
cannot be opened.
OL
* Added options to allow a linker to be called directly.
OD
* Definition file utility created.
Amiga Interface
* Updated to Release 40.15 (3.1).
- Added new declarations to most existing modules.
- Created new modules:
- AmigaGuide.mod
- Bullet.mod
- CardRes.mod
- CDDevice.mod
- Datatypes.mod
- Gadgets.mod
- Locale.mod
- LowLevel.mod
- NonVolatile.mod
- Prefs.mod
- RealTime.mod
* Changed modules to use foreign code interface:
- BoopsiUtil.mod
- RexxUtil.mod
- Added the related object files (Classface.obj and rexxvars.o) to
OberonSys.lib. Note that this is a temporary solution until a
more complete foreign code interface is implemented.
* Retained Commodore's comments in the source code.
Third-party library interface modules:
* New modules contributed by various people:
- GuiEnv.mod
- GuiEnvSupport.mod
- ReqTools.mod
- TextFieldGadget.mod
- UMS.mod
Dos.mod
* Created SetVBufPtr() as an alias for SetVBuf(), to be used to pass
NIL buffers.
Intuition.mod
* Changed 'args' parameters for EasyRequest functions to
SYS.LONGWORD.
Editor support
* Macros and ARexx scripts to allow the compiler, linker, etc. to be
called from within an editor. The only supported editor at the
present is AmokEd, but the scripts should be adaptable to other
editors.
Changes made in release 1.3 update 2
====================================
Bugs fixed
----------
OC
* The string passing bug introduced in update 1 was fixed.
Changes made in release 1.3 update 1
====================================
Bugs fixed
----------
OC
* Calling a type-bound procedure through a de-referenced CPointer
variable caused an address trap. [fjc]
Improvements made
-----------------
OC
* Compiler now passes NIL when the actual parameter for an ARRAY OF
CHAR LIBCALL parameter is an empty string.
Bugs introduced :-(
-------------------
OC
* Strings longer than 1 character are not being passed to LIBCALL
parameters.
Changes made in release 1.3
===========================
Bugs fixed
----------
OC
* Compiling non-Oberon files caused gurus due to writing error reports
to a NIL filehandle. [Torsten ?]
* Processing escaped characters in strings could lead to infinite
loops. [A. Weinert]
* Number of bytes of initialised data was understated. [fjc]
* Failed to free registers when dereferencing BPointers. [fjc]
* _Any_ constant could be assigned to a set variable. [fjc]
FPE
* In at least two cases memory belonging to IntuiSup library was being
accessed (read) _after_ the message was replied. [fjc]
Graphics.mod
* Wrong register used for parameter of OpenFont(). [fjc]
OL
* Program failed to free locks on symbol files if it was interrupted
with CTRL-C.
ORU
* Program failed to free locks on files if it was interrupted with
CTRL-C.
Improvements made
-----------------
OC
* Error #5 (end of file in comment) now reports the position of the
start of the offending comment.
* Removed all references to UNION types. They were more more trouble
than they were worth.
* String literals seperated by whitespace are concatenated.
* Implemented varargs for Amiga library calls.
* Reorganised symbol table as a binary search tree, for a serious
performance improvement.
* New symbol file format produces smaller files and increases number
of exportable types.
Module SYSTEM
* Added TYPETAG type and procedures for processing type tags.
* Added SETREG and REG procedures.
Amiga Interface
* General ove