|
@@ -114,13 +114,13 @@ the ASCII range (0..127) do not cause an error message.
|
|
|
Initialize a file for output on the diagnostic output stream (fd=2).
|
|
|
Output is not buffered.
|
|
|
.IP pcreat
|
|
|
-The same as rewrite(f), except that you must provide the filename yourself.
|
|
|
+The same as rewrite(f), except that the file name must be provided.
|
|
|
The name must be zero terminated. Only text files are allowed.
|
|
|
.IP popen
|
|
|
-The same as reset(f), except that you must provide the filename yourself.
|
|
|
+The same as reset(f), except that the file name must be provided.
|
|
|
The name must be zero terminated. Only text files are allowed.
|
|
|
.IP pclose
|
|
|
-Gives you the opportunity to close files hidden in records or arrays.
|
|
|
+To close files hidden in records or arrays.
|
|
|
All other files are closed automatically.
|
|
|
.PD
|
|
|
.PP
|
|
@@ -129,7 +129,7 @@ String handling:
|
|
|
.RS
|
|
|
.IP strbuf 10
|
|
|
Type conversion from character array to string.
|
|
|
-It is your own responsibility that the string is zero terminated.
|
|
|
+It is the responsibility of the user that the string is zero terminated.
|
|
|
.PD 0
|
|
|
.IP strtobuf
|
|
|
Copy string into buffer until the string terminating zero byte
|
|
@@ -151,11 +151,12 @@ string length, so this is a dangerous procedure.
|
|
|
.RE
|
|
|
Trap handling:
|
|
|
.RS
|
|
|
-These routines allow you to handle almost all
|
|
|
-the possible error situations yourself.
|
|
|
-You may define your own trap handler, written in Pascal, instead of the
|
|
|
+These routines allow for user-level handling off almost
|
|
|
+all possible error situations.
|
|
|
+Trap handlers may be user-defined,
|
|
|
+written in Pascal, replacing the
|
|
|
default handler that produces an error message and quits.
|
|
|
-You may also generate traps yourself.
|
|
|
+Also, traps can be generated by the user.
|
|
|
.IP trap 10
|
|
|
Trap generates the trap passed as argument (0..252).
|
|
|
The trap numbers 128..252 may be used freely. The others are reserved.
|
|
@@ -168,17 +169,17 @@ the previous handler when \fIp\fP returns.
|
|
|
If, during the execution of \fIp\fP, a trap occurs,
|
|
|
then \fIq\fP is called with the trap number as parameter.
|
|
|
For the duration of \fIq\fP the previous trap handler is restored, so that
|
|
|
-you may handle only some of the errors in \fIq\fP. All the other errors must
|
|
|
+it is possible to only handle some of the errors in \fIq\fP. All the other errors must
|
|
|
then be raised again by a call to \fItrap\fP.
|
|
|
.br
|
|
|
-Encapsulations may be nested: you may encapsulate a procedure while executing
|
|
|
+Encapsulations may be nested: a procedure may be encapsulated while executing
|
|
|
an encapsulated routine.
|
|
|
.br
|
|
|
Jumping out of an encapsulated procedure (non-local goto) is dangerous,
|
|
|
because the previous trap handler must be restored.
|
|
|
-Therefore, you may only jump out of procedure \fIp\fP from inside \fIq\fP and
|
|
|
-you may only jump out of one level of encapsulation.
|
|
|
-If you want to exit several levels of encapsulation, use traps.
|
|
|
+Therefore, it is only allowed to jump out of procedure \fIp\fP from inside \fIq\fP and
|
|
|
+it is only allowed to jump out of one level of encapsulation.
|
|
|
+To exit several levels of encapsulation, the use of traps is required.
|
|
|
See pc_prlib(7) for lists of trap numbers
|
|
|
for EM machine errors and Pascal run time system errors.
|
|
|
Note that \fIp\fP may not have parameters.
|