Blob Blame History Raw
--- doc/libraries.xml.orig	2020-07-24 17:55:13.000000000 -0600
+++ doc/libraries.xml	2022-09-11 10:11:23.941827015 -0600
@@ -7,11 +7,14 @@
 
 There are the following generic pcp-groups available.
 <ManSection>
-<Func Name="AbelianPcpGroup" Arg="n, rels"/>
+<Func Name="AbelianPcpGroup" Arg="n[, rels]"/>
+<Func Name="AbelianPcpGroup" Arg="rels"/>
 <Description>
       constructs the   abelian  group  on  <A>n</A>  generators  such  that
       generator <M>i</M> has  order <M>rels[i]</M>. If  this  order is infinite,
-      then <M>rels[i]</M> should be either unbound or 0.
+      then <M>rels[i]</M> should be either unbound or 0 or infinity.
+      If <A>n</A> is not provided then the length of <A>rels</A> is used.
+      If <A>rels</A> is omitted then all generators will have infinite order.
 </Description>
 </ManSection>
 
--- doc/methods.xml.orig	2020-07-24 17:55:13.000000000 -0600
+++ doc/methods.xml	2022-09-11 10:11:54.293893324 -0600
@@ -729,7 +729,7 @@ g2^-2*g4
 	and <M>R/C</M> is isomorphic to <A>M</A>.
 
 <Example><![CDATA[
-gap> G := AbelianPcpGroup( 3,[] );
+gap> G := AbelianPcpGroup( 3 );
 Pcp-group with orders [ 0, 0, 0 ]
 gap> ext := SchurCover( G );
 Pcp-group with orders [ 0, 0, 0, 0, 0, 0 ]
@@ -753,7 +753,7 @@ true
 <Example><![CDATA[
 gap> G := DihedralPcpGroup( 0 );
 Pcp-group with orders [ 2, 0 ]
-gap> DirectProduct( G, AbelianPcpGroup( 2, [] ) );
+gap> DirectProduct( G, AbelianPcpGroup( 2 ) );
 Pcp-group with orders [ 0, 0, 2, 0 ]
 gap> AbelianInvariantsMultiplier( last );
 [ 0, 2, 2, 2, 2 ]
--- gap/basic/construct.gi.orig	2020-07-24 17:55:13.000000000 -0600
+++ gap/basic/construct.gi	2022-09-11 10:12:49.853014707 -0600
@@ -40,7 +40,7 @@ function( filter, ints )
     # construct group
     coll := FromTheLeftCollector( n );
     for i in [1..n] do
-        if IsBound( r[i] ) and r[i] > 0 then
+        if IsBound( r[i] ) and r[i] > 0 and r[i] <> infinity then
             SetRelativeOrder( coll, i, r[i] );
         fi;
     od;