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
0000473 [1003.1(2008)/Issue 7] Shell and Utilities Editorial Clarification Requested 2011-07-08 16:19 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.4, 2.9.5
Page Number 2321,2322,2324
Line Number 73274,73277,73312,73379
Interp Status ---
Final Accepted Text
Summary 0000473: Spacing in 2.9.x command syntax specifications
Description Section 2.9.5 Function Definition Command says:

    The format of a function definition command is as follows:

    fname() compound-command[io-redirect ...]

The way this is formatted, with no spacing between "fname" and "()",
can lead readers into the misunderstanding that no blanks are allowed
after the function name. However, if the grammar rules are followed
carefully, it is clear that blanks are allowed between "fname" and
"(" and even between "(" and ")".

This is confirmed by XRAT C.2.9.5 on P3669 L124868:

    The "()" in the function definition command consists of two
    operators. Therefore, intermixing <blank> characters with the
    fname, '(', and ')' is allowed, but unnecessary.

I think it would be good to adopt a convention in all the subsections
of 2.9 that specifications of command syntax are formatted such that
there is spacing between tokens. Some sections already do this
(2.9.2, 2.9.3 and parts of 2.9.4) but 2.9.5 and parts of 2.9.4 do not.

There is still the opposite danger: that readers could be led to
believe blanks are needed where they are not. The proposed changes
include an addition to 2.9 that mentions this.
Desired Action
On P2316 L73070 after "represent the syntax" add a new sentence:

    In particular the representations include spacing between tokens
    in some places where blanks would not be necessary (when one of
    the tokens is an operator).

On P2321 L73274 change:

    (compound-list)

to:

    ( compound-list )

On P2321 L73277 change:

    { compound-list;}

to:

    { compound-list ; }

On P2322 L73312 change:

    case word in
        [(]pattern1) compound-list;;
        [[(]pattern[ | pattern] ... ) compound-list;;] ...
        [[(]pattern[ | pattern] ... ) compound-list]
    esac

to:

    case word in
        [(] pattern1 ) compound-list ;;
        [[(] pattern[ | pattern] ... ) compound-list ;;] ...
        [[(] pattern[ | pattern] ... ) compound-list]
    esac

On P2324 L73379 change:

    fname() compound-command[io-redirect ...]

to:

    fname ( ) compound-command [io-redirect ...]
Tags tc2-2008
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2011-07-08 16:19 geoffclare New Issue
2011-07-08 16:19 geoffclare Status New => Under Review
2011-07-08 16:19 geoffclare Assigned To => ajosey
2011-07-08 16:19 geoffclare Name => Geoff Clare
2011-07-08 16:19 geoffclare Organization => The Open Group
2011-07-08 16:19 geoffclare Section => 2.9.4, 2.9.5
2011-07-08 16:19 geoffclare Page Number => 2321,2322,2324
2011-07-08 16:19 geoffclare Line Number => 73274,73277,73312,73379
2011-07-08 16:19 geoffclare Interp Status => ---
2011-08-11 15:51 jim_pugsley Status Under Review => Resolved
2011-08-11 15:51 jim_pugsley Resolution Open => Accepted
2011-08-11 15:51 jim_pugsley Description Updated
2011-08-11 15:51 jim_pugsley Tag Attached: tc2-2008
2019-06-10 08:55 agadmin Status Resolved => Closed


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