This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
handy.h Special case toCTRL('?') for EBCDIC
authorKarl Williamson <public@khwilliamson.com>
Sat, 13 Apr 2013 17:41:04 +0000 (11:41 -0600)
committerKarl Williamson <public@khwilliamson.com>
Wed, 5 Feb 2014 22:47:04 +0000 (15:47 -0700)
commit2bd1cbf6ef490552a1de7d86d43c05162e3e5e91
tree900d97fa1a7662c381d473bdcdf3493a363a7d4c
parent1a5eefe0dbec84fef092f54a1da3f267f6ac039d
handy.h Special case toCTRL('?') for EBCDIC

There is no change for ASCII platforms.  For EBCDIC ones, toCTRL('?")
and its inverse are special cased to map to/from the APC control
character, which is the outlier control on these platforms.  The reason
to special case this is that otherwise toCTRL('?') would map to a
graphic character, not a control.  By outlier, I mean it is the one
control not in the single block where all the other controls are placed.
Further, it corresponds on two of the platforms with 0xFF, which is
would be an EBCDIC rub-out character corresponding to an ASCII rub-out
(or DEL) 0x7F, which is what toCTRL('?') maps to on ASCII.  This is an
outlier control on ASCII not being a member of the C0 nor C1 controls.
Hence this make '?' mean the outlier control on both platforms.
ext/B/B.pm
handy.h
pod/perlebcdic.pod
t/op/chars.t