View Issue Details

IDProjectCategoryView StatusLast Update
00012681003.1(2016/18)/Issue7+TC2Shell and Utilitiespublic2024-06-11 09:08
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Section2.6.2, 2.6.3
Page Number2354, 2358
Line Number75056, 75206
Interp Status---
Final Accepted Text
Summary0001268: Expansions in double-quotes
DescriptionA discussion on the mailing list identified a number of issues with
the way the effect of double-quotes on expansions within them is
specified. Specifically, 2.6.2 says:
If a parameter expansion occurs inside double-quotes:

* Pathname expansion shall not be performed on the results of the expansion.

* Field splitting shall not be performed on the results of the expansion.

This has the following problems:

1. It is misleading to say "pathname expansion shall not be performed".
Although this is effectively true if the entire pattern is inside
double-quotes, if only part of it is quoted then pathname expansion is
performed but the part inside the double-quotes is treated as a literal
string.

2. It omits mention of how pattern matching in case statements and in
the four string-manipulation forms of parameter expansion are affected.

3. The statement about field splitting is redundant because 2.6.5 says
"the shell shall scan the results of expansions and substitutions that did
not occur in double-quotes for field splitting".

A similar statement in 2.6.3 has the same problems.

The best way to fix these issues would be to add a statement to 2.2.3
that applies to all expansions within double-quotes and remove the
statements from 2.6.2 and 2.6.3.
Desired ActionOn page 2347 line 74738 section 2.2.3, add a new paragraph after the list:
When double-quotes are used to quote a parameter expansion, command substitution, or arithmetic expansion, the literal value of all characters within the result of the expansion shall be preserved.

On page 2354 line 75056 section 2.6.2, delete:
If a parameter expansion occurs inside double-quotes:
  • Pathname expansion shall not be performed on the results of the expansion.
  • Field splitting shall not be performed on the results of the expansion.

On page 2358 line 75206 section 2.6.3, delete:
If a command substitution occurs inside double-quotes, field splitting and pathname expansion shall not be performed on the results of the substitution.
Tagstc3-2008

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-07-05 09:34 geoffclare New Issue
2019-07-05 09:34 geoffclare Name => Geoff Clare
2019-07-05 09:34 geoffclare Organization => The Open Group
2019-07-05 09:34 geoffclare Section => 2.6.2, 2.6.3
2019-07-05 09:34 geoffclare Page Number => 2354, 2358
2019-07-05 09:34 geoffclare Line Number => 75056, 75206
2019-07-05 09:34 geoffclare Interp Status => ---
2019-08-01 16:26 Don Cragun Status New => Resolved
2019-08-01 16:26 Don Cragun Resolution Open => Accepted
2019-08-01 16:26 Don Cragun Tag Attached: tc3-2008
2019-11-20 16:12 geoffclare Status Resolved => Applied
2024-06-11 09:08 agadmin Status Applied => Closed