@@ -776,9 +776,13 @@ failIfInQuoteContext context = do
776776
777777singleQuoteStart = try $ do
778778 failIfInQuoteContext InSingleQuote
779− char '\'' <|> char '\8216'
780− notFollowedBy (oneOf ")!],.;:-? \t\n")
781− notFollowedBy (try (do{oneOf "sS"; satisfy (not . isAlphaNum)}))
779+ char '\8216' <|> do
780+ char '\''
781+ notFollowedBy (oneOf ")!],.;:-? \t\n")
782+ notFollowedBy (try (do -- possessive or contraction
783+ oneOf "sStT"
784+ satisfy (not . isAlphaNum)))
785+ return '\''
782786
783787singleQuoteEnd = try $ do
784788 char '\'' <|> char '\8217'