summaryrefslogtreecommitdiff
path: root/src/GF
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF')
-rw-r--r--src/GF/Compile/ShellState.hs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs
index abda01100..8db6aa789 100644
--- a/src/GF/Compile/ShellState.hs
+++ b/src/GF/Compile/ShellState.hs
@@ -139,7 +139,9 @@ updateShellState opts mcnc sh ((_,sgr,gr),rts) = do
Just a -> do
-- test that abstract is compatible --- unsafe exception for old?
--- if True oElem showOld opts then return () else
- testErr (maybe True (a==) a') ("expected abstract" +++ P.prt a)
+ case a' of
+ Nothing -> return ()
+ Just b -> testErr (a==b) ("expected abstract" +++ P.prt a +++ "but found " +++ P.prt b)
return $ Just a
_ -> return a'
let cgr = filterAbstracts abstr0 cgr0
@@ -185,6 +187,20 @@ prShellStateInfo sh = unlines [
"global options : " +++ prOpts (gloptions sh)
]
+{- ---- should be called from IOGrammar *before* compiling
+testSameAbstract :: ShellState -> Maybe Ident -> Err (Maybe Ident)
+testSameAbstract sh mcnc = do
+ abstr0 <- case abstract sh of
+ Just a -> do
+ -- test that abstract is compatible --- unsafe exception for old?
+ --- if True oElem showOld opts then return () else
+ case a' of
+ Nothing -> return ()
+ Just b -> testErr (a==b) ("expected abstract" +++ P.prt a +++ "but found " +++ P.prt b)
+ return $ Just a
+ _ -> return a'
+-}
+
abstractName sh = maybe "(none)" P.prt (abstract sh)
-- | throw away those abstracts that are not needed --- could be more aggressive