Austin Group Minutes of the 11 November Teleconference Austin-227 Page 1 of 1
Submitted by Andrew Josey, The Open Group.              November 12, 2004

Attendees

Andrew Josey, The Open Group
Nick Stoughton, USENIX, ISO/IEC OR
Don Cragun , Sun, PASC OR
Glenn Fowler, AT&T
Mark Brown, IBM, TOG OR

Apologies
Ulrich Drepper, Red Hat


Status of next plenary meeting
----------------
The agenda has been updated.
Andrew reported that he had no confirmation yet on whether the PASC SEC
will also meet during the same week. He has left a message for
Lowell Johnson.

Other topics
------------
Andrew has made a strawman draft of new APIs that the Base WG is working 
on, in particular this contains functions which address
bounds checking strings functions.

Defect Report Processing
-------------------------
The group picked up on the latest batch of defect reports,
which are available at the following URL:
http://www.opengroup.org/austin/aardvark/latest/

XBD ERN 7 Description of BREs versus regcomp()  Accept as marked below

This is an Interpretation

The standard is unclear on this issue, and no conformance
distinction can be made between alternative implementations based
on this. This is being referred to the sponsor.

Notes to the Editor for a future revision (not part of this interpretation):

Proposed changes:

    9.3.6 BREs Matching Multiple Characters

        [* Current description (page 174 lines 6129-6135): *]

        For example, the expression "\(.*\)\1$" matches a line
        consisting of two adjacent appearances of the same string, and
        the expression "\(a\)*\1" fails to match 'a' . When the
        referenced subexpression matched more than one string, the
        back-referenced expression shall refer to the last matched
        string. If the subexpression referenced by the back-reference
        matches more than one string because of an asterisk ( '*' ) or
        an interval expression (see item (5)), the back-reference shall
        match the last (rightmost) of these strings.

        [* Change to: *]

        The string matched by a contained subexpression shall be within
        the string matched by the containing subexpression.  If the
        containing subexpression does not match, or if there is no
        match for the contained subexpression within the string matched
        by the containing subexpression then back-reference expressions
        corresponding to the contained subexpression shall not match.
        When a subexpression matches more than one string, a
        back-reference expression corresponding to the subexpression
        shall refer to the last matched string.  For example, the
        expression "^\(.*\)\1$" matches lines consisting of two
        adjacent appearances of the same string, the expression
        "\(a\)*\1" fails to match 'a', the expression "\(a\(b\)*\)*\2"
        fails to match 'abab', and the expression "^\(ab*\)*\1$"
        matches 'ababbabb' but fails to match 'ababbab'.

    ed

        [* Current description (page 345 lines 13312-13313): *]

        As a more general feature, the characters '\n' , where n is a
        digit, shall be replaced by the text matched by the
        corresponding back-reference expression.

        [* Add this: *]

        If the corresponding back-reference expression does not match
        then the characters '\n' shall be replaced by the empty string.

    ex

        [* Current description (page391 lines 15168-15170): *]

        The sequence '\n' , where n is an integer, shall be replaced by
        the text matched by the pattern enclosed in the nth set of
        parentheses '\(' and '\)'.

        [* Change to: *]

        The sequence '\n' , where n is an integer, shall be replaced by
        the text matched by the corresponding back-reference
        expression. If the corresponding back-reference expression does
        not match then the characters '\n' shall be replaced by the
        empty string.

    expr

        [* Current description (page 431 lines 16738-16739): *]

        Alternatively, if the pattern contains at least one regular
        expression subexpression "[\(...\)]", the string corresponding
        to "\1" shall be returned.

        [* Change to: *]

        Alternatively, if the pattern contains at least one regular
        expression subexpression "[\(...\)]", the string matched by the
        back-reference expression "\1" shall be returned.  If the
        back-reference expression "\1" does not match then the null
        string shall be returned.

    pax

        [* Current description (page 707 line 27455): *]

        '\n' (where n is a digit) backreferences, ...

        [* Change to: *]

        '\n' (where n is a digit) back-references, ...

    sed

        [* Current description (page 846 lines 32803-32804): *]

        The characters "\n", where n is a digit, shall be replaced by
        the text matched by the corresponding backreference expression.

        [* Change to: *]

        The characters "\n", where n is a digit, shall be replaced by
        the text matched by the corresponding back-reference
        expression.  If the corresponding back-reference expression
        does not match then the characters "\n" shall be replaced by
        the empty string.


XBD ERN 19 All-caps Environment variables used for configuration OPEN

This is being left open for the next meeting. Mark will
work on a revised proposal.

XBD ERN 32 connected socket definition OPEN

This is being left open for one more meeting pending feedback from experts.
The initial view was that it reflects existing practise.

XCU ERN 40 c99 -l y foo.c  Accept as marked below

This is an editorial update
                                                                                
 In c99 APPLICATION USAGE (XCU page 217 line 8538), change:
                                                                                
    -l options.
                                                                                
 to:
                                                                                
    -l operands, because the standard requires options to appear before
    operands.  The standard allows the first operand to be an -l
    operand, so conforming implementations accept usages like "c99
    -l y foo.c".
                                                                                

XCU ERN 41 pr +, sh ++ Accept as marked below


The standard is clear, the  + character has no meaning as the first
character of an operand for the pr utility , it is only allowed as the
+page option case, so implementations are allowed to treat +x as an invalid
page number or an operand.  Portable applications should use pr -- +x
to avoid this problem.
                                                                                
For sh, no change is needed.  See the APPLICATION USAGE section.
                                                                                
Notes to editor for a future revision:
                                                                                
Add to APPLICATION USAGE (wording based on the APP USAGE in sh)
                                                                                
A conforming application must protect its first operand, if it starts
with a plus sign, by preceding it with the "--" argument that denotes
the end of the options. For example pr +x could be interpreted
as an invalid page number or a file operand.




Next Steps
-----------
Andrew  will update the aardvark reports with the latest inbound
defect reports.

There are a number of open action items outstanding:
1. Don Cragun Pathname Resolution proposal
2. Larry Dwyer system() and threads
3. Joerg Schilling wording for XCU ERN 1 pax

The next teleconference call is scheduled for  Nov 18 2004