Changeset 3945
- Timestamp:
- 05/27/05 03:36:00 (4 years ago)
- svk:copy_cache_prev:
- 5515
- Location:
- src
- Files:
-
- 6 modified
-
Pugs/AST/Internals.hs (modified) (1 diff)
-
Pugs/Embed/Perl5.hs (modified) (1 diff)
-
Pugs/Eval.hs (modified) (1 diff)
-
Pugs/Prim.hs (modified) (1 diff)
-
Pugs/Run/Perl5.hs (modified) (1 diff)
-
perl5/perl5.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/AST/Internals.hs
r3938 r3945 315 315 env <- ask 316 316 rv <- liftIO $ do 317 envSV <- mkVal Ref(VControl $ ControlEnv env)317 envSV <- mkVal (VControl $ ControlEnv env) 318 318 callPerl5 sv nullSV svs envSV (enumCxt $ envContext env) 319 319 return $ PerlSV rv -
src/Pugs/Embed/Perl5.hs
r3943 r3945 125 125 interp <- perl5_init 3 argv 126 126 case env of 127 Just val -> do 128 ptr <- fmap castStablePtrToPtr $ newStablePtr val 129 pugs_setenv ptr 127 Just val -> pugs_setenv =<< mkVal val 130 128 Nothing -> return () 131 129 return interp 130 131 mkVal :: (Show a) => a -> IO PugsVal 132 mkVal val = fmap castStablePtrToPtr $ newStablePtr val 132 133 133 134 svToVStr :: PerlSV -> IO String -
src/Pugs/Eval.hs
r3938 r3945 867 867 env <- ask 868 868 rv <- liftIO $ do 869 envSV <- mkVal Ref(VControl $ ControlEnv env)869 envSV <- mkVal (VControl $ ControlEnv env) 870 870 subSV <- vstrToSV $ tail name 871 871 callPerl5 subSV sv svs envSV (enumCxt $ envContext env) -
src/Pugs/Prim.hs
r3924 r3945 245 245 env <- ask 246 246 tryIO undef $ do 247 envSV <- mkVal Ref(VControl $ ControlEnv env)247 envSV <- mkVal (VControl $ ControlEnv env) 248 248 sv <- evalPerl5 str envSV $ enumCxt (envContext env) 249 249 return $ PerlSV sv -
src/Pugs/Run/Perl5.hs
r3944 r3945 77 77 mkVal val 78 78 79 mkVal :: Val -> IO PugsVal80 mkVal val = fmap castStablePtrToPtr $ newStablePtr val81 82 79 deVal :: PugsVal -> IO Val 83 80 deVal ptr = do -
src/perl5/perl5.c
r3944 r3945 211 211 SAVETMPS; 212 212 213 /* pugs_setenv(env); XXX*/213 pugs_setenv(env); 214 214 215 215 PUSHMARK(SP); … … 269 269 SAVETMPS; 270 270 271 /* pugs_setenv(env); XXX */271 pugs_setenv(env); 272 272 273 273 sv = newSVpv(code, 0);
