Google
 

Trailing-Edge - PDP-10 Archives - AP-D480B-SB_1978 - frs5a.doc
There is 1 other file named frs5a.doc in the archive. Click here to see a list.


FOROTS-10 -- Changes from V5(620) to V5A(721)
October 1977






























COPYRIGHT (C) 1976,1977 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
FRS5A.DOC - FOROTS-10                                           Page 2


FOROTS-10 -- Changes from V5(620) to V5A(721)
October 1977



1.0  SUMMARY

FOROTS is the object time system that  provides  runtime  support  for
Fortran  programs, including monitor interface functions for I/O, core
management  and  error  handling.   FORLIB  is  the  Fortran   library
containing  the  mathematical intrinsic functions and various external
subroutines.

The reason for this release is to correct outstanding  bugs  for  both
FORTRAN and F40 support in FOROTS version 5.

FOROTS version 5A is FOROTS version 5 with  edits  #620  through  #721
inclusive.   This  version fully replaces versions 1, 1A, 2, 3, 4, 4A,
4B and 5.


1.1  Bibliography

FOROTS is documented in the FORTRAN-10 Programmer's  Reference  Manual
AA-0944E-TB.


1.2  Monitors

This release of FOROTS will run with 5.07A, 5.07B, 6.01A, 6.01B,  6.02
and  6.03  (see  "Deficiencies  and  Restrictions").   The  successful
operation of DATE-75 handling by the FOROTS system requires one of the
following monitors:

     A)  5.06B with the patches  as  published  for  this  monitor  to
         handle DATE-75.

     B)  5.07A, 5.07B, 6.01A, 6.01B, 6.02 or 6.03 as released.


1.3  Related System Software

The following system software must be used with the FOROTS system:


     F40 any version

     FORTRAN any version

     LINK any version

     MACRO version 52

     MAKLIB version 2(14) or later
FRS5A.DOC - FOROTS-10                                           Page 3


2.0  EXTERNAL CHANGES

Lower case letters are now accepted as FORMAT descriptors as they  are
already  acceptable  to  the  compiler.  Lower case letters for D or E
exponents and True or False logical constants are now accepted.

The PLOTS plotter subroutine will now take an optional second argument
which is the step size for the plotter involved.

The ALOG function has  been  rewritten  to  improve  the  accuracy  in
certain ranges.

When closing a file with DISPOSE='PRINT', the DEVICE= argument will be
used  as  the  queue  name  to  pass  to QMANGR.  It will NOT be error
checked.

Recovery from an ILLEGAL LSCW error  on  sequential  input  now  scans
forward  in the file until it finds a word which LOOKS LIKE (but can't
be guaranteed to be) a beginning LSCW to  position  the  file  at  the
beginning of the next record.

If the argument value of the OPEN/CLOSE keyword DIRECTORY is zero, the
default path will be used instead of the logged-in one.

A tape density of 6250 is now accepted.

With free-format O format, a double precision argument in  the  iolist
will input to and output from both words.

The routines BUFFER, IBUFF, OBUFF, EOF1, EOFC and MAGDEN will only  be
supported by a FOROTS/FORLIB built for F40.

On magtape I/O, if no DENSITY= is present, FOROTS will  use  the  user
set or system default density.

The TRACE routine now works correctly when the subroutines in the CALL
history reside in OVERLAYs.



3.0  KNOWN BUGS AND DEFICIENCIES

FOROTS version 5 has the following deficiencies:

     A)  RANDOM ACCESS in DUMP mode is unimplemented in version  5  of
         FOROTS.   It  will be implemented at such time as the monitor
         supports scatter/gather I/O to  other  than  DECTAPE.   Until
         then  an  appropriate  error  message  will  be issued if any
         attempt is made to use RANDOM, RANDIN, or APPEND access  with
         DUMP  mode.  The user is advised to use IMAGE mode under such
         circumstances.

     B)  REREAD on a TTY device only rereads  at  most  the  last  150
         characters from the previous record.
