[1003.1(2016)/Issue7+TC2 0001097]: Shell Grammar rule 4 is nonsense that conflicts with existing implementations

2016-10-27 Thread Austin Group Bug Tracker

The following issue has been CLOSED. 
== 
http://austingroupbugs.net/view.php?id=1097 
== 
Reported By:Mark_Galeck
Assigned To:
== 
Project:1003.1(2016)/Issue7+TC2
Issue ID:   1097
Category:   Shell and Utilities
Type:   Error
Severity:   Editorial
Priority:   normal
Status: Closed
Name:   Mark Galeck 
Organization:
User Reference:  
Section:2.10.2 Shell Grammar Rules 
Page Number:2376, 2379 
Line Number:75919, 75920, 76068, 76069 
Interp Status:  --- 
Final Accepted Text: 
Resolution: Withdrawn
Fixed in Version:   
== 
Date Submitted: 2016-10-20 15:24 UTC
Last Modified:  2016-10-27 18:09 UTC
== 
Summary:Shell Grammar rule 4 is nonsense that conflicts with
existing implementations
== 

-- 
 (0003474) Don Cragun (manager) - 2016-10-27 18:09
 http://austingroupbugs.net/view.php?id=1097#c3474 
-- 
Withdrawn by submitter per http://austingroupbugs.net/view.php?id=1097#c3461 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2016-10-20 15:24 Mark_GaleckNew Issue
2016-10-20 15:24 Mark_GaleckName  => Mark Galeck 
2016-10-20 15:24 Mark_GaleckSection   => 2.10.2 Shell
Grammar Rules
2016-10-20 15:24 Mark_GaleckPage Number   => 2376, 2379  
2016-10-20 15:24 Mark_GaleckLine Number   => 75919, 75920,
76068, 76069
2016-10-21 08:32 geoffclare Note Added: 0003447  
2016-10-27 12:43 Mark_GaleckNote Added: 0003461  
2016-10-27 18:09 Don Cragun Interp Status => --- 
2016-10-27 18:09 Don Cragun Note Added: 0003474  
2016-10-27 18:09 Don Cragun Status   New => Closed   
2016-10-27 18:09 Don Cragun Resolution   Open => Withdrawn   
==




[1003.1(2016)/Issue7+TC2 0001097]: Shell Grammar rule 4 is nonsense that conflicts with existing implementations

2016-10-27 Thread Austin Group Bug Tracker

A NOTE has been added to this issue. 
== 
http://austingroupbugs.net/view.php?id=1097 
== 
Reported By:Mark_Galeck
Assigned To:
== 
Project:1003.1(2016)/Issue7+TC2
Issue ID:   1097
Category:   Shell and Utilities
Type:   Error
Severity:   Editorial
Priority:   normal
Status: New
Name:   Mark Galeck 
Organization:
User Reference:  
Section:2.10.2 Shell Grammar Rules 
Page Number:2376, 2379 
Line Number:75919, 75920, 76068, 76069 
Interp Status:  --- 
Final Accepted Text: 
== 
Date Submitted: 2016-10-20 15:24 UTC
Last Modified:  2016-10-27 12:43 UTC
== 
Summary:Shell Grammar rule 4 is nonsense that conflicts with
existing implementations
== 

-- 
 (0003461) Mark_Galeck (reporter) - 2016-10-27 12:43
 http://austingroupbugs.net/view.php?id=1097#c3461 
-- 
This report is included in the summary report 1100 and can be cancelled. 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2016-10-20 15:24 Mark_GaleckNew Issue
2016-10-20 15:24 Mark_GaleckName  => Mark Galeck 
2016-10-20 15:24 Mark_GaleckSection   => 2.10.2 Shell
Grammar Rules
2016-10-20 15:24 Mark_GaleckPage Number   => 2376, 2379  
2016-10-20 15:24 Mark_GaleckLine Number   => 75919, 75920,
76068, 76069
2016-10-21 08:32 geoffclare Note Added: 0003447  
2016-10-27 12:43 Mark_GaleckNote Added: 0003461  
==




[1003.1(2016)/Issue7+TC2 0001097]: Shell Grammar rule 4 is nonsense that conflicts with existing implementations

2016-10-21 Thread Austin Group Bug Tracker

