Annotation of 42BSD/usr.lib/libI77/NEWS, revision 1.1.1.1

1.1       root        1:                Update info on the f77 I/O library
                      2:                        28 April, 1983
                      3: 
                      4: 01 Feb, 1980
                      5:    All instances of:
                      6:        if(!init) f_init();
                      7:    have been removed. f_init() is called from main.c on startup in the new
                      8:    libF77.a .
                      9: 
                     10: 01 Feb, 1980
                     11:    Backspace now allows non-seek files to reset the EOF flag.
                     12: 
                     13: 20 Mar, 1980
                     14:    The way SIGINT is handled in libF77/main.c has been changed.
                     15:    If the signal is not SIG_DFL, it is left alone as otherwise the
                     16:    program will be killed if run in the background and the user types DEL.
                     17:    The signal trap that used to be in the I/O lib has been removed.
                     18: 
                     19: 20 Mar, 1980
                     20:    The ANSI fortran standard requires that I/O routines return to the caller
                     21:    on any error condition if iostat= is specified even if no err= or end=
                     22:    trap is specified. The implication of this is that the program must
                     23:    be prepared to deal with ALL I/O errors if iostat= is specified.
                     24:    If only one trap is specified, end= for example, the program must test the
                     25:    iostat variable for positive/non-zero after the I/O call since return
                     26:    will occur on any error. This seems awkward and I've chosen to make this
                     27:    feature optional. I am interested in other views on this.
                     28:    
                     29:    In the current version of the compiler (using the modified io.c),
                     30:    iostat= is used only to return status information from
                     31:    I/O calls but does not itself cause return on any I/O error. Only
                     32:    the traps, err= and end=, will cause a return/branch, and only for
                     33:    the specified trap(s).
                     34:    
                     35:    This feature has been made a compile time option in the current version
                     36:    of (modified) io.c It implements the standard correctly if compiled
                     37:    with -DKOSHER or -DIOSRETURN. Otherwise it executes as currently
                     38:    implemented.
                     39: 
                     40: 18 Apr, 1980
                     41:    As originally implemented the '$' specification caused a NULL to be
                     42:    output (inplace of the \n) Actually NULL's should never appear in the
                     43:    formatted output streams. Therefore in "sfe.c" in x_putc() and pr_put()
                     44:    add      if (c)      before the instances of      putc(c,cf)
                     45: 
                     46: 12 May, 1980
                     47:    Spaces (ASCII 040) do not have significance in FORMAT statements except
                     48:    within strings. In order to accomodate old programs that may have
                     49:    arbitrary occurances of spaces, all spaces are now ignored. Thus the
                     50:    format ( 1 0 X , 1 2 F 1 0 . 4 / ) is accepted.
                     51: 
                     52: 12 May, 1980
                     53:    A bug in handling partially filled "unformatted direct" records has been
                     54:    fixed by ensuring that all records are complete when written. The bug was
                     55:    that the last record of such a file would cause EOF if a read was attempted
                     56:    for a full record. Existing files of this form should be "fixed" by
                     57:    reading and rewriting the last record using the new version of libI77.a
                     58: 
                     59: 12 May, 1980
                     60:    BACKSPACE will now open a default file (fort.N) if the specified logical
                     61:    unit is not open. REWIND and other I/O already did this. CLOSE and
                     62:    ENDFILE do not open a default file.
                     63: 
                     64: ?? November, 1980
                     65:    The modified io.c no longer supported. SIF feels it should conform
                     66:    exactly with the standard. This means that iostat= will cause return
                     67:    in all cases, regardless of the presence or absence of err= or end=.
                     68: 
                     69: ?? February, 1981
                     70:    Backspace will reset EOF on any unit, even if it can't "seek".
                     71:    You still can't "rewind" non-seekable units.
                     72: 
                     73: 25 March, 1981
                     74:    There is now a f77 I/O error list available in the lib. libU77.a routines
                     75:    use it. All error numbers have symbollic values.
                     76: 
                     77: 18 April, 1981
                     78:    Zero fill can be forced on output of true zero by the BZ format control.
                     79: 
                     80: 28 April, 1981
                     81:    It is now possible to read into a hollerith field in a format string.
                     82:    This is not encouraged!
                     83: 
                     84: 8 May, 1981
                     85:    There is a pseudo-lib to force ANSI-fortran-66 I/O to logical unit 6:
                     86:    carriage control will be interpreted, and blanks will be '0's.
                     87:    Include -lI66 on the command line.
                     88: 
                     89: 8 May, 1981
                     90:    The error report will show non-graphic chars as ^X a la vi.
                     91: 
                     92: 11 August, 1981
                     93:    SFE read with a null list at EOF now takes the error branch.
                     94:    All routines check the return value of 'nowreading/nowwriting'; this
                     95:    should fix the bug causing infinite looping on close of a write
                     96:    protected file on which writing had been attempted (it will take the err=
                     97:    branch, if any)
                     98: 
                     99: 6 December, 1981
                    100:    t_runc now looks for current pos >= EOF. This solves the bug where
                    101:    it loops indefinitely in close if written to /dev/null.
                    102: 
                    103: 12 May, 1982
                    104:    backspace on a lu at EOF now clears the stdio flags as well as the libI77
                    105:    EOF flag. This fixes the problem of spurious EOF branches on terminal
                    106:    input.
                    107: 
                    108:    open now checks for a non-zero recl argument on sequential access files.
                    109:    It complains and ignores the recl spec.
                    110: 
                    111: 10 January, 1983
                    112:    Mag tape I/O routines added. See topen.3f. The reason is that Fortran-77
                    113:    I/O requirements are very difficult (or impossible) to meet on mag tape.
                    114: 
                    115: 15 April, 1983
                    116:    new routine, ioinit, allows specifying "open at beginning" for files,
                    117:    carriage control on unit 6, and preset association of logical units
                    118:    with file pathnames from the environment.
                    119: 
                    120: 28 April, 1983
                    121:    The new kernel features of 4.2bsd have been incorporated. A number
                    122:    of obscure bugs fixed.
                    123: 
                    124:    Files are now opened at the BEGINNING!!
                    125: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.