FRS5A.DOC - FOROTS-10                                           Page 4


     C)  FOROTS will not automatically handle multiple reel  files  on
         MAGTAPE.

     D)  IMAGE mode I/O does not work on TTY.

     E)  Encoding an array into the same array is not possible.   (The
         target array is first filled with blanks.)

     F)  FOROTS does not read line sequenced files directly.

     G)  RANDOM NUMBER generator routine fails if  it  is  initialized
         with a call to SETRAN with an argument of 2**31-1.

     H)  REREAD  will  not  work  with  spooled  devices  unless   the
         RECORDSIZE is a multiple or divisor of 128 words.

     I)  Attempting to do a control-C and then .CLOSE while a file  is
         open  for  RANDOM  I/O  will  cause lost data, extra spurious
         data, or ADDRESS CHECK FOR DEVICE.  The same problems can  be
         caused  by attempting to EXIT from a MACRO subroutine while a
         RANDOM access file is open.

     J)  FOROTS cannot BACKSPACE a binary file written by FORSE..   If
         the  user  wishes to do positioning on FORSE.  written binary
         files, he must first copy the file using FOROTS.



4.0  INSTALLATION INSTRUCTIONS

The installation of the FOROTS/FORLIB  system  involves  renaming  the
appropriate  KA  or  KI/KL  files  and  copying  them to SYS:.  The KI
version runs without modification on the KL10.  The FOROTS  files  are
FOROKA.SHR and FOROKI.SHR.  The appropriate one for your CPU should be
renamed to FOROTS.SHR and  copied  to  SYS:.   The  FORLIB  files  are
FORLKA.REL  and  FORLKI.REL.  The appropriate one should be renamed to
FORLIB.REL and copied to SYS:.  If you desire to use the  .EXE  rather
than  the  .SHR  files for FOROTS, they are FOROKA.EXE and FOROKI.EXE.
Copy the proper one for your CPU to SYS:  as FOROTS.EXE.

If you desire to assemble the FOROTS or FORLIB sources,  a  FORPRM.UNV
file  must  be  created.   Assemble  (with  MACRO  50(272)  or  later)
FORPRM.MAC with FORCPU.KA or FORCPU.KI as appropriate for your CPU.

There are two command files for PIP (FRSKA.CMD and FRSKI.CMD), used by
B10FRS.CTL  in  building  FORLIB,  that  merge all of the library .REL
files together.  MAKLIB is used to create an INDEXed  FORLIB  with  no
local symbols.

See the file FTN5A.FIG for information regarding installation.
FRS5A.DOC - FOROTS-10                                           Page 5


5.0  INTERNAL CHANGES

The following is a list of all of the edits made to version 5(617)  in
producing version 5A.


#620   SPR-21396  Allow lower case letters in FORMAT descriptors.

#621   SPR-21149  Enforce fixed-length records in  IMAGE  mode.   This
                  will also fix RANDOM access in IMAGE mode.

#622   QAR-873    Fix NAMELIST partial arrays at end of list.

#623   SPR-21441  Use EXP2..  instead of EXP2.0 in FORPLT so  that  it
                  will  load if FORSIN was compiled with F40LIB turned
                  off.

#624   SPR-19860  Changes to DEXP.2, DEXP.3, EXP.3 for consistent
       SPR-20411  handling of negative  single  and  double  precision
                  numbers  to  non-integer  powers.   Also  rearranged
                  order of FORDBL.MAC by reversing position of  DEXP.2
                  and DEXP.3 to facilitate call from DEXP.3 to DEXP.2.

#625   SPR-none   Fixes to FORTRP for double  precision  zero  divide.
                  It  should  return plus or minus infinity, depending
                  on  the  sign  of  the  dividend.   4B(460)   always
                  returned  positive  infinity;  after patch 531, zero
                  was returned.

#626   SPR-none   Change data error 11 in ER%DAT in FORERR to  specify
                  NAMELIST name and invalid variable name.

#627   SPR-21476  Allow ^C and .CLOSE when APPENDing to a null file.

#630   QAR-951    Avoid IO to unassigned  channel  if  RENAME  UUO  to
                  delete a file with DISPOSE='DELETE' loses.

#631   SPR-21591  Fix SCALE in  FORPLT  so  XMIN  gets  set  right  if
                  INT(lowest  value/DX)=0,  and  prevent  zero divides
                  when  all  values  to  be  scaled   are   equal   by
                  arbitrarily setting up the scaling.

