Show
Ignore:
Timestamp:
05/26/05 02:17:16 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5477
Message:

* Method invocation into Perl 5 now carries the current

context around.

Files:
1 modified

Legend:

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

    r3883 r3887  
    1616freePerl5 _ = return () 
    1717 
    18 evalPerl5 :: String -> IO PerlSV 
     18evalPerl5 :: String -> CInt -> IO PerlSV 
    1919evalPerl5 = constFail 
    2020 
     
    6565    perl5_newSViv :: CInt -> IO PerlSV 
    6666foreign import ccall "perl5.h perl5_call" 
    67     perl5_call :: CString -> CInt -> Ptr PerlSV -> IO PerlSV 
     67    perl5_call :: CString -> CInt -> Ptr PerlSV -> CInt -> IO PerlSV 
    6868foreign import ccall "perl5.h perl5_can" 
    6969    perl5_can :: PerlSV -> CString -> IO Bool 
    7070foreign import ccall "perl.h perl5_eval" 
    71     perl5_eval :: CString -> IO PerlSV 
     71    perl5_eval :: CString -> CInt -> IO PerlSV 
    7272foreign import ccall "perl5.h perl5_init" 
    7373    perl5_init :: CInt -> Ptr CString -> IO PerlInterpreter 
     
    8888vintToSV int = perl5_newSViv (fromIntegral int) 
    8989 
    90 callPerl5 :: String -> [PerlSV] -> IO PerlSV 
    91 callPerl5 str args = do 
     90callPerl5 :: String -> [PerlSV] -> CInt -> IO PerlSV 
     91callPerl5 str args cxt = do 
    9292    withCString str $ \cstr -> do 
    9393        withArray args $ \argv -> do 
    94             perl5_call cstr (toEnum $ length args) argv 
     94            perl5_call cstr (toEnum $ length args) argv cxt 
    9595 
    9696canPerl5 :: PerlSV -> String -> IO Bool 
    9797canPerl5 sv meth = withCString meth $ \cstr -> perl5_can sv cstr 
    9898 
    99 evalPerl5 :: String -> IO PerlSV 
    100 evalPerl5 str = withCString str perl5_eval 
     99evalPerl5 :: String -> CInt -> IO PerlSV 
     100evalPerl5 str cxt = withCString str $ \cstr -> perl5_eval cstr cxt 
    101101 
    102102freePerl5 :: PerlInterpreter -> IO ()