From 6b62b5bf7ecf22529714fed1b08ce603b946f997 Mon Sep 17 00:00:00 2001
From: Vidar Holen <spam@vidarholen.net>
Date: Sat, 1 Oct 2016 14:54:28 -0700
Subject: [PATCH] Don't warn about [ a '>' b ] needing escapes.

---
 ShellCheck/Analytics.hs | 1 +
 ShellCheck/Parser.hs    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/ShellCheck/Analytics.hs b/ShellCheck/Analytics.hs
index c1d23e8..19fe382 100644
--- a/ShellCheck/Analytics.hs
+++ b/ShellCheck/Analytics.hs
@@ -1177,6 +1177,7 @@ prop_checkSingleBracketOperators1 = verify checkSingleBracketOperators "[ test =
 prop_checkSingleBracketOperators2 = verify checkSingleBracketOperators "[ $foo > $bar ]"
 prop_checkSingleBracketOperators3 = verifyNot checkSingleBracketOperators "[[ foo < bar ]]"
 prop_checkSingleBracketOperators5 = verify checkSingleBracketOperators "until [ $n <= $z ]; do echo foo; done"
+prop_checkSingleBracketOperators6 = verifyNot checkSingleBracketOperators "[ $foo '>' $bar ]"
 checkSingleBracketOperators _ (TC_Binary id typ op lhs rhs)
     | typ == SingleBracket && op `elem` ["<", ">", "<=", ">="] =
         err id 2073 $ "Can't use " ++ op ++" in [ ]. Escape it or use [[..]]."
diff --git a/ShellCheck/Parser.hs b/ShellCheck/Parser.hs
index 1481d1f..889ab50 100644
--- a/ShellCheck/Parser.hs
+++ b/ShellCheck/Parser.hs
@@ -447,7 +447,7 @@ readConditionContents single =
             c <- oneOf "'\""
             s <- anyOp
             char c
-            return s
+            return $ escaped s
 
         anyOp = flagOp <|> flaglessOp <|> fail
                     "Expected comparison operator (don't wrap commands in []/[[]])"