J3/12-127 To: J3 From: Malcolm Cohen Subject: Editorial fixes for GET_COMMAND_ARGUMENT. Date: 2012 February 08 1. Introduction GET_COMMAND_ARGUMENT suffers from a number of wording problems. I think that these do not quite rise to the level of an interp. 2. Edits to 10-007r1 [350:11-12] "argument. It" -> "argument that". {Join unnumbered subparagraphs together.} [350:13-15] 13.7.66 GET_COMMAND_ARGUMENT, p3 (Arguments), NUMBER, Delete "Useful ... below).". {Some of this is noteworthy, some of it is plain wrong.} [350:16] Change "is defined to be" -> "always exists, and is". {Add requirement that command argument 0 always exists - which seems to be what "is allowed to be zero even if" is trying (but failing) to get at.} [350:17] After "concept" insert "; otherwise, the value of command argument 0 is processor dependent". {Without this, a program using GET_COMMAND_ARGUMENT with NUMBER==0 on such a processor is not conforming; we do not want that.} [350:17-18] Delete "NUMBER ... arguments.". {Content-free.} [350:19-20] Typesetting: join this unnumbered paragraph to the remnants of the previous one. {Improve exposition.} [350:22-23] ". If ... value" -> "; if there is no such command argument or its". {Clarify wording.} ALTERNATIVE: Replace "It is ... blanks." with "If the command argument specified by NUMBER exists, its value is assigned to VALUE; otherwise, VALUE is assigned all blanks." {Don't get a null pointer reference on the way to discovering your command argument number was out of range. Roll up the concept of "can be determined" into "it exists" (if it does not exist, then the whole idea of determination is ill-founded).} [350:24-25] "It is assigned ... NUMBER." -> "If the command argument specified by NUMBER exists, its significant length is assigned to LENGTH; otherwise, LENGTH is assigned the value 0." {Don't get a null pointer reference on the way to discovering that NUMBER was bad.} [350:25-26] "The significant length ... blanks." -> "It is processor dependent whether the significant length includes trailing blanks.". {Incorrect use of "may". Failure to properly signify processor dependency.} [350:28-29] Delete "If the ... assigned.". {Improved and rolled up into the assignment sentence.} [350:30-33] "It is assigned the ... fails." -> "If NUMBER is less than zero or greater than the argument count that would be returned by the intrinsic function COMMAND_ARGUMENT_COUNT, or command argument retrieval fails, STATUS is assigned a processor-dependent positive value. Otherwise, if VALUE is present and has a length less than the significant length of the specified command argument, it is assigned the value -1.". {Reorder conditions to test the right ones first, and incorporate the intention previously expressed by NOTE 13.13.} [350:33+1-3] Delete NOTE 13.13. {This note was basically not really supported by any normative text. Now that it is supported by explicit normative text, it is not needed.} [350:33+1-3+] Do not insert a new note. {One might be tempted to insert the deleted informative material "Useful values of NUMBER..." here, but given the rewrites of NUMBER and STATUS this is now blindingly obvious and needs no further comment.} ===END===