Fix sage --dev test for non-interactive sessions.
Update format.txt in Stein--Watkins database
trac #16728 first proposal
Merge branch 'u/robertwb/ticket/16493' of trac.sagemath.org:sage into 6.4.b6
trac #16493 new style of doctest continuation
Increase number of file handles for testing zeromq on OSX
Trac #17008: Give affine schemes unique representation (needed for elliptic curves and forking)

The following used to work in Sage, but does not anymore.

Define
{{{
@fork
def compute_E():
    E = EllipticCurve([2,3])
    p = E(3,6,1)
    return p
}}}

Then
{{{
sage: p = compute_E()
sage: 2*p
------------------------------------------------------------------------
---
RuntimeError                              Traceback (most recent call
last)
<ipython-input-5-a9d49bd49c00> in <module>()
----> 1 Integer(2)*p

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/element.so in
sage.structure.element.RingElement.__mul__
(build/cythonized/sage/structure/element.c:16558)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(build/cythonized/sage/structure/coerce.c:7839)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.get_action
(build/cythonized/sage/structure/coerce.c:13470)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.discover_action
(build/cythonized/sage/structure/coerce.c:14918)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/parent.so in
sage.structure.parent.Parent.get_action
(build/cythonized/sage/structure/parent.c:20486)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/parent.so in
sage.structure.parent.Parent.discover_action
(build/cythonized/sage/structure/parent.c:21783)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce_actions.so in
sage.structure.coerce_actions.IntegerMulAction.__init__
(build/cythonized/sage/structure/coerce_actions.c:8432)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/element.so in
sage.structure.element.ModuleElement.__add__
(build/cythonized/sage/structure/element.c:11295)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(build/cythonized/sage/structure/coerce.c:7904)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.canonical_coercion
(build/cythonized/sage/structure/coerce.c:9490)()

/home/pcl337b/jkeitel/sage/sage/local/lib/python2.7/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps._coercion_error
(build/cythonized/sage/structure/coerce.c:16376)()

RuntimeError: There is a bug in the coercion code in Sage.
Both x (=(3 : 6 : 1)) and y (=(3 : -6 : 1)) are supposed to have
identical parents but they don't.
In fact, x has parent 'Abelian group of points on Elliptic Curve defined
by y^2 = x^3 + 2*x + 3 over Rational Field'
whereas y has parent 'Abelian group of points on Elliptic Curve defined
by y^2 = x^3 + 2*x + 3 over Rational Field'
Original elements (3 : 6 : 1) (parent Abelian group of points on
Elliptic Curve defined by y^2 = x^3 + 2*x + 3 over Rational Field) and
(3 : -6 : 1) (parent Abelian group of points on Elliptic Curve defined
by y^2 = x^3 + 2*x + 3 over Rational Field) and maps
<type 'NoneType'> None
<type 'sage.structure.coerce_maps.DefaultConvertMap_unique'> (map
internal to coercion system -- copy before use)
Conversion map:
  From: Abelian group of points on Elliptic Curve defined by y^2 = x^3 +
2*x + 3 over Rational Field
  To:   Abelian group of points on Elliptic Curve defined by y^2 = x^3 +
2*x + 3 over Rational Field
sage:
}}}

and
{{{
sage: (-p).parent() is p.parent()
sage: False
}}}

Note that this depends crucially on the {{{@fork}}}, without it things
work just fine. Intuitively, I suppose that since E is created in the
forked process, the main process where I'm negating p does not know
about E and therefore creates a new parent. However, I'm not sure how to
fix this.

Since this definitely worked a few months ago, my gut says that it might
have something to do with the changes introduced in #11474 and I've
taken the liberty to include some of you who worked on this. I hope
that's okay for you.

URL: http://trac.sagemath.org/17008
Reported by: jkeitel
Ticket author(s): Peter Bruin
Reviewer(s): Volker Braun
Trac #17154: Comparison of WeylGroups

{{{
sage: wl = RootSystem(['A',3]).weight_lattice()
sage: W = WeylGroup(['A',3], prefix="s")
sage: wl.weyl_group() == W
False
}}}
but
{{{
sage: wl.weyl_group().__cmp__(W)
0
}}}