#632   SPR-none   Fix  PLOTS  in  FORPLT  to  accept  optional  second
                  argument which is step size.

#633   QAR-923    Move edit 605 and change edit 522 so that if  it  is
                  necessary  to  RENAME  a file when it is closed, the
                  reason for the RENAME is known.

#634   SPR-10201  Logical device  names  ignore  the  directory  if  a
                  directory was specified.

#635   QAR-870    Fix  OPEN(DISPOSE=DELETE),REWIND,END  so  that  file
                  will be deleted at exit time.
FRS5A.DOC - FOROTS-10                                           Page 6


#636   QAR-1037   Fix FORERR for illegal  character  in  data  with  T
                  format.

#637   SPR-none   Change to random number generator - fix so that  'Y'
                  part  of  HRLI instruction is 0 rather than mnemonic
                  for register 0.

#640   SPR-none   Add F20LIB switch to  FORPRM  and  modify  PLOTS  to
                  assemble  value of STPSIZE conditionally upon F20LIB
                  switch.

#641   SPR-21699  Change definitions of FORSE entry points  in  FORJAK
                  from INTERNs to ENTRYs.

#642   SPR-none   Rewrite of ALOG routine in FORSIN.  Special case for
                  values of X around 1 more accurate.

#643   SPR-none   FORDBL(DEXP.3) move ARGAX for DMOVE macro under KA.

#644   SPR-none   Change ERRF40 macro in FOROPN to accomodate use with
                  F40LIB switch turned off.

#645   SPR-none   In FORXIT, take definition of EXIT.  out from  under
                  F40LIB switch so it will always be defined.

#646   SPR-22428  Fix DISPOSE='PRINT!LIST!PUNCH' to get file's path to
                  pass  to QMANGR as "original directory".  After edit
                  537 (due to edit 617)  DD.PPN  contains  0  not  ppn
                  after LOOKUP.

#647   SPR-22171  Use DEVICE= as queue  name  for  DISPOSE='PRINT'  on
                  CLOSE.

#650   SPR-none   In FOROTS, FORFUN, and FORERR change  the  names  of
                  two EXTERNALs to be unique and not valid in FORTRAN.
                  The EXTERNALs are  DMPSTR  and  ALCOR  and  will  be
                  DMPST.  and FMEM%%.

#651   SPR-22415  In FOROTS, fix edit 615 to zero  out  DENSITY  field
                  correctly.

#652   SPR-22508  In FORCNV,  allow  lower  case  D  and  E  in  input
                  exponents.

#653   SPR-22543  In FORCNV, allow lower case T and  F  for  true  and
                  false.

#654   SPR-22691  In FORCNV, fix FLIRT to  handle  integers  correctly
                  and NAMELIST to record data type in low core.

#655   SPR-22727  Fix EOF on BINARY/IMAGE input of SLIST to clear rest
                  of SLIST.

#656   SPR-22726  Fix DUMP mode I/O to  properly  handle  chaining  of
                  IOWD list blocks.
FRS5A.DOC - FOROTS-10                                           Page 7


#657   SPR-21821  Recover from illegal LSCW in seq  file  by  scanning
                  forward  until  find a word which looks like an LSCW
                  (LH=001...);  no recovery if FORSE.  binary record !

#660   SPR-none   Fix FLOUT% in FORCNV to use 8 not 9 as max number of
                  mantissa digits to print on single precision so 5.55
                  in F20.17 won't be 5.55000001..

#661   SPR-none   Get rid of RUBOUT on '$' and '+' format  descriptors
                  i.e., fix patches 567 and 577.

#662   SPR-none   Fix FORINI to reset .JBOPS after GETSEG.

#663   SPR-22507  Fix edit 610  to  update  channel  table  so  IO.BSE
                  (ERRBS in progress for BSREAD) will be reset.

#664   SPR-22708  Fix '$' format on non-ccc devices not to  lose  rest
                  of  line  after '$'.  Fixes error made by patch 223,
                  partially repaired by 616.

#665   SPR-22886  Fix edit 624 to save and restore temporary registers
                  properly in all cases.  in DEXP.3 in FORDBL.

#666   SPR-21877  Clear FST.DY at fin% so  on  ERR=  of  random  read,
                  previous  format  array which was freed is not freed
                  again (since that loops PMEM%%).

