Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000521 [1003.1(2008)/Issue 7] Shell and Utilities Objection Error 2011-11-30 10:46 2019-06-10 08:55
Reporter geoffclare View Status public  
Assigned To ajosey
Priority normal Resolution Accepted  
Status Closed  
Name Geoff Clare
Organization The Open Group
User Reference
Section 2.9.2 Pipelines
Page Number 2318
Line Number 73179
Interp Status Approved
Final Accepted Text see Note: 0001082
Summary 0000521: Behaviour of !(command) should not be specified
Description Currently section 2.9.2, in combination with the tokenisation rules
and grammar, requires that !(command) is treated as a pipeline
beginning with the reserved word ! and containing a subshell command.

However, in ksh88 this was treated as a negated pathname expansion
!(pattern), not a negated subshell command. Since the POSIX shell
description was based on ksh88, specifying negated pipelines in a way
that made ksh88 non-conforming was clearly not intended.
Desired Action After:

    [!] command1 [ | command2 ...]

add a new paragraph:

    If the pipeline begins with the reserved word ! and command1 is
    a subshell command, the application shall ensure that the ( operator
    at the beginning of command1 is separated from the ! by one or more
    <blank> characters. The behavior of the reserved word ! immediately
    followed by the ( operator is unspecified.

Cross-volume change to XRAT...
At page 3665 line 124711 section C.2.9.2 after:

    The reserved word ! allows more flexible testing using AND and OR
    lists.

append this to the sentence:

    The behavior of !( is unspecified because in the Korn Shell this
    introduces a negated pathname expansion. Portable applications
    need to separate the ! and ( to ensure the command is treated as
    a negated subshell.
Tags tc2-2008
Attached Files

- Relationships

-  Notes
(0001082)
eblake (manager)
2011-12-15 17:27
edited on: 2011-12-15 17:29

Interpretation response
------------------------
The standard states that !(command) shall be a negated subshell, and
conforming implementations must conform to this. However, concerns have
been raised about this which are being referred to the sponsor.

Rationale:
-------------
Requiring a negated subshell conflicts with shells that provide
an extension of negated pathname expansion.

Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
See Desired Action

(0001292)
ajosey (manager)
2012-06-29 16:16

Interpretation proposed 29 June 2012 for final 45 day review
(0001355)
ajosey (manager)
2012-08-30 09:15

Interpretation approved 30 Aug 2012

- Issue History
Date Modified Username Field Change
2011-11-30 10:46 geoffclare New Issue
2011-11-30 10:46 geoffclare Status New => Under Review
2011-11-30 10:46 geoffclare Assigned To => ajosey
2011-11-30 10:46 geoffclare Name => Geoff Clare
2011-11-30 10:46 geoffclare Organization => The Open Group
2011-11-30 10:46 geoffclare Section => 2.9.2 Pipelines
2011-11-30 10:46 geoffclare Page Number => 2318
2011-11-30 10:46 geoffclare Line Number => 73179
2011-11-30 10:46 geoffclare Interp Status => ---
2011-12-15 17:27 eblake Note Added: 0001082
2011-12-15 17:27 eblake Status Under Review => Interpretation Required
2011-12-15 17:27 eblake Resolution Open => Accepted
2011-12-15 17:27 eblake Interp Status --- => Pending
2011-12-15 17:27 eblake Final Accepted Text => see Note: 0001082
2011-12-15 17:28 eblake Tag Attached: tc2-2008
2011-12-15 17:29 eblake Note Edited: 0001082
2012-06-29 16:16 ajosey Interp Status Pending => Proposed
2012-06-29 16:16 ajosey Note Added: 0001292
2012-08-30 09:15 ajosey Interp Status Proposed => Approved
2012-08-30 09:15 ajosey Note Added: 0001355
2019-06-10 08:55 agadmin Status Interpretation Required => Closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker