Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0001877 [1003.1(2024)/Issue8] Base Definitions and Headers Editorial Error 2024-11-19 12:10 2024-11-21 16:12
Reporter geoffclare View Status public  
Assigned To
Priority normal Resolution Accepted  
Status Resolved  
Name Geoff Clare
Organization The Open Group
User Reference
Section 9.1
Page Number 179
Line Number 6335-6388
Interp Status ---
Final Accepted Text
Summary 0001877: ISO editors Issue 8 comment 068
Description In their comment 068 on Issue 8 the ISO editors pointed out that definitions of terms should all be in chapter 3; there should not be additional definitions for REs in XBD 9.1. The Austin Group's response was that a change would be considered for the next TC.

Currently 9.1 is a mixture of definitions and behavioural requirements. The requirements should not move to chapter 3; they should either stay in 9.1 and the section be renamed appropriately, or move elsewhere in chapter 9.

When some of the definitions are moved to the wider context, they will need updating to account for that. For example, "escape character" is used in several contexts.

Some of the definitions seem unnecessary or have problems and I do not believe any changes to chapter 3 should be made for them:
"entire regular expression": this is already defined in 3.124.

"matched": this already has a definition in 3.199, and the extra text in the 9.1 "definition" contains requirements.

"BRE (ERE) matching a single character": this seems unnecessary given the technical descriptions in 9.3.1 and 9.4.1, and the definition's text doesn't match the term since it also talks about matching a collating element.

"BRE (ERE) matching multiple characters": this seems unnecessary given the technical descriptions in 9.3.6 and 9.4.6.

"invalid": there is no definition of the term, just a statement about its use plus some requirements.

Another issue with the current definitions in 9.1 is that the "escape sequence" entry defines both "escape sequence" and (within the text) "escape character"; both terms should be added to XBD 3.

The changes to 9.1 will necessitate some tweaks to places elsewhere in the standard that cross-reference it.

Note that bug 0001857 moves the requirements from the "matched" definition from 9.1 to 9.2, but the desired action here moves them back (otherwise there would be nothing left in 9.1, and removing 9.1 would alter the later familiar section numbers).
Desired Action After page 49 line 1539 section 3.127, add:
3.128 Escape Character
A character that, in certain circumstances and when not itself escaped, modifies the interpretation of the immediately following character by ``escaping'' that character.

<small>Note: Although the usual effect of the escape character is to remove any special meaning from the character it escapes, that is not always the case. For example, in a BRE escaping the digits '1' to '9' gives them a special meaning. (See [xref to 9.3.2 BRE Ordinary Characters].)</small>
3.129 Escape Sequence
The escape character immediately followed by any single character, which is thereby ``escaped''.

After page 58 line 1798 section 3.184, add:
3.185 Leftmost
Closest to the beginning of a sequence of items, such as characters in a string or symbols in a [xref to yacc] rule.

On page 179 line 6335-6348 section 9.1, after applying bug 1857 change:
9.1 Regular Expression Definitions
For the purposes of this section, the following definitions shall apply:

entire regular expression

[...]

matched
A sequence of zero or more characters shall be said to be matched by a BRE or ERE when the characters in the sequence correspond to a sequence of characters defined by the pattern. The matching process is described in [xref to 9.2].
to:
9.1 Regular Expression Matching
and move the text that bug 1857 moved from "matched" to 9.2, as updated by that bug, back into 9.1.

On page 180 line 6373-6381 section 9.1, delete:
BRE (ERE) matching a single character

[...]

invalid

On page 180 line 6382-6388 section 9.1, move the text of the current "invalid" definition to become a new paragraph at the end of 9.2 Regular Expression General Requirements (after page 191 line 6413).

After page 191 line 6390 section 9.2, add a paragraph:
The escape character in regular expressions shall be a <backslash> that is neither in a bracket expression nor itself escaped.

On page 2616 line 85645 section awk, change:
defined by the term matched in [xref to XBD Section 9.1]
to:
defined by [xref to XBD Section 9.1]

On page 2817 line 93403 section ed, and
page 2825 line 93720 section ed, and
page 2867 line 95359 section ex, and
page 2876 line 95690 section ex, and
page 3356 line 114103 section sed, and
page 3359 line 114244 section sed, change:
escape sequence (see [xref to XBD Section 9.1])
to:
escape sequence (see [xref to XBD Section 3.129])

On page 3371 line 114747 section sh, change:
Typing an escape character shall switch sh into command mode
to:
Typing an <ESC> character shall switch sh into command mode

On page 3709 line 127351 section A.9.1, change:
A.9.1 Regular Expression Definitions
to:
A.9.1 Regular Expression Matching

Tags tc1-2024
Attached Files

- Relationships
related to 0001857Interpretation Required Several problems with the new "lazy" regex quantifier. 

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2024-11-19 12:10 geoffclare New Issue
2024-11-19 12:10 geoffclare Name => Geoff Clare
2024-11-19 12:10 geoffclare Organization => The Open Group
2024-11-19 12:10 geoffclare Section => 9.1
2024-11-19 12:10 geoffclare Page Number => 179
2024-11-19 12:10 geoffclare Line Number => 6335-6388
2024-11-19 12:10 geoffclare Interp Status => ---
2024-11-19 12:11 geoffclare Relationship added related to 0001857
2024-11-21 16:12 Don Cragun Status New => Resolved
2024-11-21 16:12 Don Cragun Resolution Open => Accepted
2024-11-21 16:13 Don Cragun Tag Attached: tc1-2024


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker