@@ -61,7 +61,7 @@ use Env qw(PG_ROOT);
61
61
62
62
use lib curfile-> dirname-> dirname-> dirname-> dirname-> dirname-> child(' lib' );
63
63
64
- require WeBWorK::PG::Translator ;
64
+ require Value ;
65
65
66
66
our @EXPORT_OK = qw( getDeprecatedMacros parsePGMLBlock parseTextBlock) ;
67
67
@@ -74,7 +74,12 @@ sub getDeprecatedMacros () {
74
74
{ map { $_ -> basename => 1 } @{ path($PG_ROOT )-> child(' macros' , ' deprecated' )-> list } };
75
75
}
76
76
77
+ # Mock methods used by PGML.
77
78
sub main ::PG_restricted_eval ($code ) { return $code ; }
79
+ sub main ::loadMacros(@macros ) { return ; }
80
+ sub main ::Context() { return ; }
81
+
82
+ do " $PG_ROOT /macros/core/PGML.pl" ;
78
83
79
84
sub walkPGMLTree ($block , $results //= {}) {
80
85
for my $item (@{ $block -> {stack } }) {
@@ -103,22 +108,7 @@ sub parsePGMLBlock (@lines) {
103
108
my $sourceHash = md5_sum(encode(' UTF-8' , $source ));
104
109
return $processedBlocks {$sourceHash } if defined $processedBlocks {$sourceHash };
105
110
106
- package main ; # # no critic (Modules::ProhibitMultiplePackages)
107
-
108
- require WeBWorK::PG::Environment;
109
- require WeBWorK::PG;
110
- require PGcore;
111
- require Parser;
112
-
113
- $WeBWorK::PG::IO::pg_envir = WeBWorK::PG::Environment-> new;
114
- %main::envir = %{ WeBWorK::PG::defineProblemEnvironment($WeBWorK::PG::IO::pg_envir ) };
115
-
116
- do " $ENV {PG_ROOT}/macros/PG.pl" ;
117
-
118
- $main::PG = $main::PG = PGcore-> new(\%main::envir );
119
- loadMacros(' PGML.pl' );
120
-
121
- $PGML::warningsFatal = $PGML::warningsFatal = 1;
111
+ PGML::ClearWarnings();
122
112
my $parser = eval { PGML::Parse-> new($source =~ s /\\\\ / \\ / gr ) };
123
113
return { errors => [$@ ] } if $@ ;
124
114
0 commit comments