diff --git a/gap/semigroups/semifp.gi b/gap/semigroups/semifp.gi index 1ba68c867..7ca6136d3 100644 --- a/gap/semigroups/semifp.gi +++ b/gap/semigroups/semifp.gi @@ -1102,7 +1102,7 @@ function(gens, inputstring) fi; od; - newinputstring := Filtered(inputstring, x -> x <> ' '); + newinputstring := Filtered(inputstring, x -> not x in " \r\t\n"); chars := List(gens, x -> String(x)[1]); if PositionSublist(newinputstring, "=1") <> fail then Add(chars, '1'); diff --git a/tst/standard/semigroups/semifp.tst b/tst/standard/semigroups/semifp.tst index 665af9739..8e20df895 100644 --- a/tst/standard/semigroups/semifp.tst +++ b/tst/standard/semigroups/semifp.tst @@ -2670,6 +2670,20 @@ true gap> IsSubsemigroupOfFpMonoid(Range(map)); true +# ParseRelations really ignore all whitespace +gap> F := FreeMonoid("a", "b", "c", "e");; +gap> R := ParseRelations(GeneratorsOfMonoid(F), +> """aa=1, bb=1, cc=1, (ab)^3=1, (bc)^3=1, (ca)^3=1, (abac)^2=1, +> (bcba)^2=1, (cacb)^2=1, ee=e, eaea=aeae, aeab=baea, beba=abeb, +> aeac=caea, ceca=acec, aeaea=aeae"""); +[ [ a^2, ], [ b^2, ], [ c^2, ], + [ (a*b)^3, ], [ (b*c)^3, ], + [ (c*a)^3, ], [ (a*b*a*c)^2, ], + [ (b*c*b*a)^2, ], [ (c*a*c*b)^2, ], + [ e^2, e ], [ (e*a)^2, (a*e)^2 ], [ a*e*a*b, b*a*e*a ], + [ b*e*b*a, a*b*e*b ], [ a*e*a*c, c*a*e*a ], [ c*e*c*a, a*c*e*c ], + [ (a*e)^2*a, (a*e)^2 ] ] + # Unbind local variables, auto-generated by etc/tst-unbind-local-vars.py gap> Unbind(BruteForceInverseCheck); gap> Unbind(BruteForceIsoCheck);