f6ea51
From abd17348111a99642da217c45d836f2df5713594 Mon Sep 17 00:00:00 2001
f6ea51
From: John Lightsey <lightsey@debian.org>
f6ea51
Date: Tue, 31 Oct 2017 18:12:26 -0500
f6ea51
Subject: [PATCH] Fix deparsing of transliterations with unprintable
f6ea51
 characters.
f6ea51
MIME-Version: 1.0
f6ea51
Content-Type: text/plain; charset=UTF-8
f6ea51
Content-Transfer-Encoding: 8bit
f6ea51
f6ea51
RT #132405
f6ea51
f6ea51
Signed-off-by: Nicolas R <atoomic@cpan.org>
f6ea51
Petr Písař: Port to 5.26.1.
f6ea51
Signed-off-by: Petr Písař <ppisar@redhat.com>
f6ea51
---
f6ea51
 lib/B/Deparse.pm | 2 +-
f6ea51
 lib/B/Deparse.t  | 5 +++++
f6ea51
 2 files changed, 6 insertions(+), 1 deletion(-)
f6ea51
f6ea51
diff --git a/lib/B/Deparse.pm b/lib/B/Deparse.pm
f6ea51
index 3166415..cc74552 100644
f6ea51
--- a/lib/B/Deparse.pm
f6ea51
+++ b/lib/B/Deparse.pm
f6ea51
@@ -5200,7 +5200,7 @@ sub pchr { # ASCII
f6ea51
     } elsif ($n == ord "\r") {
f6ea51
 	return '\\r';
f6ea51
     } elsif ($n >= ord("\cA") and $n <= ord("\cZ")) {
f6ea51
-	return '\\c' . unctrl{chr $n};
f6ea51
+	return '\\c' . $unctrl{chr $n};
f6ea51
     } else {
f6ea51
 #	return '\x' . sprintf("%02x", $n);
f6ea51
 	return '\\' . sprintf("%03o", $n);
f6ea51
diff --git a/lib/B/Deparse.t b/lib/B/Deparse.t
f6ea51
index 7eeb4f8..eae9c49 100644
f6ea51
--- a/lib/B/Deparse.t
f6ea51
+++ b/lib/B/Deparse.t
f6ea51
@@ -2610,3 +2610,8 @@ sub ($a, $=) {
f6ea51
     $a;
f6ea51
 }
f6ea51
 ;
f6ea51
+####
f6ea51
+# tr with unprintable characters
f6ea51
+my $str;
f6ea51
+$str = 'foo';
f6ea51
+$str =~ tr/\cA//;
f6ea51
-- 
f6ea51
2.13.6
f6ea51