A NOTE has been added to this issue. 
====================================================================== 
http://austingroupbugs.net/view.php?id=1128 
====================================================================== 
Reported By:                kre
Assigned To:                
====================================================================== 
Project:                    1003.1(2013)/Issue7+TC1
Issue ID:                   1128
Category:                   Shell and Utilities
Type:                       Omission
Severity:                   Objection
Priority:                   normal
Status:                     New
Name:                       Robert Elz 
Organization:                
User Reference:              
Section:                    1.1.2.1, 2.6.4 
Page Number:                2331-3, 2358-9 
Line Number:                74118-74162, 75225-75250 
Interp Status:              --- 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2017-03-17 01:08 UTC
Last Modified:              2017-03-17 11:31 UTC
====================================================================== 
Summary:                    Where is the ',' (comma) operator ?
====================================================================== 

---------------------------------------------------------------------- 
 (0003628) kre (reporter) - 2017-03-17 11:31
 http://austingroupbugs.net/view.php?id=1128#c3628 
---------------------------------------------------------------------- 
Sorry, but ...

    With the current text, it is very clear that $((1,2)) is not
specified,

I disagree.   Table 1-2 lists just about everything that is valid C (even
the statements, that are not C expressions by any definition - it even
includes goto) and, aside from ',', lists every plausible C expression
operator that exists - sure unary '*' is missing, and if it is considered
an operator binary '.' (personally I wouldn't consider it as such), and
'[' (with its ']' companion (which is just a derivation of '*') but none
of those are really applicable in any obvious way to sh (at least for
shells that don't implement arrays, which are definitely an extension.)

The only conclusion that I can draw from that is that ',' was just
forgotten.
Since it is not mentioned at all, it is hard to believe that it was
deliberately
omitted, were that the case, there would be an explanation in the
rationale.

Note that I did not ask that support for ',' be mandated, nor that it be
forbidden (whether for locale issues or anything else) - specifying that,
like ++ and --, support for it is unspecified would be just fine.  But
that
statement should be explicit, as it is for ++  -- (and the, would be
absurd,
sizeof).

Note that ** and a binary ~ operator, and various other possible
extensions
are quite different - none of those are standard C operators.   Certainly
it
is not possible to list every possible newly invented character sequence
which someone might implement as an operator, and state that support for
that
is undefined, but the standard should really list all the standard C
expression operators (it could just omit the C statements though, they
aren't
expressions in (normal) C, and there's no reason to assume anyone would
assume that sh $(( )) which defines itself as using C expressions, would
for some bizarre reason permit "while..." or goto (where, labels are not
in the list...) inside a $(( )).

I don't think this is really the place for any extensive discussion of
locale
issues, so I will just avoid that here, though I will note as an aside
that
by "typical non-english based locale" Joerg really means "non-English
European locale".

kre 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2017-03-17 01:08 kre            New Issue                                    
2017-03-17 01:08 kre            Name                      => Robert Elz      
2017-03-17 01:08 kre            Section                   => 1.1.2.1, 2.6.4  
2017-03-17 01:08 kre            Page Number               => 2331-3, 2358-9  
2017-03-17 01:08 kre            Line Number               => 74118-74162,
75225-75250
2017-03-17 10:32 stephane       Note Added: 0003623                          
2017-03-17 10:32 stephane       Note Edited: 0003623                         
2017-03-17 10:59 joerg          Note Added: 0003626                          
2017-03-17 11:30 stephane       Note Added: 0003627                          
2017-03-17 11:31 kre            Note Added: 0003628                          
======================================================================


Reply via email to