diff --git a/Ledger/Parse.hs b/Ledger/Parse.hs index ec54f64a9..4243f0319 100644 --- a/Ledger/Parse.hs +++ b/Ledger/Parse.hs @@ -171,14 +171,14 @@ ledger = do modifier_entries <- many ledgermodifierentry periodic_entries <- many ledgerperiodicentry - entries <- (many ledgerentry) "entry" + entries <- (many $ try ledgerentry) "entry" final_comment_lines <- ledgernondatalines eof return $ RawLedger modifier_entries periodic_entries entries (unlines final_comment_lines) ledgernondatalines :: Parser [String] -ledgernondatalines = many (ledgerdirective <|> -- treat as comments - commentline <|> +ledgernondatalines = many (try ledgerdirective <|> -- treat as comments + try commentline <|> blankline) ledgerdirective :: Parser String diff --git a/NOTES b/NOTES index 333d55fea..358115af2 100644 --- a/NOTES +++ b/NOTES @@ -6,8 +6,6 @@ implementations were its consequences." --Niklaus Wirth * to do ** errors -*** ? in description or amount gives "too many blank transactions" -*** parse commented lines at end of file *** display mixed amounts vertically, not horizontally ** features *** flexible date expressions, for easier time reports diff --git a/sample.ledger b/sample.ledger index 97af7fb5c..cb386e4d0 100644 --- a/sample.ledger +++ b/sample.ledger @@ -34,3 +34,6 @@ 2008/1/1 * pay off liabilities:debts $1 assets:checking + + + ;final comment