common: treat exception references as alert parameters
[sheet.git] / common.inc.plp
index 24835047706dcb6dace22f0464f9620f4eca1a69..71c5c1379f29aeb82d6d1211ec53dff69740d2cf 100644 (file)
@@ -196,13 +196,20 @@ EOT
 
 BEGIN {
        $PLP::ERROR = sub {
-               my ($text, $html) = @_;
-               warn $text;
+               my ($message, $html) = @_;
+               if (ref $message) {
+                       warn join ': ', @{$message};
+                       $html = shift @{$message};
+               }
+               else {
+                       warn $message;
+                       $message = [];
+               }
                unless ($PLP::sentheaders) {
                        Html({nocache => 1});
                        say '<h1>Page unavailable</h1>';
                }
-               Alert("<strong>Fatal error</strong>: $html.");
+               Alert("Fatal error: $html.", @{$message});
        };
 }