Annotation of 42BSD/usr.lib/libI77/NEWS, revision 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.