#667   SPR-22601  In  OPEN/CLOSE,  if  user  specifies  DIRECTORY=0,0,
                  don't  default  both  proj,prog  to user's ppn (like
                  edit 536 says).  Just pass  0  so  monitor  can  use
                  default path.

#670   SPR-22686  Uncomment 6250 bpi entry in TAPOP.  density table

#671   SPR-none   Handle singleton ELIST as SLIST (beware:  FT.INC  in
                  FLIRT% = FT.ELT).

#672   QAR-2104   Fix edit 621 to enforce record length only on output
                  in IMAGE mode

#673   SPR-22607  Implement  vbl  width  double  precision  octal  i/o
                  (FORCNV).

#674   SPR-23036  Open new channel for directory device even if device
                  already assigned to program.

#675   SPR-23611  Save + restore AOBJN ptr in  EXIT  code  which  gets
                  clobbered if any queuing is done.

#676   SPR-none   Fix 'DISPOSE=LIST!PRINT!PUNCH' to give  valid  queue
                  name  when  DISPOSE  specified  at OPEN and implicit
                  call to CLOSE.  Fix to 674.

#677   SPR-22964  Fix CLOSE to check status after CLOSE UUO  to  catch
                  any errors during CLOSE.
FRS5A.DOC - FOROTS-10                                           Page 8


#700   SPR-23542  Fix DEXP.  in FORDBL not  to  give  floating  divide
                  check.

#701   SPR-23412  Handle EOL in DIALOG mode correctly.

#702   SPR-22877  Make  DUMP  mode   io   errors   unrecoverable   but
                  trappable.

#703   SPR-22687  In FOROPN put BUFFER, IBUFF, OBUFF, EOF1,  EOFC  and
                  MAGDEN under IFN F40LIB.

#704   SPR-23073  Change SETDEN  to  do  nothing  if  no  density  was
                  specified  to  prevent  overwriting  if  set  by SET
                  DENSITY (fix to edit 615).

#705   SPR-none   Don't clobber scan flags  reg  when  returning  path
                  block when processing ppn.

#706   SPR-none   Fix SCNSIX to always set  chars/word  when  scanning
                  core so SFDs deeper than 1 work.

#707   SPR-none   Fix ppn scanning to handle max of 5 SFDs.

#710   SPR-23046  Fix SCNSTR to stop DIALOG scan on $ and memory  scan
                  on null word.

#711   SPR-none   Stop recursive errors in ER%DEV.  Fix EXIT% to reset
                  ERR.V2 since no error is in progress.

#712   SPR-none   Fix traceback in ER%LIB to use correct top of stack.

#713   SPR-none   Fix traceback over OVERLAYs in TRACE%

#714   SPR-none   Fix error recovery in FORERR  at  ERR%ER  to  return
                  "recovery  failed"  if  there  is  an  ERR=  but  no
                  recovery routine specified.

#715   QAR-2126   Include ERR= setup in CLOSE%.  Adjust  edit  564  so
                  ERR= initialization happens in SAVE.

#717   QAR-2174   Fix edit 706 to handle char  count  for  FILE=double
                  prec:  don't reset char count if char count not = 0.

#720   SPR-none   Fix edit 710 to treat DIALOG mode  ==  literal  scan
                  for stopping SFD search in SCNSTR.

#721   SPR-none   Fix edit 714 so errors during DIALOG mode processing
                  are reported to TTY:.
FRS5A.DOC - FOROTS-10                                           Page 9


6.0    SUGGESTIONS

None.



[End of FRS5A.DOC]

[FRS5.DOC is appended as integral part of FRS5A.DOC]
FRS5.DOC - FOROTS-10                                           Page 10


FOROTS-10 -- Changes From V4B(460) to V5(617)
November 1976



1.0    SUMMARY

The reason for this release is to correct outstanding  bugs  for  both
FORTRAN and F40 support in FOROTS version 4B.  Also this FOROTS/FORLIB
supports new functionality for user-handling of both hard and soft I/O
errors on OPEN, READ, WRITE and CLOSE using ERR=.

FOROTS version 5 is FOROTS version 4B with  edits  #461  through  #617
inclusive.   This  version fully replaces versions 1, 1A, 2, 3, 4, 4A,
and 4B.


