diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for HLint
 
+1.9.16
+    #108, make "hlint ." work again
 1.9.15
     #106, avoid warnings with GHC 7.10
     #105, build with GHC 7.10
diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.6
 build-type:         Simple
 name:               hlint
-version:            1.9.15
+version:            1.9.16
 license:            BSD3
 license-file:       LICENSE
 category:           Development
@@ -29,7 +29,7 @@
 extra-source-files:
     README.md
     CHANGES.txt
-tested-with:        GHC==7.8.3, GHC==7.6.3, GHC==7.4.2
+tested-with:        GHC==7.10.1, GHC==7.8.3, GHC==7.6.3, GHC==7.4.2
 
 source-repository head
     type:     git
diff --git a/src/CmdLine.hs b/src/CmdLine.hs
--- a/src/CmdLine.hs
+++ b/src/CmdLine.hs
@@ -210,7 +210,7 @@
 getFile (p:ath) exts file = do
     isDir <- doesDirectoryExist $ p <\> file
     if isDir then do
-        let avoid x = any (`isPrefixOf` takeFileName x) [".","_"]
+        let avoid x = let y = takeFileName x in "_" `isPrefixOf` y || ("." `isPrefixOf` y && not (all (== '.') y))
         xs <- listFilesInside (return . not . avoid) $ p <\> file
         return [x | x <- xs, drop 1 (takeExtension x) `elem` exts]
      else do
diff --git a/src/Grep.hs b/src/Grep.hs
--- a/src/Grep.hs
+++ b/src/Grep.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE RecordWildCards #-}
 
 module Grep(runGrep) where
 
diff --git a/src/HLint.hs b/src/HLint.hs
--- a/src/HLint.hs
+++ b/src/HLint.hs
@@ -70,7 +70,7 @@
             ParseOk m -> case v of
                 Loud -> print m
                 Quiet -> print $ prettyPrint m
-                _ -> print $ fmap (const ()) m
+                _ -> print $ void m
         putStrLn ""
 
 hlintTest :: Cmd -> IO ()
diff --git a/src/HSE/All.hs b/src/HSE/All.hs
--- a/src/HSE/All.hs
+++ b/src/HSE/All.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE RecordWildCards #-}
 
 module HSE.All(
     module X,
diff --git a/src/Hint/Unsafe.hs b/src/Hint/Unsafe.hs
--- a/src/Hint/Unsafe.hs
+++ b/src/Hint/Unsafe.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ViewPatterns #-}
 
 {-
     Find things that are unsafe
diff --git a/src/Test/All.hs b/src/Test/All.hs
--- a/src/Test/All.hs
+++ b/src/Test/All.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE PatternGuards, ScopedTypeVariables, RecordWildCards, ViewPatterns #-}
+{-# LANGUAGE RecordWildCards #-}
 {-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}
 
 module Test.All(test) where
diff --git a/src/Test/Annotations.hs b/src/Test/Annotations.hs
--- a/src/Test/Annotations.hs
+++ b/src/Test/Annotations.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE PatternGuards, ScopedTypeVariables, RecordWildCards, ViewPatterns #-}
+{-# LANGUAGE PatternGuards, RecordWildCards #-}
 
 -- | Check the <TEST> annotations within source and hint files.
 module Test.Annotations(testAnnotations) where
diff --git a/src/Test/Translate.hs b/src/Test/Translate.hs
--- a/src/Test/Translate.hs
+++ b/src/Test/Translate.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE PatternGuards, ScopedTypeVariables, RecordWildCards, ViewPatterns #-}
 
 -- | Translate the hints to Haskell and run with GHC.
 module Test.Translate(testTypeCheck, testQuickCheck) where
@@ -88,7 +87,7 @@
             [ Qualifier an $
                 Let an (BDecls an [PatBind an (toNamed "t") (UnGuardedRhs an bod) Nothing]) $
                 (toNamed "test" `app` str (fileName $ ann rhs) `app` int (startLine $ ann rhs) `app`
-                 str (prettyPrint lhs ++ " ==> " ++ prettyPrint rhs)) `app` (toNamed "t")
+                 str (prettyPrint lhs ++ " ==> " ++ prettyPrint rhs)) `app` toNamed "t"
             | (i, HintRule _ _ _ lhs rhs side note) <- zip [1..] hints, "noQuickCheck" `notElem` vars (maybeToList side)
             , let vs = map (restrict side) $ nub $ filter isUnifyVar $ vars lhs ++ vars rhs
             , let op = if any isRemovesError note then "?==>" else "==>"
diff --git a/src/Test/Util.hs b/src/Test/Util.hs
--- a/src/Test/Util.hs
+++ b/src/Test/Util.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE PatternGuards, ScopedTypeVariables, RecordWildCards, ViewPatterns #-}
+{-# LANGUAGE RecordWildCards #-}
 
 module Test.Util(
     withTests, tested, passed, failed, progress
