|
|
1.1 root 1: Update info on the f77 I/O lib.
2:
3: 01 Feb, 1980
4: All instances of:
5: if(!init) f_init();
6: have been removed. f_init() is called from main.c on startup in the new
7: libF77.a .
8:
9: 01 Feb, 1980
10: Backspace now allows non-seek files to reset the EOF flag.
11:
12: 20 Mar, 1980
13: The way SIGINT is handled in libF77/main.c has been changed.
14: If the signal is not SIG_DFL, it is left alone as otherwise the
15: program will be killed if run in the background and the user types DEL.
16: The signal trap that used to be in the I/O lib has been removed.
17:
18: 20 Mar, 1980
19: The ANSI fortran standard requires that I/O routines return to the caller
20: on any error condition if iostat= is specified even if no err= or end=
21: trap is specified. The implication of this is that the program must
22: be prepared to deal with ALL I/O errors if iostat= is specified.
23: If only one trap is specified, end= for example, the program must test the
24: iostat variable for positive/non-zero after the I/O call since return
25: will occur on any error. This seems awkward and I've chosen to make this
26: feature optional. I am interested in other views on this.
27:
28: In the current version of the compiler (using the modified io.c),
29: iostat= is used only to return status information from
30: I/O calls but does not itself cause return on any I/O error. Only
31: the traps, err= and end=, will cause a return/branch, and only for
32: the specified trap(s).
33:
34: This feature has been made a compile time option in the current version
35: of (modified) io.c It implements the standard correctly if compiled
36: with -DKOSHER or -DIOSRETURN. Otherwise it executes as currently
37: implemented.
38:
39: 18 Apr, 1980
40: As originally implemented the '$' specification caused a NULL to be
41: output (inplace of the \n) Actually NULL's should never appear in the
42: formatted output streams. Therefore in "sfe.c" in x_putc() and pr_put()
43: add if (c) before the instances of putc(c,cf)
44:
45: 12 May, 1980
46: Spaces (ASCII 040) do not have significance in FORMAT statements except
47: within strings. In order to accomodate old programs that may have
48: arbitrary occurances of spaces, all spaces are now ignored. Thus the
49: format ( 1 0 X , 1 2 F 1 0 . 4 / ) is accepted.
50:
51: 12 May, 1980
52: A bug in handling partially filled "unformatted direct" records has been
53: fixed by ensuring that all records are complete when written. The bug was
54: that the last record of such a file would cause EOF if a read was attempted
55: for a full record. Existing files of this form should be "fixed" by
56: reading and rewriting the last record using the new version of libI77.a
57:
58: 12 May, 1980
59: BACKSPACE will now open a default file (fort.N) if the specified logical
60: unit is not open. REWIND and other I/O already did this. CLOSE and
61: ENDFILE do not open a default file.
62:
63: 07 Oct, 1980
64: List directed input now terminates properly on a slash and flushes to
65: either slash or newline, whichever comes first. List directed input now
66: properly converts wierd forms such as 3.-4 and 5+3. It now returns an
67: error if the repeat count is negative.
68:
69: Several type definitions were changed/added to accomodate 11/70's.
70:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.