25 Nov 2018 8:08
#22853
We are pleased to announce the release of FTN95 version 8.40. This is available for download now to supported users.
New Features:
- Plato has been upgraded to a 64 bit application with integrated debugging for 64 bit applications (as well as the existing integrated debugging for 32 bit applications). Users who don't have a 64 bit operating system should now use Plato32.
- A bounds check has been added for an assignment that has the form w(1:n) on the left hand side.
- A number of minor FTN95 library functions (such as RANDOM@) have be added to the list of designated 'FTN95 intrinsics'.
- /CHECK_WINIO option to specifically check WINIO@ commands
- ClearWin+: Extra options for %sl to control appearance
- ClearWin+: Options [external],[frame_pen=dval], [title_hfont=hval] and [function=fun] have been added to the native %pl
- ClearWin+: A new function SELECT_GRAPHICS_REGION@ has been added as an alternative to SELECT_GRAPHICS_OBJECT@
- ClearWin+: Bezier curves can be drawn using an existing undocumented routine called DRAW_BEZIER@.
- ClearWin+: New features have been added to the multi-line edit control %RE
- ClearWin+: New features have been added to the edit control %EB
- ClearWin+: Menu items for %mn, %pm and %cm can take a new modifier '^' that takes a function to control 'grey' and 'check mark'
- ClearWin+: New format code %RC (Register Command)
- ClearWin+: A new option [frame] has been added to the %PS (property sheet) format.
- ClearWin+: A new routine PLOT_REDRAW@ has been added
- ClearWin+: NEW_GRAPHICS_REGION@ has been added
- ClearWin+: A new feature has been added to ClearWin+ that allows user data to be associated with a given control
- ClearWin+: A new option [fmt=<format_specifier>] has been added to %rf in order to provide program control of the displayed REAL value.
Outline summary of bugs that have been fixed:
- There was a minor leak on the 32 bit FTN95 stack when calling winio@.
- A fault relating to POINTER initialised to NULL() has been fixed.
- /CHECK with /64 was causing a program to run extremely slowly.
- Character input with A4 to an INTEGER*8 buffer was failing.
- 32 bit NAMELIST was failing with /OPTIMISE.
- ISHFT gave the wrong result for a PARAMETER argument and negative shift.
- 64 bit NAMELIST had the wrong storage type for character arrays.
- The /TABS option was not working correctly.
- /ISO with /64 was changing the default INTEGER kind to 4 (64 bits).
- /FULL_DEBUG was giving a false runtime error for a certain INTENT(OUT).
- A combination of /64 with /ISO was not working in some contexts.
- An access violation was being raised when reading a module containing the definition of a PARAMETER.
- An inadequate error message was given when the name of a subroutine was the same as the name of the main program.
- The ASSOCIATED intrinsic was giving an incorrect result for TYPE array elements initialised to NULL() when used with /UNDEF on the command line.
-- Admin Silverfrost Limited