J3/08-157 To: J3 From: Van Snyder Subject: Even more editorial stuff Date: 2008 April 23 [276: C1202] ----------------------------------------------------------- The first sentence of C1202 is just a subset of the remainder of the constraint. Editor: Delete the useless first sentence of C1202. [277: 12.4.3.2p1] ------------------------------------------------------ The first second sentence of 12.4.3.2p1 overlooks internal and dummy procedures, and has grammatical problems. Editor: Before the first sentence of 12.4.3.2p1 insert a new sentence "An interface body specifies a <>." This covers them all, so "explicit specific interface" could be shortened to "explicit interface" in p6 and p7. Editor: In the (original) first sentence of 12.4.3.2p1 insert ", internal," after "external". Replace "the procedures" by "each procedure" to agree with the singular form "a <>". The material of the second sentence of 12.4.3.2p1 belongs in (actually already is in) 12.4.2.1p1, and it's wrong here anyway (or at least it appears to contradict 12.4.2.1p1). Editor: Delete the second sentence of 12.4.3.2p1. Maybe replace the whole paragraph by "An <> is specified by o an interface body that is not an abstract interface body, or o an external, internal, or module procedure. The interface defined by an external procedure is only accessible within the subprogram that defines that procedure, and scoping units that access it by host association. An interface body specifies an explicit interface." Move [277:12.4.2.3p6 to here. Replace the first sentence of [277: 12.4.3.2p5] "An interface body that is not an abstract interface body or a module procedure interface body specifies [the EXTERNAL attribute and*] the interface for an external or dummy procedure." * See paper 08-156. [277: 12.4.3.2p5] ------------------------------------------------------ All it says in the intro to this paragraph is "An interface body...." Thereby, a module procedure interface body could be construed to specify explicit specific interface and the EXTERNAL attribute for an external or dummy procedure. Editor: Replace "in a generic or specific interface block" by "that is not an abstract interface body or a module procedure interface body". [277: 12.4.3.2p7] ------------------------------------------------------ Editor: Move "for an external procedure" from the end of the first sentence to be after "explicit specific interface". Procedures aren't "named" by ENTRY statements. ENTRY statements define procedures. We don't really need "\obs{An interface for a procedure named....}" anyway since the introductory sentence of the paragraph says "procedure," not "subprogram." Editor: Delete "{\obs{An interface for a procedure named by an ENTRY statement... body.}". If we must keep it, replace "named" by "defined".