diff --git a/HTF.cabal b/HTF.cabal
--- a/HTF.cabal
+++ b/HTF.cabal
@@ -1,10 +1,10 @@
 Name:             HTF
-Version:          0.10.0.2
+Version:          0.10.0.3
 License:          LGPL
 License-File:     LICENSE
 Copyright:        (c) 2005-2012 Stefan Wehr
-Author:           Stefan Wehr <mail@stefanwehr.de>
-Maintainer:       Stefan Wehr <mail@stefanwehr.de>
+Author:           Stefan Wehr <wehr@factisresearch.com>
+Maintainer:       Stefan Wehr <wehr@factisresearch.com>
 Stability:        Beta
 Category:         Testing
 Synopsis:         The Haskell Test Framework
diff --git a/TODO.org b/TODO.org
--- a/TODO.org
+++ b/TODO.org
@@ -1,5 +1,3 @@
-* Release 0.10
-** Write changelog
 * Relase 0.11
 ** Parallel test execution
 *** Options --threads=[N] or -j [N]
diff --git a/Test/Framework/Preprocessor.hs b/Test/Framework/Preprocessor.hs
--- a/Test/Framework/Preprocessor.hs
+++ b/Test/Framework/Preprocessor.hs
@@ -206,17 +206,20 @@
           thisModulesTestsFullName (mi_moduleName info) ++ " = " ++
             mi_htfPrefix info ++ "makeTestSuite" ++
           " " ++ show (mi_moduleName info) ++
-          " [\n    " ++ List.intercalate ",\n    "
+          " [\n" ++ List.intercalate ",\n"
                           (map (codeForDef (mi_htfPrefix info)) (mi_defs info))
           ++ "\n  ]\n" ++ importedTestListCode info
       codeForDef :: String -> Definition -> String
       codeForDef pref (TestDef s loc name) =
-          pref ++ "makeUnitTest " ++ (show s) ++ " " ++ codeForLoc pref loc ++
+          locPragma loc ++ pref ++ "makeUnitTest " ++ (show s) ++ " " ++ codeForLoc pref loc ++
           " " ++ name
       codeForDef pref (PropDef s loc name) =
-          pref ++ "makeQuickCheckTest " ++ (show s) ++ " " ++
+          locPragma loc ++ pref ++ "makeQuickCheckTest " ++ (show s) ++ " " ++
           codeForLoc pref loc ++ " (" ++ pref ++ "testableAsAssertion (" ++
           pref ++ "asTestableWithQCArgs " ++ name ++ "))"
+      locPragma :: Location -> String
+      locPragma loc =
+          "{-# LINE " ++ show (lineNumber loc) ++ " " ++ show (fileName loc) ++ " #-}\n    "
       codeForLoc :: String -> Location -> String
       codeForLoc pref loc = "(" ++ pref ++ "makeLoc " ++ show (fileName loc) ++
                             " " ++ show (lineNumber loc) ++ ")"
diff --git a/tests/compile-errors/run-tests.sh b/tests/compile-errors/run-tests.sh
--- a/tests/compile-errors/run-tests.sh
+++ b/tests/compile-errors/run-tests.sh
@@ -7,19 +7,18 @@
 
 function check()
 {
-    grep_ecode="$1"
-    test="$2"
+    test="$1"
+    ghc $FLAGS "$test" 2>&1 | grep "$test":$lineno
+    grep_ecode=${PIPESTATUS[1]}
     if [ "$grep_ecode" != "0" ]
     then
-        echo "Compile error for test $test did not occur in line $lineno, exit code of grep: ${grep_ecode}"
+        echo "Compile error for $test did not occur in line $lineno, exit code of grep: ${grep_ecode}"
+        ghc $FLAGS "$test"
         exit 1
     fi
 }
 
-ghc $FLAGS Test1.hs 2>&1 | grep Test1.hs:$lineno
-grep_ecode=${PIPESTATUS[1]}
-check $grep_ecode 1
-
-ghc $FLAGS Test2.hs 2>&1 | grep Test2.hs:$lineno
-grep_ecode=${PIPESTATUS[1]}
-check $grep_ecode 2
+check Test1.hs
+check Test2.hs
+check Test3.hs
+check Test4.hs
