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.
/\pL\P{Nd}/8
AB
*** Failers
A0
00
/\X./8
AB
A\x{300}BC
A\x{300}\x{301}\x{302}BC
*** Failers
\x{300}
/\X\X/8
ABC
A\x{300}B\x{300}\x{301}C
A\x{300}\x{301}\x{302}BC
*** Failers
\x{300}
/^\pL+/8
abcd
a
*** Failers
/^\PL+/8
1234
=
*** Failers
abcd
/^\X+/8
abcdA\x{300}\x{301}\x{302}
A\x{300}\x{301}\x{302}
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
a
*** Failers
\x{300}\x{301}\x{302}
/\X?abc/8
abc
A\x{300}abc
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
\x{300}abc
*** Failers
/^\X?abc/8
abc
A\x{300}abc
*** Failers
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
\x{300}abc
/\X*abc/8
abc
A\x{300}abc
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
\x{300}abc
*** Failers
/^\X*abc/8
abc
A\x{300}abc
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
*** Failers
\x{300}abc
/^\pL?=./8
A=b
=c
*** Failers
1=2
AAAA=b
/^\pL*=./8
AAAA=b
=c
*** Failers
1=2
/^\X{2,3}X/8
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
*** Failers
X
A\x{300}\x{301}\x{302}X
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
/^\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
** 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}
** Failers
a
\x{2b0}
/^\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{Nd}]/8
1234
/[\p{Nd}+-]+/8
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}
/\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}]/8i
\x{104}
\x{105}
\x{109}
** Failers
\x{100}
\x{10a}
/[z-\x{100}]/8i
Z
z
\x{39c}
\x{178}
|
\x{80}
\x{ff}
\x{100}
\x{101}
** Failers
\x{102}
Y
y
/[z-\x{100}]/8i
/^\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
/^\pN{2,3}X/
12X
123X
*** Failers
X
1X
1234X
/\x{100}/i8
\x{100}
\x{101}
/^\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
/^\x{023a}+?(\x{0130}+)/8i
\x{023a}\x{2c65}\x{0130}
/^\x{023a}+([^X])/8i
\x{023a}\x{2c65}X
/\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}
/Check property support in non-UTF-8 mode/
/\p{L}{4}/
123abcdefg
123abc\xc4\xc5zz
/\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}
/ End /