1.1    Bibliography

FOROTS is documented in the FORTRAN-10 Programmer's  Reference  Manual
AA-0944E-TB.


1.2    Monitors

This release of FOROTS will run with 5.07A, 5.07B, 6.01A,  6.01B,  and
6.02  (see "Deficiencies and Restrictions").  The successful operation
of DATE-75 handling by the FOROTS system requires one of the following
monitors:

     A)  506B with the patches as published for this monitor to handle
         DATE-75.

     B)  5.07A, 5.07B, 6.01A, 6.01B, or 6.02 as released.


1.3    System Software

This release of FOROTS/FORLIB uses MACRO version  50A  which  corrects
minor code generation problems.  The following system software must be
used with the FOROTS system:

     MAKLIB

     F40 any version

     LINK any version

     FORTRAN any version
FRS5.DOC - FOROTS-10                                           Page 11


2.0    EXTERNAL CHANGES

Changes have been made to the list-directed input of  quoted  strings.
A  quoted  string which is too long to fit in one element of the input
list will be placed in adjacent  elements  and  will  be  padded  with
blanks.   If  a quoted string is being placed in an array and it fills
more than one element of the array,  the  remaining  elements  of  the
array  will  be  unchanged.  In this case, it is assumed that the user
meant for the long string to go into the array and for  any  following
data  to  go into the rest of the input list.  If the string fits into
one element of the array, the array  will  be  filled.   Various  bugs
which  could  cause other locations to be filled with blanks have also
been corrected.

New functionality has been added to  FORTRAN,  FOROTS  and  FORLIB  to
allow  user-handling  of hard and soft errors on OPEN, CLOSE, READ and
WRITE using the ERR= branch.  See the FORTRAN version 5  documentation
(FTN510.DOC) for the detailed specifications.

F format for double precision variables now uses both words.



3.0    KNOWN BUGS AND DEFICIENCIES

FOROTS version 5 has the following deficiencies:

     A)  RANDOM ACCESS in DUMP mode is unimplemented in version  5  of
         FOROTS.   It  will be implemented at such time as the monitor
         supports scatter/gather I/O to  other  than  DECTAPE.   Until
         then  an  appropriate  error  message  will  be issued if any
         attempt is made to use RANDOM, RANDIN, or APPEND access  with
         DUMP  mode.  The user is advised to use IMAGE mode under such
         circumstances.

     B)  REREAD on a TTY device only rereads  at  most  the  last  150
         characters from the previous record.

     C)  FOROTS will not automatically handle multiple reel  files  on
         MAGTAPE.

     D)  IMAGE mode I/O does not work on TTY.

     E)  Encoding an array into the same array is not possible.   (The
         target array is first filled with blanks.)

     F)  FOROTS does not read line sequenced files directly.

     G)  RANDOM NUMBER generator routine fails if  it  is  initialized
         with a call to SETRAN with an argument of 2**31-1.

     H)  REREAD  will  not  work  with  spooled  devices  unless   the
         RECORDSIZE is a multiple or divisor of 128 words.

     I)  Attempting to do a control-C and then .CLOSE while a file  is
FRS5.DOC - FOROTS-10                                           Page 12


         open  for  RANDOM  I/O  will  cause lost data, extra spurious
         data, or ADDRESS CHECK FOR DEVICE.  The same problems can  be
         caused  by attempting to EXIT from a MACRO subroutine while a
         RANDOM access file is open.

     J)  FOROTS cannot BACKSPACE a binary file written by FORSE..   If
         the  user  wishes to do positioning on FORSE.  written binary
         files, he must first copy the file using FOROTS.



4.0    INSTALLATION INSTRUCTIONS

The installation of the FOROTS/FORLIB  system  involves  renaming  the
appropriate  KA  or  KI/KL  files  and  copying  them to SYS:.  The KI
version runs without modification on the KL10.  The FOROTS  files  are
FOROKA.SHR and FOROKI.SHR.  The appropriate one for your CPU should be
renamed to FOROTS.SHR and  copied  to  SYS:.   The  FORLIB  files  are
FORLKA.REL  and  FORLKI.REL.  The appropriate one should be renamed to
FORLIB.REL and copied to SYS:.  If you desire to use the  .EXE  rather
than  the  .SHR  files for FOROTS, they are FOROKA.EXE and FOROKI.EXE.
Copy the proper one for your CPU to SYS:  as FOROTS.EXE.

