Is this case now approved? Olga
2010/3/5 ????? ???????????? <olga.kryzhanovska at gmail.com>: > 2010/3/2 ????? ???????????? <olga.kryzhanovska at gmail.com>: >> On Tue, Mar 2, 2010 at 10:44 PM, Glenn Skinner <glenn.skinner at covad.net> >> wrote: >>> On Mar 2, 2010, at 12:55 PM, Garrett D'Amore - sun microsystems wrote: >>> >>>> This project is an amendment to the Korn Shell 93 Integration project >>>> (PSARC/2006/550 and PSARC/2007/035, PSARC/2008/094, PSARC/2008/344 >>>> and PSARC/2008/589) specifying the following additional >>>> interfaces: >>>> Addition of /usr/bin/xgrep >>>> >>>> Bug/RFE Number(s): >>>> >>>> 6929154 RFE: Add /usr/bin/xgrep (Augmented regular expressions >>>> (conjunction, negation.)) >>>> >>>> >>>> Interface Stability Description >>>> --------- --------- ----------- >>>> /usr/bin/xgrep Committed xgrep command >>>> ksh93 'xgrep' built in Committed xgrep command >>> >>> Before I give this case my +1, I have some questions: >>> >>> The case's specification should define the syntax of the regular expressions >>> the utility accepts. I suspect that the variants requested by the -E, -F, >>> -G, and -P flags can be handled with references to the corresponding man >>> pages. But what is the specification for -X mode REs (including the >>> semantics of alternation and conjunction)? >> >> -X is like POSIX grep -E (egrep) but adds & as AND operator and ! as >> NOT operator. >> >>> >>> What is the difference between lenient and strict pattern interpretation? >> >> Strict will print syntax errors if the pattern does not match the >> standard exactly. I leave the exact explanation to Glenn Fowler. > > Glenn's replied this: > -------------------------------- > -O, --lenient sets the regcomp(3) REG_LENIENT flag > in general if REG_LENIENT is on then certain constructs marked > "unspecified" in the standard will be accepted, otherwise they > may produce regcomp(3) errors > > e.g. > > invalid \char escape > > grep -S '\#' <<<'#' > > invalid [...] range endpoint > > grep -S '[a-q-z]' <<<'a' > > the intention (theory) is that RE's that make it through -S, --strict > will make it through all conformant implementations > > as counterexamples roll in I tweak libast/reg*.c to make pratice match theory > -------------------------------- > > 'lenient' mode by default may be an option (i.e. look at Garrett > D'Amore proposal for moving /usr/xpg4/bin to /usr/bin, AST grep would > keep strong backwards compatibility sans the dreaded i18n bugs in the > current /usr/bin/grep) if we replace /usr/bin/grep and friends with > this grep implementation and use 'strict' mode for /usr/xpg4/bin/grep. > > Olga > -- > , _ _ , > { \/`o;====- Olga Kryzhanovska -====;o`\/ } > .----'-/`-/ olga.kryzhanovska at gmail.com \-`\-'----. > `'-..-| / Solaris/BSD//C/C++ programmer \ |-..-'` > /\/\ /\/\ > `--` `--` > -- , _ _ , { \/`o;====- Olga Kryzhanovska -====;o`\/ } .----'-/`-/ olga.kryzhanovska at gmail.com \-`\-'----. `'-..-| / Solaris/BSD//C/C++ programmer \ |-..-'` /\/\ /\/\ `--` `--`