From 3b39607bbac8e6ab99198ab608f14e1f84c2f60e Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 24 Jun 2004 14:06:09 +0000 Subject: last-minute bug fixes --- src/GF/Canon/CMacros.hs | 10 ++++++++++ src/GF/Canon/Look.hs | 1 + 2 files changed, 11 insertions(+) (limited to 'src/GF/Canon') diff --git a/src/GF/Canon/CMacros.hs b/src/GF/Canon/CMacros.hs index da936e735..37693efa5 100644 --- a/src/GF/Canon/CMacros.hs +++ b/src/GF/Canon/CMacros.hs @@ -104,6 +104,16 @@ defLinType = RecType [Lbg (L (A.identC "s")) TStr] defLindef :: Term defLindef = R [Ass (L (A.identC "s")) (Arg (A (A.identC "str") 0))] +isDiscontinuousCType :: CType -> Bool +isDiscontinuousCType t = case t of + RecType rs -> length [t | Lbg _ t <- rs, valTableType t == TStr] > 1 + _ -> True --- does not occur; would not behave well in lin commands + +valTableType :: CType -> CType +valTableType t = case t of + Table _ v -> valTableType v + _ -> t + strsFromTerm :: Term -> Err [Str] strsFromTerm t = case t of K (KS s) -> return [str s] diff --git a/src/GF/Canon/Look.hs b/src/GF/Canon/Look.hs index 228a43f3c..8dfd4b3fb 100644 --- a/src/GF/Canon/Look.hs +++ b/src/GF/Canon/Look.hs @@ -41,6 +41,7 @@ lookupLincat gr f = do case info of CncCat t _ _ -> return t AnyInd _ n -> lookupLincat gr $ redirectIdent n f + _ -> prtBad "no lincat found for" f lookupPrintname :: CanonGrammar -> CIdent -> Err Term lookupPrintname gr f = do -- cgit v1.2.3