URL: http://trac.sagemath.org/17154
Reported by: aapitzsch
Ticket author(s): André Apitzsch
Reviewer(s): Volker Braun
Trac #17212: OSX zeromq testsuite

URL: http://trac.sagemath.org/17212
Reported by: vbraun
Ticket author(s): Volker Braun
Reviewer(s): John Palmieri
Trac #16278: MPFI's spkg-install overwrites CFLAGS

{{{
#!sh
if [ "$SAGE64" = "yes" ]; then
   echo "64 bit build"
   CFLAGS="-O2 -g -m64 -fPIC"; export CFLAGS
   CXXLAGS="-O2 -g -m64 -fPIC"; export CXXFLAGS
   LDFLAGS="-m64 "; export LDFLAGS
else
   CFLAGS="-O2 -g -fPIC"; export CFLAGS
fi
}}}

URL: http://trac.sagemath.org/16278
Reported by: leif
Ticket author(s): Frédéric Chapoton
Reviewer(s): Volker Braun
Trac #16493: Sage --dev tests broken for non-interactive shells

The manifests itself on various buildbots, giving errors like

{{{
File "/scratch/scoder/jenkins/sage/sage-git/src/sage/tests/cmdline.py",
line 467, in sage.tests.cmdline.test_executable
Failed example:
    ret, err
Expected:
    (0, '')
Got:
    (1, 'Traceback (most recent call last):
  File "/scratch/scoder/jenkins/sage/sage-git/src/bin/sage-dev", line
334, in <module>
    parser = parser_from_object(DEV)
  File "/scratch/scoder/jenkins/sage/sage-git/src/bin/sage-dev", line
258, in parser_from_object
    parser = argparse.ArgumentParser(*args, **kwds)
  File "/scratch/scoder/jenkins/sage/sage-
git/local/lib/python/argparse.py", line 1600, in __init__
    help=_(\'show this help message and exit\'))
  File "/scratch/scoder/jenkins/sage/sage-
git/local/lib/python/argparse.py", line 1291, in add_argument
    self._get_formatter()._format_args(action, None)
  File "/scratch/scoder/jenkins/sage/sage-
git/local/lib/python/argparse.py", line 2314, in _get_formatter
    return self.formatter_class(prog=self.prog)
  File "/scratch/scoder/jenkins/sage/sage-git/src/bin/sage-dev", line
37, in __init__
    width=DEV._sagedev._UI._get_dimensions()[1]-2, *args, **kwds)
  File "/scratch/scoder/jenkins/sage/sage-git/local/lib/python2.7/site-
packages/sage/dev/cmd_line_interface.py", line 264, in _get_dimensions
    fd = os.open(os.ctermid(), os.O_RDONLY)
OSError: [Errno 6] No such device or address: \'/dev/tty\'
}}}

URL: http://trac.sagemath.org/16493
Reported by: robertwb
Ticket author(s): Robert Bradshaw
Reviewer(s): Ralf Stephan
Trac #16313: easy-to-fix mistake in the stein-watkins optional database docs

{{{
Hi William,

I just downloaded the sage version of the Stein-Watkins database of (a
subset of) the elliptic curves of conductor < 10^8, because I need a
supply of small curves with large rational torsion subgroups.  I looked
in

  sage/local/share/stein_watkins/format.txt

and it says that the torsion subgroup is given as follows:

  torsion_subgroup - n or nx, where n means Z/nZ and nx means Z/2Z x
Z/2nZ.

But in the actual tables, nx seems to indicate Z/2Z x Z/nZ (instead of
2nZ), because the values that appear are 2x, 4x, 6x, and 8x.

I hope all is well with you!  Thanks ---

-- Everett
}}}

We simply need the updated `format.txt` from
[http://modular.math.washington.edu/ecdb/]

New '''upstream package''': [http://boxen.math.washington.edu/home/jdeme
yer/spkg/database_stein_watkins-20110713.tar.gz]

URL: http://trac.sagemath.org/16313
Reported by: was
Ticket author(s): Jeroen Demeyer
Reviewer(s): Volker Braun