@@ -44,15 +44,15 @@ put_attr_change t c = do
44 mfattr <- liftIO $ known_fattr <$> readIORef ( state_ref t )
44 mfattr <- liftIO $ known_fattr <$> readIORef ( state_ref t )
45 fattr <- case mfattr of
45 fattr <- case mfattr of
46 Nothing -> do
46 Nothing -> do
47− marshall_to_terminal t (default_attr_required_bytes d) (serialize_default_attr d)
47+ liftIO $ marshall_to_terminal t (default_attr_required_bytes d) (serialize_default_attr d)
48 return $ FixedAttr default_style_mask Nothing Nothing
48 return $ FixedAttr default_style_mask Nothing Nothing
49 Just v -> return v
49 Just v -> return v
50 let attr = execState c current_attr
50 let attr = execState c current_attr
51 attr' = limit_attr_for_display d attr
51 attr' = limit_attr_for_display d attr
52 fattr' = fix_display_attr fattr attr'
52 fattr' = fix_display_attr fattr attr'
53 diffs = display_attr_diffs fattr fattr'
53 diffs = display_attr_diffs fattr fattr'
54− marshall_to_terminal t ( attr_required_bytes d fattr attr' diffs )
54+ liftIO $ marshall_to_terminal t ( attr_required_bytes d fattr attr' diffs )
55− ( serialize_set_attr d fattr attr' diffs )
55+ ( serialize_set_attr d fattr attr' diffs )
56 liftIO $ modifyIORef ( state_ref t ) $ \s -> s { known_fattr = Just fattr' }
56 liftIO $ modifyIORef ( state_ref t ) $ \s -> s { known_fattr = Just fattr' }
57 inline_hack d
57 inline_hack d