
diff -r b734ff28e405 -r 59ada9f63cc5 src/Tools/Haskell/Haskell.thy
--- a/src/Tools/Haskell/Haskell.thy	Thu Dec 20 12:55:45 2018 +0000
+++ b/src/Tools/Haskell/Haskell.thy	Thu Dec 20 16:34:23 2018 +0100
@@ -116,10 +116,13 @@
 
 trim_line :: String -> String
 trim_line line =
-  case reverse line of
-    '\n' : '\r' : rest -> reverse rest
-    '\n' : rest -> reverse rest
-    _ -> line
+  if not (null line) && (last line == '\r' || last line == '\n') then
+    case reverse line of
+      '\n' : '\r' : rest -> reverse rest
+      '\r' : rest -> reverse rest
+      '\n' : rest -> reverse rest
+      _ -> line
+  else line
 
 clean_name :: String -> String
 clean_name = reverse #> dropWhile (== '_') #> reverse




