HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0749 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 0749.


Report 0749 Actions


    Problem Report Number 0749
    Submitter's Classification Specification problem
    State Resolved
    Resolution Temporary Interpretation (TIN)
    Problem Resolution ID TIN.X.0040
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1995-10-23 08:00
    Product Standard Commands and Utilities V2 (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSC version 4.1.4
    Test Identification POSIX.upe/ex 231,232,233
    Specification Commands and Utilities Issue 4 Version 2
    Location in Spec See Problem Text
    Problem Summary TIN4C.00021 The tests may fail on implementations that make the current line the last line put back.
    Problem Text
    The tests may fail on implementations that adhere to historic practice
    and place the current line to the last line put back. Although
    POSIX.2 interpretation #78 reaffirms the behavior, the POSIX.2b draft
    reinstates the historic behavior.

    The tests in question verify the following assertions:

    231:
    When the unnamed buffer contains lines from a previous delete or yank
    command, then [line] put places the lines in the unnamed buffer after
    line (default: the current line) and sets the current line indicator to
    the first line put back.

    232:
    When x is a lowercase character in the POSIX locale and the buffer
    referenced by x contains lines from a previous put or yank command,
    then [line] put places the lines in the buffer referred to by x after
    line (default: the current line) and sets the current line indicator to
    the first of the inserted lines.

    233:
    When X is an uppercase character in the POSIX locale for which x is the
    lowercase equivalent, and the buffer referenced by x contains lines from
    a previous delete or yank command, then [line] put X places the lines in
    the buffer referred to by x after line (default: the current line) and
    sets the current line indicator to the first line put back.

    The portion of all these assertions that is in dispute is the current
    line indicator when the put is completed. In all these assertions, the
    expected current line is based in part on the following language in
    XCU4 Issue 2, p. 310:

    Put

    Synopsis: [line]pu[y] [buffer]

    Put back deleted or yanked lines after line <line>. A buffer can
    be specified; otherwise, the text in the unnamed buffer (where
    deleted or yanked text is placed by default) will be restored. The
    current line number will be set to the first line put back.

    This language is taken directly from POSIX.2. However, the last
    sentence, describing the setting of the current line, does not describe
    the historical behavior of ex.

    IEEE interpretation request pasc-1003.2-078 deals with this issue,
    although rather obliquely. This interpretation request is too long to
    cite here in its entirety, but it says in part:

    #11 Command Description
    Section 5.10.7.2, page 522, line 1267

    Historically, text was stored in buffers even when a buffer
    wasn't specified.

    Historically, buffers were either character or line mode
    oriented. This impacts almost all operations that deal
    with them.

    The language on which the assertion was based is no longer present in
    the most recent draft (Draft 11) of POSIX.2b, which is now written in
    terms of line and character mode buffers. It now states in part:

    5.10.7.5.22 put

    Synopsis: [1addr] pu[t] [buffer]

    ...

    Current line: Set to the last line entered into the edit buffer.

    which is historical practice. The test suite itself contains comments
    written to the journal to the effect that this appears to be an error
    and will change. (See the journal output shown above for all three
    assertions.) In view of this, the assertion is clearly a grey area.

    Test Output
    -----------------start of test output------------------

    ************************************************************************
    /tset/POSIX.upe/ex/ex_05.ex 1 Failed


    Test Information:
    Assertion #231 (C): [line]put puts lines into file from unnamed buffer
    Note: The behavior associated with this assertion is expected
    to change in a future revision of POSIX.2.
    expected current line 5, was line 6
    Command failed: 'checkline ex_data_1 5'
    expected current line 4, was line 5
    Command failed: 'checkline ex_data_2 4'
    ************************************************************************


    ************************************************************************
    /tset/POSIX.upe/ex/ex_05.ex 1 Failed


    Test Information:
    Assertion #232 (C): [line]put<buff> puts lines into file from named
    buffer
    Note: The behavior associated with this assertion is expected
    to change in a future revision of POSIX.2.
    expected current line 5, was line 6
    Command failed: 'checkline ex_data_1 5'
    expected current line 4, was line 5
    Command failed: 'checkline ex_data_2 4'
    ************************************************************************


    ************************************************************************
    /tset/POSIX.upe/ex/ex_05.ex 1 Failed


    Test Information:
    Assertion #233 (C): [line]put<buff> when buffer is a single uppercase
    char
    Note: The behavior associated with this assertion is expected
    to change in a future revision of POSIX.2.
    expected current line 5, was line 6
    Command failed: 'checkline ex_data_1 5'
    expected current line 4, was line 5
    Command failed: 'checkline ex_data_2 4'
    ************************************************************************

    ------------------end of test output-------------------

    Note: this output was from the vrpt report.

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    Anticipating acceptance of the completely rewritten ex specification
    in POSIX 2003.2b/D11 and the eventual alignment of the tests with it
    a temporary interpretation is recommended.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Temporary Interpretation (TIN)
    Review Conclusion
    A Temporary Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority