Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
avoid an attribute value after leaving a break loop
When one creates a f.p. group and triggers an element comparison then it may happen that GAP does not return. Hit CTRL-C, then GAP enters a break loop, and when one leaves it with `quit` then it is currently too late for triggering the computation of an `IsomorphismPermGroup` or so that will control the behaviour of the group. Here is an example that shows the situation in GAP 4.12. The master branch version is already too clever for this particular group, currently I have no test example that demonstrate the changes there. ``` f:= FreeGroup(3);; AssignGeneratorVariables( f );; rels:= [f3^6, f2^3, (f1^-1*f2^-1*f1*f2^-1)^2, f2*f1^-1*f2^-1*f1^2*f2*f1^3*f2^-1*f1^-2*f2*f1^-1, f1*(f1^2*f2^-1)^2*f1^-2*f2^-1*f1*f2*f1^-3*f2^-1, f2*(f1^-1*f2*f1^-1)^2*f2*f1^2*f2^-1*f1^-4*f2^-1*f1^2, f1*f2*f1^-1*f2^-1*(f1^-1*f2)^2*f1^-1*(f1^-1*f2^-1)^2*f1^4*f2*f1^2, (f2*f1*f2^-1*f1^-2*f2^-1*f1)^3, f1^4*f2*(f1^-1*f2^-1)^2*(f1^-1*f2)^2*f1^-2*f2*f1*f2^-1*f1^-1*f2*f1^-3*f2^-1*f1, f2*f1*f2*f1^-2*f2^-1*f1*f2*f1^-1*f2^-1*f1^3*f2*f1^-2*f2*f1^-1*f2^-1*f1^2*f2^-1*(f1*f2)^2*f1^-1*(f2^-1*f1)^2, f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1];; Q:= f / rels;; Order(Q); Order(Q.3); # hangs in GAP 4.12, hit CTRL-C, enter quit; IsomorphismPermGroup(Q);; # the value will not be used automatically later on Order(Q.3); # hangs again ``` Does it make sense at all to try to avoid this kind of "object corruption" after leaving a break loop?
- Loading branch information