A NOTE has been added to this issue. 
== 
http://austingroupbugs.net/view.php?id=1097 
== 
Reported By:Mark_Galeck
Assigned To:
== 
Project:1003.1(2016)/Issue7+TC2
Issue ID:   1097
Category:   Shell and Utilities
Type:   Error
Severity:   Editorial
Priority:   normal
Status: New
Name:   Mark Galeck 
Organization:
User Reference:  
Section:2.10.2 Shell Grammar Rules 
Page Number:2376, 2379 
Line Number:75919, 75920, 76068, 76069 
Interp Status:  --- 
Final Accepted Text: 
== 
Date Submitted: 2016-10-20 15:24 UTC
Last Modified:  2016-10-21 08:32 UTC
== 
Summary:Shell Grammar rule 4 is nonsense that conflicts with
existing implementations
== 

-- 
 (0003447) geoffclare (manager) - 2016-10-21 08:32
 http://austingroupbugs.net/view.php?id=1097#c3447 
-- 
I agree there is a problem here, but the suggested solution is not right.

Rule 4 is needed for this case:

$ case foobar in
> esac)
-bash: syntax error near unexpected token `)'

Maybe there is a way to fix it by rewording rule 4 to distinguish between
pattern) and (pattern).  If not, we'll need to change the grammar somehow
(perhaps by introducing a pattern_or_esac production). 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2016-10-20 15:24 Mark_GaleckNew Issue
2016-10-20 15:24 Mark_GaleckName  => Mark Galeck 
2016-10-20 15:24 Mark_GaleckSection   => 2.10.2 Shell
Grammar Rules
2016-10-20 15:24 Mark_GaleckPage Number   => 2376, 2379  
2016-10-20 15:24 Mark_GaleckLine Number   => 75919, 75920,
76068, 76069
2016-10-21 08:32 geoffclare Note Added: 0003447  
==




[1003.1(2016)/Issue7+TC2 0001097]: Shell Grammar rule 4 is nonsense that conflicts with existing implementations

2016-10-20 Thread Austin Group Bug Tracker

The following issue has been SUBMITTED. 
== 
http://austingroupbugs.net/view.php?id=1097 
== 
Reported By:Mark_Galeck
Assigned To:
== 
Project:1003.1(2016)/Issue7+TC2
Issue ID:   1097
Category:   Shell and Utilities
Type:   Error
Severity:   Editorial
Priority:   normal
Status: New
Name:   Mark Galeck 
Organization:
User Reference:  
Section:2.10.2 Shell Grammar Rules 
Page Number:2376, 2379 
Line Number:75919, 75920, 76068, 76069 
Interp Status:  --- 
Final Accepted Text: 
== 
Date Submitted: 2016-10-20 15:24 UTC
Last Modified:  2016-10-20 15:24 UTC
== 
Summary:Shell Grammar rule 4 is nonsense that conflicts with
existing implementations
Description: 
According to the production

pattern: WORD /* Apply rule 4 */

the input:

case foobar in (esac) esac

should not accept, because the first 'esac' would be identified as token
Esac, and not WORD, according to rule 4.

This is of course nonsense, and indeed, both dash and bash have no problem
accepting the above.  

Moreover, the production

pattern : pattern '|' WORD /* Do not apply rule 4 */

is nonsense as well.  Because we are told that rule 4 does not apply, we
apply the default rule 1, according to which, again, 'esac' would be Esac
here, not WORD, so that

 case foobar in (esac|esac) esac

should again not accept.  But of course it does in the existing
implementations, as well it should.  
Desired Action: 
Nuke rule 4, it makes no sense and does not apply, anywhere.  

Change the pattern productions to:

pattern: WORD  /*TOKEN is always WORD here*/
| pattern '|' WORD  /*TOKEN is always WORD here*/
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2016-10-20 15:24 Mark_GaleckNew Issue
2016-10-20 15:24 Mark_GaleckName  => Mark Galeck 
2016-10-20 15:24 Mark_GaleckSection   => 2.10.2 Shell
Grammar Rules
2016-10-20 15:24 Mark_GaleckPage Number   => 2376, 2379  
2016-10-20 15:24 Mark_GaleckLine Number   => 75919, 75920,
76068, 76069
==