diff --git a/hledger-lib/Hledger/Read/RulesReader.hs b/hledger-lib/Hledger/Read/RulesReader.hs index 319dc8718..b04c0dd31 100644 --- a/hledger-lib/Hledger/Read/RulesReader.hs +++ b/hledger-lib/Hledger/Read/RulesReader.hs @@ -1602,8 +1602,6 @@ tests_RulesReader = testGroup "RulesReader" [ parseWithState' defrules (regexp eof) "A A && xxx" @?= (Right $ toRegexCI' "A A") ,testCase "regexp contains &" $ parseWithState' defrules (regexp eof) "A & B" @?= (Right $ toRegexCI' "A & B") - ,testCase "regexp contains escaped &" $ - parseWithState' defrules (regexp eof) "A \\& B" @?= (Right $ toRegexCI' "A \\& B") ] , let matchers = [RecordMatcher Or (toRegexCI' "A"), RecordMatcher And (toRegexCI' "B")] diff --git a/hledger/test/csv.test b/hledger/test/csv.test index 831a699fc..6b0780854 100644 --- a/hledger/test/csv.test +++ b/hledger/test/csv.test @@ -1203,10 +1203,9 @@ $ ./csvtest.sh >=0 -# ** 62. Matchers can contain '&', either escaped or unescaped (#2352) +# ** 62. Single ampersands within a matcher are part of the regexp, not an AND operator. (#2352) < 2025-01-01,STOP & SHOP,100 -2025-01-01,H & M,100 RULES fields date,description,amount @@ -1215,19 +1214,11 @@ if %description STOP & SHOP account1 expenses:food -if -%description H \& M - account1 expenses:clothing - $ ./csvtest.sh 2025-01-01 STOP & SHOP expenses:food 100 income:unknown -100 -2025-01-01 H & M - expenses:clothing 100 - income:unknown -100 - >= # ** .