Date: Wed, 14 Oct 1998 14:24:17 -0400 From: milendor@chicklet.east.sun.com (Michael Milendorf (Godin)) Subject: Item #449: The definition of ABORT function is unclear P1275 Open Firmware Working Group Proposal -- Proposal #:449 Ver 1 Title: Clarification on ABORT function description Author: Michael Milendorf Date: October 14, 1998 Ed/Tech: Technical Synopsis: The definition of ABORT function is unclear Doc & Version: IEEE Std. 1275-1994 Problem: IEEE 1275-1994 explains the function of ABORT in the following way: Abort program execution; clear stacks. The version of ABORT defined by the ANS Forth EXCEPTION wordset applies. While the second sentence is clear and correct, the attempt to provide a "casual" description with the first sentence makes the whole explanation unclear. The casual definition explains the function of the CORE 6.1.0670 ABORT word of ANS Forth, not the function of the EXCEPTION 9.6.2.0670 ABORT word, which 1275 descriptions actually refers to (in the second sentence). While according to ANS Forth, the function of 6.1.0670 ABORT can be explained with the words "Abort program execution; clear stacks.", the description of 9.6.2.0670 ABORT is "performing the function of -1 THROW". The problem is that the function of 9.6.2.0670 ABORT, which IEEE 1275 refers to, doesn't necessarily clear stacks in all cases. 1275 ABORT clears stacks only if there is no exception frame on the exception stack, otherwise both return and data stacks remain uncleared which contradicts 1275 description. Finally, it is understood that for all ANS Forth words of IEEE 1275-1994, the 1275 descriptions may be rather casual and usually take a second priority after ANS Forth, when clarification is needed. However it would be undesirable to alter the meaning or functionality of any specific ANS Forth function, like ABORT, by providing too casual definition in IEEE 1275-1994 Std. document. Proposal: I would suggest to change the text, describing the function of ABORT functions in IEEE 1275-1994 document (p. 107) by dropping the first misleading sentence of the ABORT description altogether and leaving the description to be: "The version of ABORT defined by the ANS Forth EXCEPTION wordset applies." Another possibility would be to change IEEE 1275 ABORT description to the following text: "Abort program execution; clear stacks, if there is no exception frame on the exception stack. The version of ABORT defined by the ANS Forth EXCEPTION wordset applies." [ P1275 Item #449 -- Received: Wed Oct 14 11:24:22 PDT 1998 ]