If you desire to assemble the FOROTS or FORLIB sources,  a  FORPRM.UNV
file  must  be  created.   Assemble  (with  MACRO  50(272)  or  later)
FORPRM.MAC with FORCPU.KA or FORCPU.KI as appropriate for your CPU.

There are two command files for PIP (FRSKA.CMD and FRSKI.CMD), used by
B10FRS.CTL  in  building  FORLIB,  that  merge all of the library .REL
files together.  MAKLIB is used to create an INDEXed  FORLIB  with  no
local symbols.



5.0    INTERNAL CHANGES

The memory management routines have been replaced.  The  new  routines
use  a  first-fit rather than a best-fit scheme for memory allocation.
They have only one list of free core (rather than a separate  one  for
use  by  the  overlay  handler)  that  is  kept in increasing order by
address.  In the free list,  adjacent  areas  of  available  core  are
immediately collapsed into one area.


The following is a list of all edits made to V4B to produce V5.


#461   SPR-16741  Fix NAMELIST in FORCNV to accept any  variable  name
                  of six characters.

#462   SPR-16796  Fix FLIRT% in FORCNV so that  a  call  to  ILL  will
                  correctly cause illegal characters in data to be set
                  to zero.

#463   SPR-16661  Fix error message in FORERR to say "Illegal MODE  or
FRS5.DOC - FOROTS-10                                           Page 13


                  MODE Switch".

#464   SPR-17090  Prevent  wiping  out  random  core  in  the   FORMAT
                  statement  processor  if  the first FORMAT statement
                  has more than two levels of nested parentheses.

#465   SPR-17142  Read quoted strings into double precision  variables
                  correctly.

#466   SPR-17152  Fix SNG.X when the argument is negative and close to
                  a power of two.

#467   SPR-17304  Rewrite of FORMAT processing core allocation scheme.

#470   SPR-none   Do not trap overflows out of DDT.

#471   SPR-17385  Avoid ILL MEM REFs on RANDOM access ASCII  formatted
                  READs.

#472   SPR-none   Put data files in the default path  if  no  path  is
                  specified.

#473   SPR-17572  Fix DECODE by clearing CH.SAV in FIN%%.

#474   SPR-17648  Fix to FORERR to not stop  printing  the  record  in
                  error on a LF.

#475   SPR-none   Add DBMS% dummy routine for unbundled DBMS.

#476   SPR-17725  Fix G FORMAT when the field width is too small,  but
                  is ok without the 4X.

#477   SPR-17759  Always allocate  at  least  two  words  of  core  in
                  FORFUN.

#500   SPR-17818  Reset the ELIST and SLIST flags when starting a  new
                  list in IOLST.

#501   SPR-17900  Clear IO.EOL in CPYSTR so that some data will always
                  move.

#502   SPR-17899  Make the TTY input buffer 132 characters for a  more
                  reasonable REREAD.

#503   SPR-17871  Clear CH.SAV during T format processing, in  case  a
                  free-field format preceded it.

#504   SPR-18010  Correct SAVE in FOROPN to save T5, as  it  tries  to
                  do.

#505   SPR-18011  Store  blocks  rather  than  words  in   .RBEST   on
                  FILESIZE= in OPEN.

#506   SPR-17107  Use only one free core list.  Delete the one used by
                  the overlay handler.
FRS5.DOC - FOROTS-10                                           Page 14


#507   SPR-17107  Delete the core used by the FLU even if the file has
                  gone away.

#510   SPR-17898  Do not take the END= return  with  the  buffer  ring
                  headers pointing to an in-core string.

#511   SPR-17107  Change core management to  use  the  lowest  address
                  that  fits  rather  than  the smallest one, to avoid
                  fragmentation.

#512   SPR-17107  If GAD fails in FORFUN, delete the FORMAT blocks and
                  try again.

#513   SPR-15636  Produce correct results for  DATAN(X)  when  (5*SQRT
                  (5)-2)/11  <  ABS(X)  <  (5*SQRT (5)+2)/11, that is,
                  when .8346 < ABS(X) < 1.198.

