summaryrefslogtreecommitdiff
path: root/src/GF/Shell.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Shell.hs')
-rw-r--r--src/GF/Shell.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/GF/Shell.hs b/src/GF/Shell.hs
index 1077616f5..3af343bb2 100644
--- a/src/GF/Shell.hs
+++ b/src/GF/Shell.hs
@@ -24,6 +24,7 @@ import qualified GF.Grammar.Lookup as L
import qualified GF.Canon.GFC as GFC
import qualified GF.Canon.Look as Look
import qualified GF.Canon.CMacros as CMacros
+import qualified GF.Grammar.MMacros as MMacros
import qualified GF.Compile.GrammarToCanon as GrammarToCanon
import GF.Grammar.Values
import GF.UseGrammar.GetTree
@@ -236,7 +237,10 @@ execC co@(comm, opts0) sa@(sh@(st,(h,_,_,_)),a) = checkOptions st co >> case com
let ss = (if oElem showAll opts then id else filter (not . null)) $
lines $ prCommandArg a
mts <- mapM parse ss
- let a' = ATrms [t | (_,ATrms ts) <- mts, t <- ts]
+ let mark s ts = case ts of
+ [] -> [MMacros.uTree] -- to leave a trace of unparsed line
+ _ -> ts
+ let a' = ATrms [t | (s,(_,ATrms ts)) <- zip ss mts, t <- mark s ts]
changeArg (const a') sa
| otherwise -> parse $ prCommandArg a
where