From: Jan "Yenya" Kasprzak Date: Sat, 7 Dec 2024 05:26:04 +0000 (+0100) Subject: Task.pm: ignore die() inside eval X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=77704cea1cd360bbc2085a398d246790b71b914a;p=aoc.git Task.pm: ignore die() inside eval --- diff --git a/lib/Y/AoC/Task.pm b/lib/Y/AoC/Task.pm index cc1cddd..0da7d29 100644 --- a/lib/Y/AoC/Task.pm +++ b/lib/Y/AoC/Task.pm @@ -10,6 +10,9 @@ use Y::AoC qw(red white grey yellow day year); our $printed_err; $SIG{__DIE__} = sub($msg) { + if ($^S) { + die $@; # just rethrow + } $msg =~ s/\A(.*?)( at \S+ )(line \d+)/red($1).$2.white($3)/e if -t STDERR && !$printed_err++; say STDERR $msg; @@ -29,6 +32,7 @@ our $in_test; sub t($subtest = ()) { $subtest //= ''; $ARGV[0] =~ s/in\.txt/test$subtest.txt/ if defined $ARGV[0]; + say STDERR grey("Test mode. Using "), white($ARGV[0]), grey(" instead."); $in_test = 1; }