#514   SPR-18030  Return an error to FUNCT.  core function if no  core
                  is available.

#515   SPR-18756  Check proper register (P3) at ER%DA1+10.  Fixes edit
                  424.

#516   SPR-18207  Fix FORPLT to use entry point  names  which  end  in
                  invalid characters, INT.  instead of INT, etc.

#517   SPR-18268  Fix F FORMAT for very narrow field widths.

#520   SPR-18814  Fix to edit 510 for T FORMAT after end-of-file.

#521   SPR-18526  Allow  DIALOG-mode  OPENs  to  work   for   programs
                  compiled with F40.

#522   SPR-18445  Fix protection error trying to close files protected
                  2 or greater.

#523   SPR-18138  Do a LOOKUP before the RENAME  during  mode  change,
                  and make errors fatal.

#524   SPR-18699  Fix the "quota exceeded" message  to  indicate  that
                  the file structure may also be full.

#525   SPR-18856  Fix SEQINOUT access to truncate the last block of  a
                  superceded  file,  not  just  an  integral number of
                  blocks.

#526   SPR-19256  Fix control-Z used with END=  during  default  OPENs
                  when DIALOG mode has been entered due to an error.

#527   SPR-19205  Fix FORERR to avoid ILL MEM REFs in dispatch  tables
                  or during exit and to add new error messages.

#530   SPR-18247  Fix T FORMAT for all cases.

#531   SPR-18074  Insert the missing PORTALs in FORTRP so that  FOROTS
FRS5.DOC - FOROTS-10                                           Page 15


                  can be run in concealed mode.

#532   SPR-18896  Fix AXIS in FORPLT to correctly  print  the  scaling
                  factor on the axis.

#533   SPR-19239  Clear the double-precision flag at the start  of  an
                  IOLST.  This makes list-directed I/O work.

#534   SPR-19239  Fix NMLST% in  FORCNV  for  list-directed  input  of
                  strings.

#535   SPR-18506  Do a dummy OUT during APPEND mode  file  positioning
                  to  set  up  the  buffers  properly for the monitor.
                  This will allow control-C and  .CLOSE  to  work  for
                  APPEND mode.

#536   SPR-19030  Accept default  project  or  programmer  number  for
                  directory in OPEN statements.

#537   SPR-18903  Allow the DISPOSE parameter in a CLOSE statement  to
                  work for files in SFDs.

#540   SPR-19612  Fix timing problems closing APPEND mode files.

#541   SPR-19793  Fix NMLST% in FORCNV to correctly  reset  FT.QOT  at
                  the end of quoted strings.

#542   SPR-19786  Use the system default returned by the DEVSIZ UUO if
                  the buffer count or size are invalid as given.

#543   SPR-19696  Fix WRITE after end-of-file has occured  for  BINARY
                  files, especially RANDOM access files.

#544   SPR-12882  Make the P scaling factor  for  F  FORMAT  work  for
                  numbers which are identically zero.

#545   SPR-19834  Make ALTMODE a break character.  This  makes  DIALOG
                  mode work again after edit 502.

#546   SPR-15285  Fix the TRACE% routine in FORERR  to  print  correct
                  types for arguments to routines.

#547   SPR-none   Introduce new fatal error for  bad  core  management
                  pointers.

#550   SPR-19538  Do not default to invalid ACCESS or MODE in SETOPN.

#551   SPR-20056  Return -1 for negative channel request in ALCHN%.

#552   SPR-19131  Clear IO active bit  after  GETSTS  before  JFFO  in
                  ER%DEV in FORERR.

#553   SPR-none   Fix to edit 550 for default OPENs.

#554   SPR-20095  Correct spelling of  error  message  in  DSQRT.   in
FRS5.DOC - FOROTS-10                                           Page 16


                  FORDBL.

#555   SPR-none   Fix PLOT routines to  not  use  channel  17  without
                  calling ALCHN.

#556   SPR-20228  Fix ILL MEM  REFs  in  FOROPN  when  using  F10  and
                  calling BUFFER, EOFC, EOF1, IBUFF, OBUFF, or MAGDEN.

#557   SPR-none   Fix WRITE after END=  with  SEQINOUT  READ  of  null
                  file.

