diff --git a/src/Parse.hs b/src/Parse.hs index af8ba49..ae92a52 100644 --- a/src/Parse.hs +++ b/src/Parse.hs @@ -72,7 +72,7 @@ shelltestfile = do trailingComments <- many whitespaceorcommentline ptrace_ "shelltestfile 2" eof - let ts' = init ts ++ [(last ts) { trailingComments = trailingComments }] + let ts' = appendTrailingComments trailingComments ts ptrace "shelltestfile ." ts' return ts' @@ -328,6 +328,11 @@ delimiterNotNewTest3 = do ---------------------------------------------------------------------- -- common +appendTrailingComments :: [String] -> [ShellTest] -> [ShellTest] +appendTrailingComments _ [] = [] -- in this case, trailing comment are discarded +appendTrailingComments cs ts = + init ts ++ [(last ts) { trailingComments = cs }] + linesBetween :: [String] -> [String] -> Parser String linesBetween startdelims enddelims = do let delimp "" = string ""