]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Text.pm
* Add the ability to have module import options
[debbugs.git] / Debbugs / Text.pm
index 7913a0470546072059fe4294f1da087876bc084b..9a06510dc491843189575cfd032febfc76c048af 100644 (file)
@@ -155,11 +155,20 @@ sub _fill_in_template{
          $safe = Safe->new() or die "Unable to create safe compartment";
          $safe->deny_only();
          my @modules = ('Text::Template' => undef,
+                        # This doesn't work yet; have to figure it out
+                        #'Debbugs::Config' => [qw(:globals :config)],
                        );
          while (my ($module,$param) = splice (@modules,0,2)) {
               print STDERR "Eval $module\n" if $DEBUG;
-              $safe->reval("use $module;");
-              print STDERR "Error while attempting to 'use $module;' $@" if $@;
+              my $code = '';
+              if (not defined $param) {
+                   $code = "use $module;";
+              }
+              else {
+                   $code = "use $module ".(join(',',map {"q($_)"} @{$param})).';';
+              }
+              $safe->reval($code);
+              print STDERR "Error while attempting to eval '$code': $@" if $@;
          }
          $safe->permit_only(':base_core',':base_io',':base_mem',':base_loop',
                             qw(padsv padav padhv padany),