#560   SPR-none   Fix SEQINOUT outputs after END= exit taken.

#561   SPR-20308  Prevent IO TO UNASSIGNED CHANNEL  after  FILE  BEING
                  MODIFIED.

#562   SPR-20376  Make MKTBL in FORPLT correctly set table address  in
                  CTBL.

#563   SPR-(V5)   Allow  F  FORMAT  to  print  all  digits  of  double
                  precision numbers (FLIRT% and FLOUT% in FORCNV).

#564   SPR-VER5   Handle hard and soft errors with ERR=.

#565   SPR-20347  Make  X  FORMAT  do  FMTPSH  if  unbound  descriptor
                  preceded.

#566   QAR-00569  Print zero exponent for  identical  zero:   D  or  E
                  format (FORCNV).

#567   SPR-20498  Fix   '+'   format   descriptor   after   '$'    for
                  non-interactive devices.

#570   SPR-20352  Prevent lost  records  when  RECORDSIZE  is  exactly
                  filled on output.

#571   SPR-none   Add functions RRS and WRS  to  FORFUN  reserved  for
                  DBMS.

#572   SPR-none   Allow CEXP to  load  with  F40LIB  off  by  defining
                  EXP3..  like EXP2..  (FORSIN and FORCPX).

#573   SPR-none   Parse unbound X format descriptor as 1X.

#574   QAR-00654  List  directed  input  of  complex  numbers   should
                  require  parenthesis  around  the  argument,  and if
                  there is a repeat count it should be delimited by an
                  asterisk.

#575   SPR-18964  Fix SLISTs with list-directed I/O when increment  is
                  not one.

#576   SPR-18964  Fix SLISTs with list-directed input  when  increment
                  is not one.
FRS5.DOC - FOROTS-10                                           Page 17


#577   QAR-00808  Fix edit 567 for blank carriage control after dollar
                  sign format--use RUBOUT, not NULL.

#600   QAR-00573  Add static word for MAIN.  address for TRACE%.

#601   QAR-00688  Make stack size in PLOT routines 40 words  to  allow
                  room for FORERR calls.

#602   VER5       Compile FORCPU.K?  + FORPRM.MAC to get definition of
                  CPU == KA or KI.

#603   QAR-00820  Do not allow ENTER to succeed on second try to LIB:.

#604   QAR-00822  Fix to edit 575 for ELISTs.

#605   SPR-20-10062 Do not specify any protection in  extended  RENAME
                  block unless it is being changed--this avoids having
                  the compatibility package change the protection when
                  the user intended it to not be changed.

#606   QAR-00832  Zero ERR=,,END= addresses  at  EXIT%%  so  ER%SYS  1
                  (which does the STOP) won't trap on ERR=.

#607   QAR-00837  Fix 0P FORMAT descriptor, broken  by  edit  573,  by
                  duplicating code from FMTX in FMTP.

#610   QAR-00845  Fix  ERRBS  (ERR=  recovery  using   BACKSPACE)   to
                  set/reset  IO.BSE  in  P3  to  tell  BSREAD  to stop
                  backing up when it finds the first delimiter  (since
                  the  error  occurred  before  the  end-of-line  (ie,
                  delimiter) was hit).

#611   QAR-00846  RESET in FORJAK must restore T0 so  RESET.   (INIT%)
                  can save it.

#612   QAR-00839  ER%OPN  5  becomes  "Illegal  Sequence  of   Monitor
                  Calls".

#613   SPR-20719  Additions to 557 and 560 for WRITEs after END= taken
                  on a SEQINOUT file.

#614   SPR-21142  Zero the buffer length when backing  up  the  buffer
                  ring  header  at EOF at SETRWB in code added by edit
                  560.

#615   SPR-10110  Implement 1600 BPI tape with a TAPOP.  UUO.

#616   SPR-21316  Fix T format for ENCODE/DECODE.

#617   SPR-21371  Move edit #603 from FILOPN to LOOKU..  This prevents
                  having  the  ppn  word of the extended block changed
                  incorrectly by any LOOKUP, ENTER or RENAME.
FRS5.DOC - FOROTS-10                                           Page 18


6.0  SUGGESTIONS

None.



[End of FRS5.DOC]