Show
Ignore:
Timestamp:
05/27/05 03:15:20 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5515
Message:

* switch to use PL_modglobal.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Embed/Perl5.hs

    r3942 r3943  
    101101    perl5_set_svref :: CString -> PugsVal -> IO () 
    102102foreign import ccall "perl5.h perl5_apply" 
    103     perl5_apply :: PerlSV -> PerlSV -> Ptr PerlSV -> PerlSV -> CInt -> IO PerlSV 
     103    perl5_apply :: PerlSV -> PerlSV -> Ptr PerlSV -> PugsVal -> CInt -> IO PerlSV 
    104104foreign import ccall "perl5.h perl5_can" 
    105105    perl5_can :: PerlSV -> CString -> IO Bool 
    106106foreign import ccall "perl.h perl5_eval" 
    107     perl5_eval :: CString -> PerlSV -> CInt -> IO PerlSV 
     107    perl5_eval :: CString -> PugsVal -> CInt -> IO PerlSV 
    108108foreign import ccall "perl5.h perl5_init" 
    109109    perl5_init :: CInt -> Ptr CString -> IO PerlInterpreter 
     110 
     111foreign import ccall "pugsembed.h pugs_getenv" 
     112    pugs_getenv :: IO PugsVal 
     113foreign import ccall "pugsembed.h pugs_setenv" 
     114    pugs_setenv :: PugsVal -> IO () 
    110115 
    111116foreign import ccall "pugsembed.h pugs_SvToVal" 
     
    120125            interp <- perl5_init 3 argv 
    121126            case env of 
    122                 Just val -> withCString "pugs::env" $ \name -> do 
     127                Just val -> do 
    123128                    ptr <- fmap castStablePtrToPtr $ newStablePtr val 
    124                     perl5_set_svref name ptr 
     129                    pugs_setenv ptr 
    125130                Nothing -> return () 
    126131            return interp 
     
    157162vnumToSV int = perl5_newSVnv (realToFrac int) 
    158163 
    159 callPerl5 :: PerlSV -> PerlSV -> [PerlSV] -> PerlSV -> CInt -> IO PerlSV 
     164callPerl5 :: PerlSV -> PerlSV -> [PerlSV] -> PugsVal -> CInt -> IO PerlSV 
    160165callPerl5 sub inv args env cxt = do 
    161166    withArray0 nullPtr args $ \argv -> do 
     
    165170canPerl5 sv meth = withCString meth $ \cstr -> perl5_can sv cstr 
    166171 
    167 evalPerl5 :: String -> PerlSV -> CInt -> IO PerlSV 
     172evalPerl5 :: String -> PugsVal -> CInt -> IO PerlSV 
    168173evalPerl5 str env cxt = withCString str $ \cstr -> perl5_eval cstr env cxt 
    169174