@@ -1043,6 +1043,7 @@ expandParams dec ps ns infs tm = en tm
1043 en (PCase fc c os) = PCase fc (en c) (map (pmap en) os)
1043 en (PCase fc c os) = PCase fc (en c) (map (pmap en) os)
1044 en (PIfThenElse fc c t f) = PIfThenElse fc (en c) (en t) (en f)
1044 en (PIfThenElse fc c t f) = PIfThenElse fc (en c) (en t) (en f)
1045 en (PRunElab fc tm ns) = PRunElab fc (en tm) ns
1045 en (PRunElab fc tm ns) = PRunElab fc (en tm) ns
1046+ en (PConstSugar fc tm) = PConstSugar fc (en tm)
1046 en t = t
1047 en t = t
1048 nselem x [] = False
1049 nselem x [] = False
@@ -1510,6 +1511,7 @@ implicitise syn ignore ist tm = -- trace ("INCOMING " ++ showImp True tm) $
1510 imps top env (PUnifyLog tm) = imps False env tm
1511 imps top env (PUnifyLog tm) = imps False env tm
1511 imps top env (PNoImplicits tm) = imps False env tm
1512 imps top env (PNoImplicits tm) = imps False env tm
1512 imps top env (PRunElab fc tm ns) = imps False env tm
1513 imps top env (PRunElab fc tm ns) = imps False env tm
1514+ imps top env (PConstSugar fc tm) = imps top env tm -- ignore PConstSugar - it's for highlighting only!
1513 imps top env _ = return ()
1515 imps top env _ = return ()
1515 pibind using [] sc = sc
1517 pibind using [] sc = sc
@@ -1637,6 +1639,7 @@ addImpl' inpat env infns imp_meths ist ptm
1637 (fmap (ai True env ds) g)
1639 (fmap (ai True env ds) g)
1638 ai qq env ds (PUnquote tm) = PUnquote (ai False env ds tm)
1640 ai qq env ds (PUnquote tm) = PUnquote (ai False env ds tm)
1639 ai qq env ds (PRunElab fc tm ns) = PRunElab fc (ai False env ds tm) ns
1641 ai qq env ds (PRunElab fc tm ns) = PRunElab fc (ai False env ds tm) ns
1642+ ai qq env ds (PConstSugar fc tm) = PConstSugar fc (ai qq env ds tm)
1640 ai qq env ds tm = tm
1643 ai qq env ds tm = tm
1642 handleErr (Left err) = PElabError err
1645 handleErr (Left err) = PElabError err
@@ -2065,6 +2068,7 @@ substMatchShadow n shs tm t = sm shs t where
2065 sm xs (PUnifyLog x) = PUnifyLog (sm xs x)
2068 sm xs (PUnifyLog x) = PUnifyLog (sm xs x)
2066 sm xs (PNoImplicits x) = PNoImplicits (sm xs x)
2069 sm xs (PNoImplicits x) = PNoImplicits (sm xs x)
2067 sm xs (PRunElab fc script ns) = PRunElab fc (sm xs script) ns
2070 sm xs (PRunElab fc script ns) = PRunElab fc (sm xs script) ns
2071+ sm xs (PConstSugar fc tm) = PConstSugar fc (sm xs tm)
2068 sm xs x = x
2072 sm xs x = x
2070 fullApp (PApp _ (PApp fc f args) xs) = fullApp (PApp fc f (args ++ xs))
2074 fullApp (PApp _ (PApp fc f args) xs) = fullApp (PApp fc f (args ++ xs))
@@ -2203,6 +2207,7 @@ mkUniqueNames env shadows tm
2203 mkUniq nmap (PProof ts) = liftM PProof (mapM (mkUniqT nmap) ts)
2207 mkUniq nmap (PProof ts) = liftM PProof (mapM (mkUniqT nmap) ts)
2204 mkUniq nmap (PTactics ts) = liftM PTactics (mapM (mkUniqT nmap) ts)
2208 mkUniq nmap (PTactics ts) = liftM PTactics (mapM (mkUniqT nmap) ts)
2205 mkUniq nmap (PRunElab fc ts ns) = liftM (\tm -> PRunElab fc tm ns) (mkUniq nmap ts)
2209 mkUniq nmap (PRunElab fc ts ns) = liftM (\tm -> PRunElab fc tm ns) (mkUniq nmap ts)
2210+ mkUniq nmap (PConstSugar fc tm) = liftM (PConstSugar fc) (mkUniq nmap tm)
2206 mkUniq nmap t = return (shadowAll (M.toList nmap) t)
2211 mkUniq nmap t = return (shadowAll (M.toList nmap) t)
2208 shadowAll [] t = t
2213 shadowAll [] t = t