Changeset 14574 for src/Pugs/Prim.hs

Show
Ignore:
Timestamp:
11/01/06 18:25:25 (2 years ago)
Author:
audreyt
Message:

* Mark Perl5 eval as safe under ops.pm

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim.hs

    r14572 r14574  
    288288    lex     <- asks envLexical 
    289289    let vars = [ v | v@MkVar{ v_sigil = SScalar, v_twigil = TNil } <- Set.toList (padKeys lex), v /= varTopic ] 
    290         code = "sub { my (" ++ (concat $ intersperse ", " (map (`showsVar` "") vars)) ++ ") = @_;\n" ++ str ++ "\n}" 
     290        code = "sub { use ops ($ENV{PUGS_SAFEMODE} ? (':default', 'binmode', 'entereval') : ()); my (" ++ (concat $ intersperse ", " (map (`showsVar` "") vars)) ++ ") = @_;\n" ++ str ++ "\n}" 
    291291    vals    <- mapM readVar vars 
    292292    rv  <- tryIO (Perl5ErrorString "") $ do 
     
    19321932\\n   Any       pre     evalfile     unsafe (Str)\ 
    19331933\\n   Any       pre     Pugs::Internals::eval_parrot  unsafe (Str)\ 
    1934 \\n   Any       pre     Pugs::Internals::eval_perl5   unsafe (Str)\ 
     1934\\n   Any       pre     Pugs::Internals::eval_perl5   safe (Str)\ 
    19351935\\n   Any       pre     Pugs::Internals::eval_haskell unsafe (Str)\ 
    19361936\\n   Any       pre     Pugs::Internals::eval_p6y unsafe (Str)\