Document Number: AUSTIN/108r2

Title: XCuft Aardvark Change Request Report (final)

Revision Date: 2002-06-21

Source: Andrew Josey, Chair

Action: for review

This report contains the dispositions of the aardvark comments
submitted against the XCU final text.


Aardvark Summary Table
______________________
ERN 1 Accept as marked 
ERN 2 Accept 
ERN 3 Accept 
ERN 4 Accept 
ERN 5 Accept as marked 
ERN 6 Reject 
ERN 7 Reject 
ERN 8 Reject 
ERN 9 Accept as marked 
ERN 10 Accept 
ERN 11 Accept as marked 
ERN 12 Accept 
ERN 13 Accept 
ERN 14 Accept as marked 
ERN 15 Accept 
 _____________________________________________________________________________
 OBJECTION                                        Enhancement Request Number 1
 jonhitchcock@hotmail.com  Defect in XCU Special Built-in Utilities (rdvk#  7)
 {jjh68}                                  Wed, 3 Apr 2002 14:51:04 +0100 (BST)
 _____________________________________________________________________________
 Accept_____    Accept as marked below_X___     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:

Proposals for cleaning up the pages describing special built-in
utilities in IEEE Std 1003.1-2001.
These will be put forward to TC1.


Intentions:

Where the description of a special built-in utility states "None." in
a section where section 1.11 (Utility Description Defaults) doesn't
define a meaning for "None.", or where but where the defined meaning
of "None." clearly disagrees with the DESCRIPTION subsection, replace
"None." with something appropriate.

"Something appropriate" should be either text with a meaning defined
in 1.11 or "See the DESCRIPTION section".  No new text is to be
introduced.

My only uncertainty here is over the treatment of STDERR.  Since
1003.2-1992 is entirely silent on the subject, I've opted for the
relaxed approach of allowing all the utilities to emit diagnostic
messages to the standard error when they fail (which they're all
allowed to do in case of syntax errors).

Action:

[ OPTIONS sections ]

At the following locations:

page 79 line 3078 section export
page 81 line 3152 section readonly
page 87 line 3368 section set
page 98 line 3728 section unset

Replace "None." with "See the DESCRIPTION section."

[ OPERANDS sections ]

At the following locations:

page 65 line 2668 section break
page 67 line 2727 section colon
page 69 line 2785 section continue
page 71 line 2839 section dot
page 73 line 2891 section eval
page 75 line 2950 section exec
page 77 line 3011 section exit
page 79 line 3080 section export
page 81 line 3154 section readonly
page 83 line 3207 section return
page 87 line 3370 section set
page 91 line 3504 section shift
page 96 line 3644 section trap
page 98 line 3730 section unset

Replace "None." with "See the DESCRIPTION section."

[ STDIN sections ]

At the following locations:

page 65 line 2670 section break
page 67 line 2729 section colon
page 69 line 2787 section continue
page 71 line 2841 section dot
page 73 line 2893 section eval
page 75 line 2952 section exec
page 77 line 3013 section exit
page 79 line 3082 section export
page 81 line 3156 section readonly
page 83 line 3209 section return
page 87 line 3372 section set
page 91 line 3506 section shift
page 93 line 3560 section times
page 96 line 3646 section trap
page 98 line 3732 section unset

Replace "None." with "Not used."

[ INPUT FILES sections ]

At the following location:

page 71 line 2843 section dot

Replace "None." with "See the DESCRIPTION section."

[ ENVIRONMENT VARIABLES sections ]

At the following location:

page 71 line 2845 section dot

Replace "None." with "See the DESCRIPTION section."

[ ASYNCHRONOUS EVENTS sections ]

At the following locations:

page 65 line 2676 section break
page 67 line 2735 section colon
page 69 line 2793 section continue
page 71 line 2847 section dot
page 73 line 2899 section eval
page 75 line 2958 section exec
page 77 line 3019 section exit
page 79 line 3088 section export
page 81 line 3162 section readonly
page 83 line 3215 section return
page 88 line 3378 section set
page 91 line 3512 section shift
page 93 line 3566 section times
page 96 line 3652 section trap
page 98 line 3738 section unset

Replace "None." with "Default."

[ STDOUT sections ]

At the following locations:

page 65 line 2678 section break
page 67 line 2737 section colon
page 69 line 2795 section continue
page 71 line 2849 section dot
page 73 line 2901 section eval
page 75 line 2960 section exec
page 77 line 3021 section exit
page 83 line 3217 section return
page 91 line 3514 section shift
page 98 line 3738 section unset

Replace "None." with "Not used."

At the following locations:

page 79 line 3090 section export
page 81 line 3156 section readonly
page 88 line 3380 section set
page 93 line 3568 section times
page 96 line 3654 section trap

Replace "None." with "See the DESCRIPTION section."

[ STDERR sections ]

At the following locations:

page 65 line 2680 section break
page 67 line 2739 section colon
page 69 line 2797 section continue
page 73 line 2903 section eval
page 75 line 2962 section exec
page 77 line 3023 section exit
page 79 line 3092 section export
page 82 line 3166 section readonly
page 83 line 3219 section return
page 88 line 3382 section set
page 91 line 3516 section shift
page 93 line 3570 section times
page 96 line 3656 section trap
page 98 line 3742 section unset

Replace "None." with "The standard error shall be used only for
diagnostic messages."

[ CONSEQUENCES OF ERRORS sections ]

At the following locations:

page 65 line 2689 section break
page 67 line 2747 section colon
page 69 line 2806 section continue
page 71 line 2859 section dot
page 73 line 2913 section eval
page 76 line 2974 section exec
page 77 line 3034 section exit
page 80 line 3100 section export
page 82 line 3174 section readonly
page 83 line 3230 section return
page 88 line 3390 section set
page 91 line 3524 section shift
page 93 line 3578 section times
page 96 line 3666 section trap
page 99 line 3751 section unset

Replace "None." with "Default."

 _____________________________________________________________________________
 Page: 65-98  Line: 2678-3740  Section: Special


 Problem:

 Defect code :  1. Error

 For each of the special built-in utilities, the STDOUT section
 says "None."

 But 'export', 'readonly' and 'trap' are specified as writing to
 standard output under some conditions.  And 'set' and 'times' are
 specified as writing information (presumably to standard output).

 Also, the section for each of the remaining utilities should use the
 special phrase "Not used." defined on line 976.

 Action:

 Change the STDOUT section for each Special Built-in Utility as
 appropriate.


 _____________________________________________________________________________
 EDITORIAL                                        Enhancement Request Number 2
 joannaf@sun.com                                Defect in XCU chgrp (rdvk#  4)
 {Sun-jf-ce2}                                    Mon, 25 Mar 2002 17:12:10 GMT
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 _____________________________________________________________________________
 Page: 233  Line: 9027  Section: chgrp


 Problem:

 Defect code :  1. Error

 The SYNOPSIS does not show options are optional:

 chgrp -hR group file ...

 Action:

 Change the SYNOPSIS on line 9027 to:

 chgrp [-hR] group file ...


 _____________________________________________________________________________
 EDITORIAL                                        Enhancement Request Number 3
 joannaf@sun.com                                Defect in XCU chown (rdvk#  3)
 {Sun-jf-ce3}                                    Mon, 25 Mar 2002 17:14:50 GMT
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 _____________________________________________________________________________
 Page: 242  Line: 9389  Section: chown


 Problem:

 Defect code :  1. Error

 The SYNOPSIS does not show options are optional:

 chown -hR owner[:group] file ...

 Action:

 Change the SYNOPSIS on line 9027 to:

 chown [-hR] owner[:group] file .....


 _____________________________________________________________________________
 EDITORIAL                                        Enhancement Request Number 4
 jonhitchcock@hotmail.com                          Defect in XCU cp (rdvk#  6)
 {jjh69}                                  Wed, 3 Apr 2002 14:56:53 +0100 (BST)
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:

Zy is the System Interfaces volume

 _____________________________________________________________________________
 Page: 272  Line: 10587  Section: cp


 Problem:

 Defect code :  1. Error

 The SEE ALSO section includes "the *(Zy" which may be intended to
 refer to the System Interfaces volume.  This has been included since
 Draft 6.

 Action:

 Correct the text to what was intended.


 _____________________________________________________________________________
 EDITORIAL                                        Enhancement Request Number 5
 bjh21@netbsd.org                               Defect in XCU date (rdvk#  12)
 {bjh21:3}                               Fri, 26 Apr 2002 13:17:25 +0100 (BST)
 _____________________________________________________________________________
 Accept_____    Accept as marked below_X___     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:

Take the change as suggested
plus change "derive"->derives

 _____________________________________________________________________________
 Page: 299  Line: 11590-11591  Section: date


 Problem:

 Defect code :  1. Error

 The requirement to support setting the system date and time is XSI
 shaded (page 296 line 11430-11439), and hence isn't a requirement on
 POSIX implementations, new or otherwise.

 Action:

 Delete the list item starting "The setting of system date and time
 is described," and replace "requirements" with "requirement" in the
 preceding sentence.




 _____________________________________________________________________________
 EDITORIAL                                        Enhancement Request Number 6
 bjh21@netbsd.org                               Defect in XCU echo (rdvk#  14)
                                         Fri, 26 Apr 2002 17:16:39 +0100 (BST)
 _____________________________________________________________________________
 Accept_____    Accept as marked below_____     Duplicate_____     Reject_X___
 Rationale for rejected or partial changes:

Withdrawn by originator

 _____________________________________________________________________________
 Page: 333  Line: 12768  Section: echo


 Problem:
 Given the introduction of backslash-escapes, it's no longer true that "as
 specified, echo writes its arguments in the simplest of ways."

 Action:
 Delete "As specified, echo writes its arguments in the simplest of ways."


 _____________________________________________________________________________
 COMMENT                                          Enhancement Request Number 7
 wollman@lcs.mit.edu                             Defect in XCU expr (rdvk#  2)
 {GAW-2002b}                                     Fri, 22 Mar 2002 00:16:27 GMT
 _____________________________________________________________________________
 Accept_____    Accept as marked below_____     Duplicate_____     Reject_X___
 Rationale for rejected or partial changes:


Please refer to 1.7.2.1 which defines the arithmetic behavior for expr.

 _____________________________________________________________________________
 Page: 428  Line: 16549  Section: expr


 Problem:
 (Ed page and linenos updated to final text)

 Defect code :  2. Omission

 The definition of the expr utility leaves unstated a number of
 issues regarding the treatment of arithmetic.  This is probably
 intentional (so as not to break historic implementations), but it
 should be stated explicitly in the text, either in the EXTENDED
 DESCRIPTION or in the APPLICATION USAGE, that this is left up to
 the implementation.  These issues include the range of integer
 arguments and the treatment of arithmetic overflow.

 Some implementations will detect overflow and return exit status
 2 (``invalid expression''); are those implementations conforming?
 Likewise division by zero.

 Action:

 I believe the desire is to avoid constraining historic
 implementations.  The following text in the EXTENDED DESCRIPTION
 would suffice:

 The range of /integer/ values in the expr utility is
 implementation-defined.  If an /integer/ argument is
 provided which is outside of this range, or the result
 of an arithmetic operation overflows, or a division by
 zero is attempted, the output and exit status of the
 expr utility are undefined.

 [Ed recommendation: None]


 _____________________________________________________________________________
 COMMENT                                          Enhancement Request Number 8
 wollman@lcs.mit.edu                             Defect in XCU expr (rdvk#  1)
 {GAW-2002a}                                     Thu, 21 Mar 2002 23:55:50 GMT
 _____________________________________________________________________________
 Accept_____    Accept as marked below_____     Duplicate_____     Reject_X___
 Rationale for rejected or partial changes:

Withdrawn by originator

 _____________________________________________________________________________
 Page: 429  Line: 16618  Section: expr


 Problem:
 (Ed: page and linenos corrected for final text)

 Defect code :  2. Omission

 The APPLICATION USAGE section of the expr utility suggests that
 implementations might extend expr by adding options, and that
 applications which might want to use expr with values that might
 be negative should protect those values with a "--" argument
 as described in the Utility Syntax Guidelines.

 HOWEVER, the normative text describing the expr utility does not
 state that it obeys the Utility Syntax Guidelines, and I am not
 aware of any common implementation which will accept a "--"
 argument as suggested in the informative text, and the syntax as
 defined does not allow for such an argument.

 Action:

 One of the two following options should be taken for TC1:

 a) In the OPTIONS section, specify that although no options are
 defined, the Utility Syntax Guidelines for options still apply.
 This would require many existing implementations to be changed in
 order to recognize "--" as an empty argument.

 b) Delete the problematic paragraph from the APPLICATION NOTES
 section, and under OPTIONS add language prohibiting implementations
 from adding options as an extension, due to the restricted historical
 syntax of the utility.  I do not know if any implementations would
 be required to remove options as a result of this change (but
 I do not know of any).

 [Ed recommendation: None]
 Withdrawn by originator]

 _____________________________________________________________________________
 OBJECTION                                        Enhancement Request Number 9
 gwc@opengroup.org                           Defect in XCU getconf (rdvk#  15)
 [gwc getconf variables]                       Sun, 28 Apr 2002 20:40:44 +0100
 _____________________________________________________________________________
 Accept_____    Accept as marked below_X___     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 Replace lines 18565-18567 with the following:

    path_var    A name of a configuration variable. All of the variables
                in the Variable column of the table in the description
                of the fpathconf() function in the System Interfaces
                volume of IEEE Std 1003.1-2001, without the enclosing
                braces, shall be supported.  The implementation may add
                other local variables.


 Replace lines 18569-18607 with the following:

    system_var  A name of a configuration variable. All of the following
                variables shall be supported:

                - The names in the Variable column of the table in the
                  description of the sysconf() function in the System
                  Interfaces volume of IEEE Std 1003.1-2001 except
                  for the entries corresponding to _SC_CLK_TCK,
                  _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX,
                  without the enclosing braces.

                  For compatibility with older versions of this
                  specification, the following variable names shall
                  also be supported:

                     POSIX2_VERSION, POSIX2_C_BIND, POSIX2_C_DEV,
                     POSIX2_CHAR_TERM, POSIX2_FORT_DEV,
                     POSIX2_FORT_RUN, POSIX2_LOCALEDEF, POSIX2_SW_DEV,
                     POSIX2_UPE

                  and shall be equivalent to the same name prefixed with
                  an underscore.  This requirement may be removed in a
                  future revision.

                - The names of the symbolic constants used as the name
                  argument of the confstr() function in the System
                  Interfaces volume of IEEE Std 1003.1-2001, 
                  without the _CS_ prefix.

                - The names of the symbolic constants listed under
                  the headings `Maximum Values' and `Minimum Values'
                  in the description of the <limits.h> header in the
                  Base Definitions volume of IEEE Std 1003.1-2001,
                  without the enclosing braces.

                  For compatibility with older versions of this
                  specification, the following variable names shall
                  also be supported:

                     POSIX2_BC_BASE_MAX, POSIX2_BC_DIM_MAX,
                     POSIX2_BC_SCALE_MAX, POSIX2_BC_STRING_MAX,
                     POSIX2_COLL_WEIGHTS_MAX, POSIX2_EXPR_NEST_MAX,
                     POSIX2_LINE_MAX, POSIX2_RE_DUP_MAX

                  and shall be equivalent to the same name prefixed with
                  an underscore.  This requirement may be removed in a
                  future revision.

                The implementation may add other local values.

On XCU p 17 delete lines 693-696 (POSIX2_VERSION)

On XCU p 18 700-703 change

Change 

utility (see getconf (on page 481)) and through the sysconf( ) function
defined in the System Interfaces volume of IEEE Std 1003.1-2001. The
literal names shown in Table 1-3 (on page 17) apply only to the
getconf utility; the high-level language binding describes the exact
form of each name to be used by the interfaces in that binding.

to
utility (see getconf (on page 481)).

On XCU getconf p483 remove the table  (since now covered by text
in the system_var operand)


 _____________________________________________________________________________
 Page: 482  Line: 18565-18607  Section: getconf


 Problem:

 Defect code :  1. Error

 There have been some changes to the variable names used with getconf
 since POSIX.2, which I think were probably unintentional.

 POSIX.2 defined the variable names to be used by reference to specific
 columns of certain tables in POSIX.2 and in POSIX.1-1990.

 XCU6 just has a vague reference to "all of the variables" in the
 sysconf(), pathconf() and confstr() functions, plus a table giving
 system_var values that can be used for each confstr() Name Value.
 In XSH6 the sysconf() and [f]pathconf() pages contain tables with
 a column headed "Variable", so it is a reasonable assumption that
 these are the variables to be used as system_var and path_var, but
 this ought to be stated explicitly, in a form which includes the text
 "without the enclosing braces" that appeared in POSIX.2.  For confstr()
 there is nothing comparable in XSH6 which could be taken to be a list of
 the variable names to be used, so the reference to the description of
 confstr() here is confusing.  At first I thought it should be removed,
 leaving the system_var names listed on the getconf page as the way to
 access confstr() variables, but I see that there are some other places
 where "getconf _CS_PATH" is mentioned, so I assume that the requirement
 to support the _CS_* names is an intentional addition to what was
 required by POSIX.2.

 Disregarding confstr(), here is an analysis of the changes from
 POSIX.2 for each table it referenced:

 system_var

     - Name column of Table 2-17 (Utility Limit Minimum Values)

         The POSIX2_*_MAX variables have been lost.  POSIX2_VERSION is
         covered by the reference to sysconf() but as _POSIX2_VERSION
         (with an underscore on the front).

     - Name column of Table 2-18 (Symbolic Utility Limits)

         No differences.  (Covered by the reference to sysconf().)

     - Name column of Table 2-19 (Optional Facility Configuration Values)

         These are covered by the reference to sysconf(), but with


         an underscore added on the front of each name.

     - Name column of Table 2-3 (Minimum Values) of POSIX.1 {8}

         These have all been lost.

     - Name column of Table 2-4 (Run-Time Increasable Values) of POSIX.1 {8}

         No differences.  (Covered by the reference to sysconf().)

     - Variable column of Table 4-2 (Configurable System Variables) of
     POSIX.1 {8} (except CLK_TCK need not be supported), without the
     enclosing braces

         No differences.  (Covered by the reference to sysconf().)

 path_var

     - Variable column of Table 5-2 (Configurable Pathname Variables)
     of POSIX.1 {8}, without the enclosing braces

         No differences.  (Covered by the reference to pathconf().)


 The text in XCU6 was derived from XCU5.  However, XCU5 deferred to
 POSIX.2, so any difference between them (other than extensions) must
 have been unintentional.

 The way to correct most of these differences is simple and obvious.
 However, the issue of added underscores is problematic.  The best
 solution is probably to require the affected names to be supported
 both with and without the leading underscore.  (Without the
 underscore for compatibility with POSIX.2 apps; with the underscore
 for consistency with the other names used from the sysconf() table.)
 Support for the old names could be deprecated.

 Action:

 Replace lines 18565-18567 with the following:

    path_var    A name of a configuration variable. All of the variables
                in the Variable column of the table in the description
                of the fpathconf() function in the System Interfaces
                volume of IEEE Std 1003.1-2001, without the enclosing
                braces, shall be supported.  The implementation may add
                other local variables.


 Replace lines 18569-18607 with the following:

    system_var  A name of a configuration variable. All of the following
                variables shall be supported:

                - The names in the Variable column of the table in the
                  description of the sysconf() function in the System
                  Interfaces volume of IEEE Std 1003.1-2001 (except
                  for the entries corresponding to _SC_CLK_TCK,
                  _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX),


                  without the enclosing braces.

                  For compatibility with older versions of this
                  specification, the following variable names shall
                  also be supported:

                     POSIX2_VERSION, POSIX2_C_BIND, POSIX2_C_DEV,
                     POSIX2_CHAR_TERM, POSIX2_FORT_DEV,
                     POSIX2_FORT_RUN, POSIX2_LOCALEDEF, POSIX2_SW_DEV,
                     POSIX2_UPE

                  and shall be equivalent to the same name prefixed with
                  an underscore.  This requirement may be removed in a
                  future revision.

                - The names of the symbolic constants used as the name
                  argument of the confstr() function in the System
                  Interfaces volume of IEEE Std 1003.1-2001, both with
                  and without the _CS_ prefix.

                - The names of the symbolic constants listed under
                  the headings `Maximum Values' and `Minimum Values'
                  in the description of the <limits.h> header in the
                  Base Definitions volume of IEEE Std 1003.1-2001,
                  without the enclosing braces.

                  For compatibility with older versions of this
                  specification, the following variable names shall
                  also be supported:

                     POSIX2_BC_BASE_MAX, POSIX2_BC_DIM_MAX,
                     POSIX2_BC_SCALE_MAX, POSIX2_BC_STRING_MAX,
                     POSIX2_COLL_WEIGHTS_MAX, POSIX2_EXPR_NEST_MAX,
                     POSIX2_LINE_MAX, POSIX2_RE_DUP_MAX

                  and shall be equivalent to the same name prefixed with
                  an underscore.  This requirement may be removed in a
                  future revision.

                The implementation may add other local values.


 _____________________________________________________________________________
 EDITORIAL                                       Enhancement Request Number 10
 dwc@spartan.eng.sun.com                        Defect in XCU grep (rdvk#  10)
 [Sun-dwc-1]                             Fri, 19 Apr 2002 09:35:04 -0700 (PDT)
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 _____________________________________________________________________________
 Page: 495  Line: 19060,19061-19063  Section: grep


 Problem:

 Defect code :  1. Error

 The examples using grep's -F option do not match the normative
 description of the -F option.  (The normative text matches historical
 practice; the examples do not.)  The -F option looks for fixed strings
 anywhere on a line not regular expressions with alternation as shown in
 the example on P495, L19060 and does not perform alternation as
 suggested on P495, L19063.

 Action:

 To get the effect indicated on P495, L19058, change:
         grep -F 'abc|def'
 on P495, L19060 to:
         grep -F 'abc
         def'

 To get the effect indicated on P495, L19061, change:
         grep -F -x 'abc|def'
 on P495, L19063 to:
         grep -F -x 'abc
         def'


 _____________________________________________________________________________
 OBJECTION                                       Enhancement Request Number 11
 joannaf@sun.com                                Defect in XCU iconv (rdvk#  5)
 {Sun-jf-kt4}                             Wed, 3 Apr 2002 14:48:30 +0100 (BST)
 _____________________________________________________________________________
 Accept_____    Accept as marked below_X___     Duplicate_____     Reject____
 Rationale for rejected or partial changes:



On Page: 503  Line: 19270-19305 Section: iconv 

In the SYNOPSIS section

On line 19270 change from:

	"iconv [-cs] -f fromcode -t tocode [file ...]"

to
        "iconv [-cs] -f frommap -t tomap [file ...]
         iconv -f fromcode [-cs] [-t tocode] [file ...]
         iconv -t tocode [-cs] [-f fromcode] [file ...]"

	
In the DESCRIPTION section

On line 19283 change from:

 "Omit any invalid characters from the output."

to

 "Omit any characters that are invalid in the codeset of the input 
  file from the output."

On lines 19284-19285 in the -c option description change from:

 "(either those that are not members of the fromcode or those that 
 have no corresponding value in tocode) shall"

to

  "(either those that are not characters in the codeset of the input 
  file or that have no corresponding character in the codeset of the 
  output file) shall"

On lines 19288 to 19296 the -f fromcode option description change:

  "-f  fromcode 
              Identify the codeset of the input file. If the 
              option-argument contains a slash character, iconv shall 
              attempt to use it as the pathname of a charmap file, as 
              defined in the Base Definitions volume of IEEE Std 
              1003.1-2001, Section 6.4, Character Set Description File.
              If the pathname does not represent a valid, readable 
              charmap file, the results are undefined. If the 
              option-argument does not contain a slash, it shall be 
              considered the name of one of the codeset descriptions
              provided by the system, in an unspecified format. The 
              valid values of the option-argument without a slash are 
              implementation-defined. If this option is omitted, the
              codeset of the current locale shall be used."
to

  "-f  fromcodeset
        Identify the codeset of the input file.  The implementation
        shall recognize the following two forms of the fromcodeset
        option-argument:
          fromcode      The fromcode option argument must not contain a
                        slash character.  It shall be interpreted as
                        the name of one of the codeset descriptions
                        provided by the implementation in an
                        unspecified format.  Valid values of fromcode
                        are implementation-defined.
          frommap       The frommap option argument must contain a
                        slash character.  It shall be interpreted as
                        the pathname of a charmap file as defined in
                        the Base Definitions volume of IEEE Std
                        1003.1-2001, Section 6.4, Character Set
                        Description File. If the pathname does not
                        represent a valid, readable charmap file, the
                        results are undefined.
        If this option is omitted, the codeset of the current locale
        shall be used."

On lines 19301-19302 in the -s option description change:

  "stream (either those that are not valid members of the fromcode or 
   those that have no corresponding value in tocode) shall be specified 
   in the system documentation."

to
  
  "stream (either those that are not valid characters in the codeset 
   of the input file or that have no corresponding character in the 
   codeset of the output file) shall be specified in the system 
   documentation."

On lines 19304 to 19305 the -t fromcode option description change:

  "-t  tocode 
              Identify the codeset to be used for the output file. The 
              semantics shall be equivalent to the -f fromcode option."
 
to

  "-t  tocodeset
        Identify the codeset to be used for the output file.  The
        implementation shall recognize the following two forms of the
        tocodeset option-argument:
          tocode        The semantics shall be equivalent to the -f
                        fromcode option.
          tomap         The semantics shall be equivalent to the -f
                        tomap option.
        If this option is omitted, the codeset of the current locale
        shall be used."

Rationale:
 Inconsistencies with the iconv() function.



 _____________________________________________________________________________
 Page: 503  Line: 19270  Section: iconv


 Problem:

 Defect code :  1. Error

 Changes introduced to the iconv utility have introduced some
 inconsistancies. Some are within the iconv utility description and
 some are between the iconv utility and the iconv() system interface.

 Inconsistancy 1:

 The lines 19295, 19296, 19306, and 19307 indicate the -f or -t
 options can be omitted.  However, the SYNOPSIS of the iconv utility
 at line 19270 does not say they are optional as follows:
         iconv [-cs] -f fromcode -t tocode [file ...]

 Inconsistancy 2:

 There is a consistancy problem between the iconv utility's -c option
 on lines 19283- 19287 and the iconv() system interface description
 on page 587 of XSH lines 19306-19308. This inconsistancy is that
 iconv() allows implementation-defined conversion on a valid character
 that does not have an identical conversion in the target codeset while
 the iconv utility description mandates that the situation of not
 having an identical conversion  makes the input character invalid and
 so subject to be treated as an invalid character.

 Action:

 Inconsistancy 1:

 Change the SYNOPSIS in line 19270 to
         iconv [-cs] -f frommap -t tomap [file ...]
         iconf [-cs] [-f fromcode] [-t tocode] [file ...]

 Replace lines 19288 to 19296 with:

 -f  fromcode
       Identify the codeset of the input file. If the option-argument
 does not contain a slash, it shall be considered the name of one of
 the codeset descriptions provided by thesystem, in an unspecified
 format. The valid values  of the option-argument without a slash are
 implementation-defined. If this option is omitted, the codeset of the
 current locale shall be used.

 -f  frommap


       Identify the codeset of the input file. If the option-argument
 contains a slash character, iconv shall attempt to use it as the
 pathname of a charmap file, as defined in the Base Definitions
 volume of IEEE Std 1003.1-2001, Section 6.4, Character Set Description
 File. If the pathname does not represent a valid, readable charmap
 file, the results are undefined.

 After line 19305 add:

 -t  tomap
       Identify the codeset to be used for the output file. The
 semantics shall be equivalent to the -f frommap option.

 Inconsistancy 2:

 Change line 19285 to:

 members of the fromcode/frommap or those of frommap that have no
 corresponding value in tomap) shall

 Add the following at the end of line 19287:

 If the iconv utility encounters a character in the fromcode input
 that is valid, but for which an identical character does not exist in the
 tocode codeset, the iconv utility shall perform an
 implementation-defined conversion on this character.


 _____________________________________________________________________________
 EDITORIAL                                       Enhancement Request Number 12
 bjh21@netbsd.org                                 Defect in XCU od (rdvk#  13)
 {bjh21:2}                               Fri, 26 Apr 2002 12:51:24 +0100 (BST)
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 _____________________________________________________________________________
 Page: 680  Line: 26205  Section: od


 Problem:

 Defect code :  1. Error

 Some of the examples for od use an undefined "-n" option.  This looks
 like a typo for "-N".

 Action:

 Here, and also at
 page 681 line 26216 section od editorial

 replace "-n" with "-N".


 _____________________________________________________________________________
 OBJECTION                                       Enhancement Request Number 13
 gwc@opengroup.org                              Defect in XCU test (rdvk#  11)
 [gwc test 3 args]                             Thu, 25 Apr 2002 17:42:13 +0100
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


 _____________________________________________________________________________
 Page: 906  Line: 34938  Section: test


 Problem:

 Defect code :  1. Error

 This line relates to the use of parentheses as arguments to "test", so
 the line should be marked XSI.

 Action:

 Add XSI mark and shading to line 34938.


 _____________________________________________________________________________
 OBJECTION                                       Enhancement Request Number 14
 gwc@opengroup.org                               Defect in XCU uniq (rdvk#  8)
 [gwc uniq output format]                      Sun, 14 Apr 2002 15:30:47 +0100
 _____________________________________________________________________________
 Accept_____    Accept as marked below_X___     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:

 On lines 36811 and 36814 change "the application shall ensure that the
 output file is empty or" to "the output file shall be empty or".

 _____________________________________________________________________________
 Page: 957  Line: 36811,36814  Section: uniq


 Problem:

 Defect code :  1. Error

 Improper requirement on the application.

 Action:

 On lines 36811 and 36814 change "the application shall ensure that the
 output file is empty or" to "either the output file shall be empty or".


 _____________________________________________________________________________
 OBJECTION                                       Enhancement Request Number 15
 joannaf@sun.com                                   Defect in XCU m4 (rdvk#  9)
 {Sun-jf-dc5}                            Wed, 17 Apr 2002 10:51:03 +0100 (BST)
 _____________________________________________________________________________
 Accept_X___    Accept as marked below_____     Duplicate_____     Reject_____
 Rationale for rejected or partial changes:


page 581
 _____________________________________________________________________________
 Page: 2581  Line: 22337-22361  Section: m4


 Problem:

 Defect code :  1. Error

 We have found several problems in the examples on the m4 page in XCU4,
 XCU4v2, XCU5 and XCU6.

 Specifically, there is no "if" built-in macro in m4 and there is no
 "ifndef" built-in macro in m4.  There is also a problem in that none
 of the examples show what would be produced by m4 and using make in
 the examples obfuscates the use of m4.

 The use of an unquoted macro name in the ifndef() macro call is
 confusing if the reader has read the description of how m4 expands
 macros.  (We won't say it is wrong only because the examples don't
 specify the output that would be produced.)


 Action:

 Replace the entire EXAMPLES section in XCU6, P2581, L22337-22361
 with the following (Note that all double quotes, grave accents, and
 accute accents in the following must remain as those characters.
 In this context the pairs of acute and grave accents are very
 different from opening and closing double quotes.  The blank lines
 in the example output sections are also VERY important.):


 If the file \fBm4src\fP contains the lines:
         The value of `VER' is "VER".
         ifdef(`VER', ``VER'' is defined to be VER., VER is not defined.)
         ifelse(VER, 1, ``VER'' is `VER'.)
         ifelse(VER, 2, ``VER'' is `VER'., ``VER'' is not 2.)
         end
 then the command:
         m4 m4src
 or the command:
         m4 -U VER m4src
 produces the output:
         The value of VER is "VER".
         VER is not defined.

         VER is not 2.
         end

 The commnd:
         m4 -D VER m4src
 produces the output:
         The value of VER is "".
         VER is defined to be .

         VER is not 2.
         end

 The command:
         m4 -D VER=1 m4src
 produces the output:
         The value of VER is "1".
         VER is defined to be 1.
         VER is 1.
         VER is not 2.
         end

 The command:
         m4 -D VER=2 m4src
 produces the output:
         The value of VER is "2".
         VER is defined to be 2.

         VER is 2.
         end