Added ENotifyKeypresses and ECaptureCtrlC flags to CCommandBase.
Commands can now get keypresses and handle ctrl-C via callbacks instead of having to implement custom active objects. As part of this extended the CCommandBase extension interface to MCommandExtensionsV2 for the new virtual functions KeyPressed(TUint aKeyCode, TUint aModifiers) and CtrlCPressed(). sudo now cleans up correctly by using ECaptureCtrlC.
/^\pC\pL\pM\pN\pP\pS\pZ</8
\x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
\np\x{300}9!\$ <
** Failers
ap\x{300}9!\$ <
/^\PC/8
X
** Failers
\x7f
/^\PL/8
9
** Failers
\x{c0}
/^\PM/8
X
** Failers
\x{30f}
/^\PN/8
X
** Failers
\x{660}
/^\PP/8
X
** Failers
\x{66c}
/^\PS/8
X
** Failers
\x{f01}
/^\PZ/8
X
** Failers
\x{1680}
/^\p{Cc}/8
\x{017}
\x{09f}
** Failers
\x{0600}
/^\p{Cf}/8
\x{601}
** Failers
\x{09f}
/^\p{Cn}/8
\x{e0000}
** Failers
\x{09f}
/^\p{Co}/8
\x{f8ff}
** Failers
\x{09f}
/^\p{Cs}/8
\?\x{dfff}
** Failers
\x{09f}
/^\p{Ll}/8
a
** Failers
Z
\x{e000}
/^\p{Lm}/8
\x{2b0}
** Failers
a
/^\p{Lo}/8
\x{1bb}
\x{3400}
\x{3401}
\x{4d00}
\x{4db4}
\x{4db5}
** Failers
a
\x{2b0}
\x{4db6}
/^\p{Lt}/8
\x{1c5}
** Failers
a
\x{2b0}
/^\p{Lu}/8
A
** Failers
\x{2b0}
/^\p{Mc}/8
\x{903}
** Failers
X
\x{300}
/^\p{Me}/8
\x{488}
** Failers
X
\x{903}
\x{300}
/^\p{Mn}/8
\x{300}
** Failers
X
\x{903}
/^\p{Nd}+/8
0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
\x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
\x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
** Failers
X
/^\p{Nl}/8
\x{16ee}
** Failers
X
\x{966}
/^\p{No}/8
\x{b2}
\x{b3}
** Failers
X
\x{16ee}
/^\p{Pc}/8
\x5f
\x{203f}
** Failers
X
-
\x{58a}
/^\p{Pd}/8
-
\x{58a}
** Failers
X
\x{203f}
/^\p{Pe}/8
)
]
}
\x{f3b}
** Failers
X
\x{203f}
(
[
{
\x{f3c}
/^\p{Pf}/8
\x{bb}
\x{2019}
** Failers
X
\x{203f}
/^\p{Pi}/8
\x{ab}
\x{2018}
** Failers
X
\x{203f}
/^\p{Po}/8
!
\x{37e}
** Failers
X
\x{203f}
/^\p{Ps}/8
(
[
{
\x{f3c}
** Failers
X
)
]
}
\x{f3b}
/^\p{Sc}+/8
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
\x{9f2}
** Failers
X
\x{2c2}
/^\p{Sk}/8
\x{2c2}
** Failers
X
\x{9f2}
/^\p{Sm}+/8
+<|~\x{ac}\x{2044}
** Failers
X
\x{9f2}
/^\p{So}/8
\x{a6}
\x{482}
** Failers
X
\x{9f2}
/^\p{Zl}/8
\x{2028}
** Failers
X
\x{2029}
/^\p{Zp}/8
\x{2029}
** Failers
X
\x{2028}
/^\p{Zs}/8
\ \
\x{a0}
\x{1680}
\x{180e}
\x{2000}
\x{2001}
** Failers
\x{2028}
\x{200d}
/\p{Nd}+(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}+?(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}{2,}(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}{2,}?(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}*(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}*?(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}{2}(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}{2,3}(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}{2,3}?(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}?(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}??(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}*+(..)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}*+(...)/8
\x{660}\x{661}\x{662}ABC
/\p{Nd}*+(....)/8
** Failers
\x{660}\x{661}\x{662}ABC
/\p{Lu}/8i
A
a\x{10a0}B
** Failers
a
\x{1d00}
/\p{^Lu}/8i
1234
** Failers
ABC
/\P{Lu}/8i
1234
** Failers
ABC
/(?<=A\p{Nd})XYZ/8
A2XYZ
123A5XYZPQR
ABA\x{660}XYZpqr
** Failers
AXYZ
XYZ
/(?<!\pL)XYZ/8
1XYZ
AB=XYZ..
XYZ
** Failers
WXYZ
/[\p{L}]/DZ
/[\p{^L}]/DZ
/[\P{L}]/DZ
/[\P{^L}]/DZ
/[abc\p{L}\x{0660}]/8DZ
/[\p{Nd}]/8DZ
1234
/[\p{Nd}+-]+/8DZ
1234
12-34
12+\x{661}-34
** Failers
abcd
/[\P{Nd}]+/8
abcd
** Failers
1234
/\D+/8
11111111111111111111111111111111111111111111111111111111111111111111111
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/\P{Nd}+/8
11111111111111111111111111111111111111111111111111111111111111111111111
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\D]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\P{Nd}]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\D\P{Nd}]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/\pL/8
a
A
/\pL/8i
a
A
/\p{Lu}/8
A
aZ
** Failers
abc
/\p{Lu}/8i
A
aZ
** Failers
abc
/\p{Ll}/8
a
Az
** Failers
ABC
/\p{Ll}/8i
a
Az
** Failers
ABC
/^\x{c0}$/8i
\x{c0}
\x{e0}
/^\x{e0}$/8i
\x{c0}
\x{e0}
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
A\x{391}\x{10427}\x{ff3a}\x{1fb0}
** Failers
a\x{391}\x{10427}\x{ff3a}\x{1fb0}
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
A\x{391}\x{10427}\x{ff5a}\x{1fb0}
A\x{391}\x{10427}\x{ff3a}\x{1fb8}
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
A\x{391}\x{10427}\x{ff3a}\x{1fb0}
a\x{391}\x{10427}\x{ff3a}\x{1fb0}
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
A\x{391}\x{10427}\x{ff5a}\x{1fb0}
A\x{391}\x{10427}\x{ff3a}\x{1fb8}
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ
/AB\x{1fb0}/8DZ
/AB\x{1fb0}/8DZi
/\x{391}+/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
/\x{391}{3,5}(.)/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
/\x{391}{3,5}?(.)/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
/[\x{391}\x{ff3a}]/8i
\x{391}
\x{ff3a}
\x{3b1}
\x{ff5a}
/[\x{c0}\x{391}]/8i
\x{c0}
\x{e0}
/[\x{105}-\x{109}]/8iDZ
\x{104}
\x{105}
\x{109}
** Failers
\x{100}
\x{10a}
/[z-\x{100}]/8iDZ
Z
z
\x{39c}
\x{178}
|
\x{80}
\x{ff}
\x{100}
\x{101}
** Failers
\x{102}
Y
y
/[z-\x{100}]/8DZi
/^\X/8
A
A\x{300}BC
A\x{300}\x{301}\x{302}BC
*** Failers
\x{300}
/^[\X]/8
X123
*** Failers
AXYZ
/^(\X*)C/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
/^(\X*?)C/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
/^(\X*)(.)/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
/^(\X*?)(.)/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
/^\X(.)/8
*** Failers
A\x{300}\x{301}\x{302}
/^\X{2,3}(.)/8
A\x{300}\x{301}B\x{300}X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
/^\X{2,3}?(.)/8
A\x{300}\x{301}B\x{300}X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
/^\p{Han}+/8
\x{2e81}\x{3007}\x{2f804}\x{31a0}
** Failers
\x{2e7f}
/^\P{Katakana}+/8
\x{3105}
** Failers
\x{30ff}
/^[\p{Arabic}]/8
\x{06e9}
\x{060b}
** Failers
X\x{06e9}
/^[\P{Yi}]/8
\x{2f800}
** Failers
\x{a014}
\x{a4c6}
/^\p{Any}X/8
AXYZ
\x{1234}XYZ
** Failers
X
/^\P{Any}X/8
** Failers
AX
/^\p{Any}?X/8
XYZ
AXYZ
\x{1234}XYZ
** Failers
ABXYZ
/^\P{Any}?X/8
XYZ
** Failers
AXYZ
\x{1234}XYZ
ABXYZ
/^\p{Any}+X/8
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
** Failers
XYZ
/^\P{Any}+X/8
** Failers
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
XYZ
/^\p{Any}*X/8
XYZ
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
** Failers
/^\P{Any}*X/8
XYZ
** Failers
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
/^[\p{Any}]X/8
AXYZ
\x{1234}XYZ
** Failers
X
/^[\P{Any}]X/8
** Failers
AX
/^[\p{Any}]?X/8
XYZ
AXYZ
\x{1234}XYZ
** Failers
ABXYZ
/^[\P{Any}]?X/8
XYZ
** Failers
AXYZ
\x{1234}XYZ
ABXYZ
/^[\p{Any}]+X/8
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
** Failers
XYZ
/^[\P{Any}]+X/8
** Failers
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
XYZ
/^[\p{Any}]*X/8
XYZ
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
** Failers
/^[\P{Any}]*X/8
XYZ
** Failers
AXYZ
\x{1234}XYZ
A\x{1234}XYZ
/^\p{Any}{3,5}?/8
abcdefgh
\x{1234}\n\r\x{3456}xyz
/^\p{Any}{3,5}/8
abcdefgh
\x{1234}\n\r\x{3456}xyz
/^\P{Any}{3,5}?/8
** Failers
abcdefgh
\x{1234}\n\r\x{3456}xyz
/^\p{L&}X/8
AXY
aXY
\x{1c5}XY
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^[\p{L&}]X/8
AXY
aXY
\x{1c5}XY
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^\p{L&}+X/8
AXY
aXY
AbcdeXyz
\x{1c5}AbXY
abcDEXypqreXlmn
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^[\p{L&}]+X/8
AXY
aXY
AbcdeXyz
\x{1c5}AbXY
abcDEXypqreXlmn
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^\p{L&}+?X/8
AXY
aXY
AbcdeXyz
\x{1c5}AbXY
abcDEXypqreXlmn
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^[\p{L&}]+?X/8
AXY
aXY
AbcdeXyz
\x{1c5}AbXY
abcDEXypqreXlmn
** Failers
\x{1bb}XY
\x{2b0}XY
!XY
/^\P{L&}X/8
!XY
\x{1bb}XY
\x{2b0}XY
** Failers
\x{1c5}XY
AXY
/^[\P{L&}]X/8
!XY
\x{1bb}XY
\x{2b0}XY
** Failers
\x{1c5}XY
AXY
/^(\p{Z}[^\p{C}\p{Z}]+)*$/
\xa0!
/^[\pL](abc)(?1)/
AabcabcYZ
/([\pL]=(abc))*X/
L=abcX
/The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
will match it only with UCP support, because without that it has no notion
of case for anything other than the ASCII letters. /
/((?i)[\x{c0}])/8
\x{c0}
\x{e0}
/(?i:[\x{c0}])/8
\x{c0}
\x{e0}
/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
\x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
/The next two are special cases where the lengths of the different cases of the
same character differ. The first went wrong with heap frame storage; the 2nd
was broken in all cases./
/^\x{023a}+?(\x{0130}+)/8i
\x{023a}\x{2c65}\x{0130}
/^\x{023a}+([^X])/8i
\x{023a}\x{2c65}X
/Check property support in non-UTF-8 mode/
/\p{L}{4}/
123abcdefg
123abc\xc4\xc5zz
/\X{1,3}\d/
\x8aBCD
/\X?\d/
\x8aBCD
/\P{L}?\d/
\x8aBCD
/[\PPP\x8a]{1,}\x80/
A\x80
/(?:[\PPa*]*){8,}/
/[\P{Any}]/BZ
/[\P{Any}\E]/BZ
/(\P{Yi}+\277)/
/(\P{Yi}+\277)?/
/(?<=\P{Yi}{3}A)X/
/\p{Yi}+(\P{Yi}+)(?1)/
/(\P{Yi}{2}\277)?/
/[\P{Yi}A]/
/[\P{Yi}\P{Yi}\P{Yi}A]/
/[^\P{Yi}A]/
/[^\P{Yi}\P{Yi}\P{Yi}A]/
/(\P{Yi}*\277)*/
/(\P{Yi}*?\277)*/
/(\p{Yi}*+\277)*/
/(\P{Yi}?\277)*/
/(\P{Yi}??\277)*/
/(\p{Yi}?+\277)*/
/(\P{Yi}{0,3}\277)*/
/(\P{Yi}{0,3}?\277)*/
/(\p{Yi}{0,3}+\277)*/
/^[\p{Arabic}]/8
\x{60e}
\x{656}
\x{657}
\x{658}
\x{659}
\x{65a}
\x{65b}
\x{65c}
\x{65d}
\x{65e}
\x{66a}
\x{6e9}
\x{6ef}
\x{6fa}
** Failers
\x{600}
\x{650}
\x{651}
\x{652}
\x{653}
\x{654}
\x{655}
\x{65f}
/^\p{Cyrillic}/8
\x{1d2b}
/^\p{Common}/8
\x{589}
\x{60c}
\x{61f}
\x{964}
\x{965}
\x{970}
/^\p{Inherited}/8
\x{64b}
\x{654}
\x{655}
\x{200c}
** Failers
\x{64a}
\x{656}
/^\p{Shavian}/8
\x{10450}
\x{1047f}
/^\p{Deseret}/8
\x{10400}
\x{1044f}
/^\p{Osmanya}/8
\x{10480}
\x{1049d}
\x{104a0}
\x{104a9}
** Failers
\x{1049e}
\x{1049f}
\x{104aa}
/\p{Zl}{2,3}+/8BZ
\xe2\x80\xa8\xe2\x80\xa8
\x{2028}\x{2028}\x{2028}
/\p{Zl}/8BZ
/\p{Lu}{3}+/8BZ
/\pL{2}+/8BZ
/\p{Cc}{2}+/8BZ
/\x{c0}+\x{116}+/8i
\x{c0}\x{e0}\x{116}\x{117}
/[\x{c0}\x{116}]+/8i
\x{c0}\x{e0}\x{116}\x{117}
/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
\x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
/\x{a77d}\x{1d79}/8i
\x{a77d}\x{1d79}
\x{1d79}\x{a77d}
/\x{a77d}\x{1d79}/8
\x{a77d}\x{1d79}
** Failers
\x{1d79}\x{a77d}
/(A)\1/8i
AA
Aa
aa
aA
/(\x{de})\1/8i
\x{de}\x{de}
\x{de}\x{fe}
\x{fe}\x{fe}
\x{fe}\x{de}
/(\x{10a})\1/8i
\x{10a}\x{10a}
\x{10a}\x{10b}
\x{10b}\x{10b}
\x{10b}\x{10a}
/ End of testinput6 /