A NOTE has been added to this issue. ====================================================================== https://austingroupbugs.net/view.php?id=1561 ====================================================================== Reported By: calestyo Assigned To: ====================================================================== Project: Issue 8 drafts Issue ID: 1561 Category: Shell and Utilities Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Christoph Anton Mitterer Organization: User Reference: Section: various Page Number: N/A Line Number: N/A Final Accepted Text: ====================================================================== Date Submitted: 2022-02-01 00:10 UTC Last Modified: 2022-04-11 13:52 UTC ====================================================================== Summary: clarify what kind of data shell variables need to be able to hold ====================================================================== Relationships ID Summary ---------------------------------------------------------------------- related to 0001560 clarify wording of command substitution related to 0001562 printf utility: clarify what is (byte) ... related to 0001564 clariy on what (character/byte) strings... ======================================================================
---------------------------------------------------------------------- (0005795) geoffclare (manager) - 2022-04-11 13:52 https://austingroupbugs.net/view.php?id=1561#c5795 ---------------------------------------------------------------------- Since field splitting is performed on the results of (unquoted) parameter expansions, it is also affected by this issue, but the fix is included in my suggested changes for bug https://austingroupbugs.net/view.php?id=1560 so is not repeated here. Suggested changes... On page 155 line 5331 section 8.1 Environment Variable Definition, change:<blockquote>The value of an environment variable is a string of characters.</blockquote>to:<blockquote>The value of an environment variable is an arbitrary sequence of bytes, except for the null byte.</blockquote> On page 155 line 5335 section 8.1 Environment Variable Definition, change:<blockquote><i>names</i> shall not contain the character '='.</blockquote>to:<blockquote><i>names</i> shall not contain any bytes that have the encoded value of the character '='.</blockquote> On page 155 line 5336 section 8.1 Environment Variable Definition, change:<blockquote>shall be composed of characters from the portable character set</blockquote>to:<blockquote>shall be composed of bytes that have the encoded value of characters from the portable character set</blockquote> On page 155 line 5342 section 8.1 Environment Variable Definition, change:<blockquote>Other characters may be permitted by an implementation</blockquote>to:<blockquote>Other characters, and byte sequences that do not form valid characters, may be permitted by an implementation</blockquote> On page 2314 line 74531 section 2.5 Parameters and Variables, add a new paragraph:<blockquote>Parameters can contain arbitrary byte sequences, except for the null byte. The shell shall process their values as characters only when performing operations that are described in this standard in terms of characters.</blockquote> On page 2316 line 74612 section 2.5.3 Shell Variables, insert:<blockquote>Shell variables shall be initialized only from environment variables that have valid names.</blockquote>before:<blockquote>If a variable is initialized from the environment, ...</blockquote> On page 2321 line 74857 section 2.6.2 Parameter Expansion, change:<blockquote>... for substring processing.</blockquote>to:<blockquote>... for character substring processing.</blockquote> After page 3626 line 125374 section C.2.5.3 Shell Variables, add a new paragraph:<blockquote>Since shell variables are parameters denoted by a name, the shell cannot initialize shell variables from environment variables that do not have a valid name. However, the shell may initialize parameters that do not have valid names from such environment variables.</blockquote> Issue History Date Modified Username Field Change ====================================================================== 2022-02-01 00:10 calestyo New Issue 2022-02-01 00:10 calestyo Name => Christoph Anton Mitterer 2022-02-01 00:10 calestyo Section => various 2022-02-01 00:10 calestyo Page Number => N/A 2022-02-01 00:10 calestyo Line Number => N/A 2022-02-01 19:33 mirabilos Note Added: 0005645 2022-02-01 19:44 calestyo Note Added: 0005647 2022-02-01 20:52 chet_ramey Note Added: 0005649 2022-02-01 23:07 kre Note Added: 0005650 2022-02-02 15:15 chet_ramey Note Added: 0005652 2022-02-02 16:39 calestyo Note Added: 0005653 2022-02-02 18:44 kre Note Added: 0005654 2022-02-06 11:18 mirabilos Note Added: 0005662 2022-02-06 18:18 chet_ramey Note Added: 0005665 2022-02-06 23:17 kre Note Added: 0005666 2022-02-08 15:14 calestyo Note Added: 0005668 2022-02-09 01:58 kre Note Added: 0005669 2022-04-07 16:29 geoffclare Relationship added related to 0001560 2022-04-07 16:30 geoffclare Relationship added related to 0001562 2022-04-07 16:30 geoffclare Relationship added related to 0001564 2022-04-11 13:52 geoffclare Note Added: 0005795 ======================================================================
