diff options
Diffstat (limited to 'src/GFI.hs')
| -rw-r--r-- | src/GFI.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/GFI.hs b/src/GFI.hs index 75ffa22d8..014fa327e 100644 --- a/src/GFI.hs +++ b/src/GFI.hs @@ -26,6 +26,8 @@ import System.Cmd import System.CPUTime import Control.Exception import Data.Version +import GF.System.Signal + import Paths_gf @@ -53,7 +55,7 @@ loop opts gfenv0 = do pwords = case words s of w:ws -> getCommandOp w :ws ws -> ws - case pwords of + r <- runInterruptibly $ case pwords of -- special commands, requiring source grammar in env "!":ws -> do system $ unwords ws @@ -106,6 +108,8 @@ loop opts gfenv0 = do _ -> do interpretCommandLine enc env s loopNewCPU gfenv + gfenv' <- return $ either (const gfenv) id r + loopNewCPU gfenv' importInEnv :: GFEnv -> Options -> [FilePath] -> IO GFEnv importInEnv gfenv opts files |
