Dear Gap-Forum,
This is to announce bugfix number 2 for GAP 4b4. The priority of this fix
is high.
You should not apply this fix to any version of GAP3.
This fix corrects:
1) A dangerous bug in the sublist operator for GF2 Vectors.
2) A problem with `String(0)' for which we provided a workaround
in fix 1.
3) Path handling in the Windows version.
4) A Problem with completion files.
5) A bug in `ApplicableMethod'
Error 1 leads to wrong results, Error 3 can cause problems with reading
files under Windows, problems 4 and 5 can cause GAP to crash.
Many thanks to:
Jacob Hirbawi, Chris Parker and Kaustuv Das who reported bug 3.
Burkhard H"ofling for recompiling the Macintosh binaries.
To apply the fix, you must have installed bugfix 1 first.
Load the zoo archive 'fix4b4n2.zoo' from the
bugfixes web page
http://www-gap.dcs.st-and.ac.uk/~gap/Info4/bugfixes.html
Alternatively you can find this file in the 'bugfixes' directory of the
GAP4 ftp distribution.
Unpack the file in the home directory of your GAP distribution (the
directory containing the 'lib' and 'grp' directories) using
'unzoo -x fix4b4n2.zoo'
(On a PC or a Mac you will have to enter the argument line after
the call to 'unzoo'.) This will replace the erraneous file by fixed versions.
Make sure you have write permissions when applying the fix.
This fix changes the kernel. You must recompile.
PC and Macintosh users will find corrected binaries on the aforementioned
web page.
You can remove the file 'description2' afterwards.
Alexander Hulpke, 10-Aug-98
############################################################################# ## ## These commands should run without error if the fix has been applied. ## v:=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0]*Z(2); ConvertToVectorRep(v); if IntVecFFE(v{[18..36]})<>IntVecFFE(v){[18..36]} then Error("wrong sublist!"); fi; if Length(String(0))<>1 then Error("wrong length!"); fi; Filename( DirectoriesLibrary("lib"), "version.g"); Print(MutableNullMat); x := Indeterminate(Rationals); foo := function ( a, b ) local fu; fu := ApplicableMethod( \mod, [ x, x ] ); return fu( a, b ); end; for i in [1..1000] do a:=(i*x) mod x; od; for i in [1..1000] do a:=foo(i*x,x); od;