View Issue Details

IDProjectCategoryView StatusLast Update
00004731003.1(2008)/Issue 7Shell and Utilitiespublic2019-06-10 08:55
Reportergeoffclare Assigned Toajosey  
PrioritynormalSeverityEditorialTypeClarification Requested
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Section2.9.4, 2.9.5
Page Number2321,2322,2324
Line Number73274,73277,73312,73379
Interp Status---
Final Accepted Text
Summary0000473: Spacing in 2.9.x command syntax specifications
DescriptionSection 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 ...]
Tagstc2-2008

Activities

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