on master help sign in
Fix %freeze when names are ambiguous
a2dc0f2Edwin Brady
src/Idris/Directives.hs+4−5
@@ -29,13 +29,12 @@ directiveAction (DFlag cgn flag) = do
29directiveAction (DInclude cgn hdr) = do addHdr cgn hdr
29directiveAction (DInclude cgn hdr) = do addHdr cgn hdr
30 addIBC (IBCHeader cgn hdr)
30 addIBC (IBCHeader cgn hdr)
31
31
32−directiveAction (DHide n') = do i <- getIState
32+directiveAction (DHide n') = do ns <- allNamespaces n'
33− ns <- allNamespaces n'
34 mapM_ (\n -> do setAccessibility n Hidden
33 mapM_ (\n -> do setAccessibility n Hidden
35 addIBC (IBCAccess n Hidden)) ns
34 addIBC (IBCAccess n Hidden)) ns
36−
35+directiveAction (DFreeze n') = do ns <- allNamespaces n'
37−directiveAction (DFreeze n) = do setAccessibility n Frozen
36+ mapM_ (\n -> do setAccessibility n Frozen
38− addIBC (IBCAccess n Frozen)
37+ addIBC (IBCAccess n Frozen)) ns
39
38
40directiveAction (DAccess acc) = do updateIState (\i -> i { default_access = acc })
39directiveAction (DAccess acc) = do updateIState (\i -> i { default_access = acc })
41
40