From 5d3730ffed884faf7a9cebdaa4fffa6b9c2a4820 Mon Sep 17 00:00:00 2001
From: Steve Hancock <perltidy@users.sourceforge.net>
Date: Tue, 8 Sep 2020 10:40:11 -0700
Subject: [PATCH] simplify AUTOLOAD as much as possible

---
 lib/Perl/Tidy.pm                         | 4 ++--
 lib/Perl/Tidy/Formatter.pm               | 3 ++-
 lib/Perl/Tidy/HtmlWriter.pm              | 4 ++--
 lib/Perl/Tidy/Tokenizer.pm               | 1 +
 lib/Perl/Tidy/VerticalAligner.pm         | 4 ++--
 t/snippets/perltidy_random_parameters.pl | 2 +-
 6 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/lib/Perl/Tidy.pm b/lib/Perl/Tidy.pm
index 90d13ae3..36dbcfd2 100644
--- a/lib/Perl/Tidy.pm
+++ b/lib/Perl/Tidy.pm
@@ -123,6 +123,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
+    return if ($AUTOLOAD eq 'DESTROY');
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
 ======================================================================
@@ -132,8 +133,7 @@ Called from File '$fname'  at line '$lno'
 This error is probably due to a recent programming change
 ======================================================================
 EOM
-    Die(
-        "Error exit due to unexpected Autoload call to '$AUTOLOAD'\n");
+    exit 1;
 }
 
 sub streamhandle {
diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm
index f5533640..512a7425 100644
--- a/lib/Perl/Tidy/Formatter.pm
+++ b/lib/Perl/Tidy/Formatter.pm
@@ -626,6 +626,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
+    return if ($AUTOLOAD eq 'DESTROY');
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
 ======================================================================
@@ -635,7 +636,7 @@ Called from File '$fname'  at line '$lno'
 This error is probably due to a recent programming change
 ======================================================================
 EOM
-    Die("Error exit due to unexpected Autoload call to '$AUTOLOAD'\n");
+    exit 1;
 }
 
 sub DESTROY {
diff --git a/lib/Perl/Tidy/HtmlWriter.pm b/lib/Perl/Tidy/HtmlWriter.pm
index cd682930..4257f211 100644
--- a/lib/Perl/Tidy/HtmlWriter.pm
+++ b/lib/Perl/Tidy/HtmlWriter.pm
@@ -44,6 +44,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
+    return if ($AUTOLOAD eq 'DESTROY');
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
 ======================================================================
@@ -53,8 +54,7 @@ Called from File '$fname'  at line '$lno'
 This error is probably due to a recent programming change
 ======================================================================
 EOM
-    Perl::Tidy::Die(
-        "Error exit due to unexpected Autoload call to '$AUTOLOAD'\n");
+    exit 1;
 }
 
 sub DESTROY {
diff --git a/lib/Perl/Tidy/Tokenizer.pm b/lib/Perl/Tidy/Tokenizer.pm
index 7685f8ff..f333caef 100644
--- a/lib/Perl/Tidy/Tokenizer.pm
+++ b/lib/Perl/Tidy/Tokenizer.pm
@@ -209,6 +209,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
+    return if ($AUTOLOAD eq 'DESTROY');
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
 ======================================================================
diff --git a/lib/Perl/Tidy/VerticalAligner.pm b/lib/Perl/Tidy/VerticalAligner.pm
index 5ed4291c..5160ac37 100644
--- a/lib/Perl/Tidy/VerticalAligner.pm
+++ b/lib/Perl/Tidy/VerticalAligner.pm
@@ -35,6 +35,7 @@ sub AUTOLOAD {
     # some diagnostic information.  This sub should never be called
     # except for a programming error.
     our $AUTOLOAD;
+    return if ($AUTOLOAD eq 'DESTROY');
     my ( $pkg, $fname, $lno ) = caller();
     print STDERR <<EOM;
 ======================================================================
@@ -44,8 +45,7 @@ Called from File '$fname'  at line '$lno'
 This error is probably due to a recent programming change
 ======================================================================
 EOM
-    Perl::Tidy::Die(
-        "Error exit due to unexpected Autoload call to '$AUTOLOAD'\n");
+    exit 1;
 }
 
 sub DESTROY {
diff --git a/t/snippets/perltidy_random_parameters.pl b/t/snippets/perltidy_random_parameters.pl
index 7a2aefdb..e64cb05b 100755
--- a/t/snippets/perltidy_random_parameters.pl
+++ b/t/snippets/perltidy_random_parameters.pl
@@ -292,7 +292,7 @@ EOM
        $num=10 if ($num>10);
        print STDERR <<EOM;
 Some check files with errors (search above for '**ERROR'):
-(@chkfile_errors[1..$num])
+(@chkfile_errors[1..$num-1])
 EOM
     }
 
-- 
2.39.5