Version 9.0 (bz 1756780, 1770880).

Also:
- Drop upstreamed -ecm and -primecount patches.
- Add -escape patch.
- The old notebook (sagenb) is no longer shipped, so drop the -sagenb
  and -sagenb-python3 patches, the -notebook subpackage, and some BRs.
- New -jupyter subpackage.
- Add suitesparse BR.
- Drop pathlib2 BR (bz 1797116).
This commit is contained in:
Jerry James 2020-02-28 09:38:49 -07:00
parent 65c5f9e579
commit 2fac775552
13 changed files with 3724 additions and 956 deletions

View file

@ -1,51 +1,6 @@
diff -up build/pkgs/sagenb/src/sagenb/misc/support.py.orig build/pkgs/sagenb/src/sagenb/misc/support.py
--- build/pkgs/sagenb/src/sagenb/misc/support.py.orig 2019-02-01 06:34:20.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/misc/support.py 2020-01-07 19:57:46.756664911 -0700
@@ -178,7 +178,7 @@ def completions(s, globs, format=False,
try:
if not '.' in s and not '(' in s:
v = [x for x in globs.keys() if x[:n] == s] + \
- [x for x in __builtins__.keys() if x[:n] == s]
+ [x for x in builtins.keys() if x[:n] == s]
else:
if not ')' in s:
i = s.rfind('.')
diff -up build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py
--- build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig 2019-02-01 05:37:36.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py 2020-01-07 19:57:46.757664910 -0700
@@ -25,7 +25,7 @@ This module contains three classes:
.. NOTE::
- This extension of htmllib.HTMLParser was partly inspired by Mark
+ This extension of html.parser.HTMLParser was partly inspired by Mark
Pilgrim's 'Dive Into Python' examples.
AUTHORS:
@@ -155,7 +155,7 @@ class genericHTMLProcessor(HTMLParser):
u'<h1 class="title">Title</h1>\n\n<p>nSome text</p>\n\n\n\n'
"""
- # self.feed() is a HTMLParser method and starts everything
+ # self.feed() is an HTMLParser method and starts everything
# off; Most of the functions here are extensions to
# HTMLParser, and may never actually be visibly called here.
diff -up build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py
--- build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig 2019-02-01 05:37:36.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py 2020-01-07 19:57:46.758664910 -0700
@@ -59,7 +59,7 @@ class Parser:
'parent': r'(?:%s)?' % re.escape(PARENT_PREFIX),
}
url_rule = r'%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+' % {
- 'url_guard': ur'(^|(?<!\w))',
+ 'url_guard': r'(^|(?<!\w))',
'url': url_pattern,
'punct': punct_pattern,
}
diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/extractsagecode.py
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/extractsagecode.py 2020-01-07 19:57:46.759664909 -0700
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-11-14 04:02:40.000000000 -0700
+++ build/pkgs/sagetex/src/extractsagecode.py 2020-02-25 13:42:46.674646884 -0700
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
try:
@ -56,8 +11,8 @@ diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/e
usage()
sys.exit(2)
diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makestatic.py
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/makestatic.py 2020-01-07 19:57:46.759664909 -0700
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-11-14 04:02:40.000000000 -0700
+++ build/pkgs/sagetex/src/makestatic.py 2020-02-25 13:42:46.674646884 -0700
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
try:
@ -68,8 +23,8 @@ diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makest
usage()
sys.exit(2)
diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/remote-sagetex.py
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/remote-sagetex.py 2020-01-07 19:57:46.760664908 -0700
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-11-14 04:02:40.000000000 -0700
+++ build/pkgs/sagetex/src/remote-sagetex.py 2020-02-25 13:42:46.674646884 -0700
@@ -24,12 +24,11 @@
## You should have received a copy of the GNU General Public License along
## with this program. If not, see <http://www.gnu.org/licenses/>.
@ -133,8 +88,8 @@ diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/re
if not password:
from getpass import getpass
diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sagetexparse.py
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/sagetexparse.py 2020-01-07 19:57:46.760664908 -0700
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-11-14 04:02:40.000000000 -0700
+++ build/pkgs/sagetex/src/sagetexparse.py 2020-02-25 13:42:46.674646884 -0700
@@ -132,7 +132,7 @@ class SageCodeExtractor():
def plotout(self, s, l, t):
@ -145,8 +100,8 @@ diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sage
self.result += t.code[1:-1] + '\n\n'
diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite_state_machine.py
--- src/sage/combinat/finite_state_machine.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/finite_state_machine.py 2020-01-07 19:57:46.766664904 -0700
--- src/sage/combinat/finite_state_machine.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/combinat/finite_state_machine.py 2020-02-25 13:42:46.676646848 -0700
@@ -936,7 +936,7 @@ from six.moves import range, zip_longest
from six import itervalues
@ -156,7 +111,7 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
import itertools
from copy import copy, deepcopy
@@ -14166,7 +14166,7 @@ def is_FSMProcessIterator(PI):
@@ -14161,7 +14161,7 @@ def is_FSMProcessIterator(PI):
class FSMProcessIterator(SageObject,
@ -165,21 +120,9 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
"""
This class takes an input, feeds it into a finite state machine
(automaton or transducer, in particular), tests whether this was
diff -up src/sage/combinat/multiset_partition_into_sets_ordered.py.orig src/sage/combinat/multiset_partition_into_sets_ordered.py
--- src/sage/combinat/multiset_partition_into_sets_ordered.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/multiset_partition_into_sets_ordered.py 2020-01-07 19:57:46.768664902 -0700
@@ -1952,7 +1952,7 @@ class OrderedMultisetPartitionsIntoSets(
# slice by 'order'
if "alphabet" in fc:
- no_alpha = {k: v for (k, v) in iteritems(self.constraints) if k is not "alphabet"}
+ no_alpha = {k: v for (k, v) in iteritems(self.constraints) if k != "alphabet"}
return OrderedMultisetPartitionsIntoSets(fc["alphabet"], size, **no_alpha)
# slice by 'size'
diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat/root_system/branching_rules.py
--- src/sage/combinat/root_system/branching_rules.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/root_system/branching_rules.py 2020-01-07 19:57:46.769664902 -0700
--- src/sage/combinat/root_system/branching_rules.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/combinat/root_system/branching_rules.py 2020-02-25 13:42:46.678646812 -0700
@@ -1750,7 +1750,7 @@ def branching_rule(Rtype, Stype, rule="d
elif rule == "tensor" or rule == "tensor-debug":
if not Stype.is_compound():
@ -190,9 +133,9 @@ diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat
if Rtype[0] == 'A':
nr = Rtype[1]+1
diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/geometry/triangulation/point_configuration.py
--- src/sage/geometry/triangulation/point_configuration.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/geometry/triangulation/point_configuration.py 2020-01-07 19:57:46.770664901 -0700
@@ -619,7 +619,7 @@ class PointConfiguration(UniqueRepresent
--- src/sage/geometry/triangulation/point_configuration.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/geometry/triangulation/point_configuration.py 2020-02-26 14:41:58.109624057 -0700
@@ -619,11 +619,11 @@ class PointConfiguration(UniqueRepresent
['{{0,1,2,4},{1,2,3,4}}']
"""
timeout = 600
@ -201,9 +144,14 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
proc.expect(r'Evaluating Commandline Options \.\.\.')
proc.expect(r'\.\.\. done\.')
proc.setecho(0)
- assert proc.readline().strip() == b''
+ assert proc.readline().strip() == ''
if verbose:
print("#### TOPCOM input ####")
diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
--- src/sage/graphs/graph_latex.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/graphs/graph_latex.py 2020-01-07 19:59:40.240580166 -0700
--- src/sage/graphs/graph_latex.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/graphs/graph_latex.py 2020-02-25 13:42:46.679646794 -0700
@@ -1156,7 +1156,7 @@ class GraphLatex(SageObject):
#
elif name in color_dicts:
@ -263,20 +211,20 @@ diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
for key, p in value.items():
if not((isinstance(p, tuple)) and (len(p) == 2) and (p[0] >= 0) and (p[1] in compass_points)):
diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
--- src/sage/interfaces/frobby.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/frobby.py 2020-01-07 19:57:46.771664900 -0700
@@ -77,7 +77,7 @@ class Frobby:
--- src/sage/interfaces/frobby.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/frobby.py 2020-02-26 14:41:07.262562710 -0700
@@ -79,7 +79,7 @@ class Frobby:
print("Frobby command: ", repr(command))
print("Frobby input:\n", input)
- process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE)
+ process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE, enconding='utf-8')
output, err = process.communicate(input = input)
if verbose:
+ process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE, encoding='utf-8')
if input:
frinput = str_to_bytes(input)
else:
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
--- src/sage/interfaces/gfan.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/gfan.py 2020-01-07 19:57:46.772664899 -0700
--- src/sage/interfaces/gfan.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/gfan.py 2020-02-25 13:42:46.679646794 -0700
@@ -66,7 +66,7 @@ class Gfan(object):
if six.PY2:
enc_kwargs = {}
@ -287,8 +235,8 @@ diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE,
**enc_kwargs)
diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
--- src/sage/interfaces/gp.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/gp.py 2020-01-07 19:57:46.773664899 -0700
--- src/sage/interfaces/gp.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/gp.py 2020-02-25 13:42:46.680646776 -0700
@@ -934,17 +934,6 @@ class GpElement(ExpectElement):
"""
return repr(self.type()) == 't_STR'
@ -308,8 +256,8 @@ diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
"""
Return Python float.
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
--- src/sage/interfaces/latte.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/latte.py 2020-01-07 19:57:46.773664899 -0700
--- src/sage/interfaces/latte.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/latte.py 2020-02-25 13:42:46.680646776 -0700
@@ -152,6 +152,7 @@ def count(arg, ehrhart_polynomial=False,
latte_proc = Popen(args,
stdin=PIPE, stdout=PIPE,
@ -327,8 +275,8 @@ diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
ans, err = latte_proc.communicate(arg)
diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.pyx
--- src/sage/interfaces/sagespawn.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/sagespawn.pyx 2020-01-07 19:57:46.774664898 -0700
--- src/sage/interfaces/sagespawn.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/sagespawn.pyx 2020-02-25 13:42:46.680646776 -0700
@@ -1,6 +1,6 @@
"""
Sage wrapper around pexpect's ``spawn`` class and
@ -377,8 +325,8 @@ diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.py
pass
self.fileobj.close()
diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-01-07 19:57:46.776664896 -0700
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-02-25 13:42:46.680646776 -0700
@@ -33,7 +33,7 @@ cdef class String:
EXAMPLES::
@ -512,9 +460,9 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
if rank == 0:
raise NotImplementedError("Coxeter group of type ['A',0] using Coxeter 3 not yet implemented")
diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
--- src/sage/misc/parser.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/misc/parser.pyx 2020-01-07 19:57:46.777664896 -0700
@@ -96,7 +96,7 @@ def token_to_str(int token):
--- src/sage/misc/parser.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/misc/parser.pyx 2020-02-25 13:42:46.681646759 -0700
@@ -95,7 +95,7 @@ def token_to_str(int token):
cdef inline bint is_alphanumeric(char c):
@ -813,8 +761,8 @@ diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
return self.p_list(tokens)
else:
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
--- src/sage/plot/plot3d/plot3d.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/plot/plot3d/plot3d.py 2020-01-07 19:57:46.778664895 -0700
--- src/sage/plot/plot3d/plot3d.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/plot/plot3d/plot3d.py 2020-02-25 13:42:46.681646759 -0700
@@ -188,7 +188,8 @@ class _Coordinates(object):
sage: arb((x+z,y*z,z), z, (x,y))
Arbitrary Coordinates coordinate transform (z in terms of x, y)
@ -826,8 +774,8 @@ diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
raise ValueError('variables were specified incorrectly for this coordinate system; incorrect variables were %s'%list(set(all_vars).symmetric_difference(set(indep_vars+[dep_var]))))
self.dep_var = dep_var
diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
--- src/sage/plot/point.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/plot/point.py 2020-01-07 19:57:46.779664894 -0700
--- src/sage/plot/point.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/plot/point.py 2020-02-25 13:42:46.681646759 -0700
@@ -29,7 +29,7 @@ TESTS::
from sage.misc.decorators import options, rename_keyword
from sage.plot.colors import to_mpl_color
@ -847,8 +795,8 @@ diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
try:
diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_repr.py
--- src/sage/repl/display/fancy_repr.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/repl/display/fancy_repr.py 2020-01-07 19:57:46.780664894 -0700
--- src/sage/repl/display/fancy_repr.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/repl/display/fancy_repr.py 2020-02-25 13:42:46.682646741 -0700
@@ -15,7 +15,7 @@ Representations of objects.
import types
@ -868,8 +816,8 @@ diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_re
else:
# A user-provided repr. Find newlines and replace them with p.break_()
diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_kernel/interact.py
--- src/sage/repl/ipython_kernel/interact.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/repl/ipython_kernel/interact.py 2020-01-07 19:57:46.781664893 -0700
--- src/sage/repl/ipython_kernel/interact.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/repl/ipython_kernel/interact.py 2020-02-25 13:42:46.682646741 -0700
@@ -35,7 +35,8 @@ EXAMPLES::
from ipywidgets.widgets import SelectionSlider, ValueWidget, ToggleButtons
@ -881,9 +829,9 @@ diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_ker
from .widgets_sagenb import input_grid
from sage.structure.element import parent
diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
--- src/sage/rings/integer.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/integer.pyx 2020-01-07 19:57:46.785664890 -0700
@@ -7124,7 +7124,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
--- src/sage/rings/integer.pyx.orig 2020-02-27 10:29:19.004788998 -0700
+++ src/sage/rings/integer.pyx 2020-02-27 15:48:31.176289587 -0700
@@ -7123,7 +7123,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
while x[0] == c' ': x += 1 # Strip spaces
# Disallow a sign here
@ -892,22 +840,10 @@ diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
x = "" # Force an error below
assert base >= 2
diff -up src/sage/rings/multi_power_series_ring_element.py.orig src/sage/rings/multi_power_series_ring_element.py
--- src/sage/rings/multi_power_series_ring_element.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/multi_power_series_ring_element.py 2020-01-07 19:57:46.786664889 -0700
@@ -1396,7 +1396,7 @@ class MPowerSeries(PowerSeries):
# at this stage, self is probably a non-zero
# element of the base ring
for a in range(len(self._bg_value.list())):
- if self._bg_value.list()[a] is not 0:
+ if self._bg_value.list()[a] != 0:
return a
def is_nilpotent(self):
diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbori.pyx
--- src/sage/rings/polynomial/pbori.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/polynomial/pbori.pyx 2020-01-07 19:57:46.788664888 -0700
@@ -4765,8 +4765,7 @@ cdef class PolynomialConstruct:
--- src/sage/rings/polynomial/pbori.pyx.orig 2020-02-27 10:58:59.991311061 -0700
+++ src/sage/rings/polynomial/pbori.pyx 2020-02-27 15:48:31.177289568 -0700
@@ -4764,8 +4764,7 @@ cdef class PolynomialConstruct:
# So, it is just a conversion. [Simon King]
return (<BooleanPolynomialRing>ring)._element_constructor_(x)
@ -918,9 +854,9 @@ diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbor
cdef class MonomialConstruct:
diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
--- src/sage/rings/real_mpfi.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/real_mpfi.pyx 2020-01-07 19:57:46.790664886 -0700
@@ -1943,12 +1943,12 @@ cdef class RealIntervalFieldElement(Ring
--- src/sage/rings/real_mpfi.pyx.orig 2020-02-27 10:14:36.381371499 -0700
+++ src/sage/rings/real_mpfi.pyx 2020-02-27 15:48:31.178289550 -0700
@@ -1941,12 +1941,12 @@ cdef class RealIntervalFieldElement(Ring
cdef long digits
digits = strlen(lower_s)
@ -935,7 +871,7 @@ diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
digits -= 1
upper_expo -= digits
@@ -2117,7 +2117,7 @@ cdef class RealIntervalFieldElement(Ring
@@ -2115,7 +2115,7 @@ cdef class RealIntervalFieldElement(Ring
raise MemoryError("Unable to allocate memory for the mantissa of an interval")
mpz_get_str(tmp_cstr, base, lower_mpz)
digits = strlen(tmp_cstr)
@ -945,9 +881,9 @@ diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
mant_string = bytes_to_str(tmp_cstr+1)
sign_string = bytes_to_str(b'-')
diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
--- src/sage/rings/real_mpfr.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/real_mpfr.pyx 2020-01-07 19:57:46.791664885 -0700
@@ -2039,7 +2039,7 @@ cdef class RealNumber(sage.structure.ele
--- src/sage/rings/real_mpfr.pyx.orig 2020-02-27 10:16:40.188177426 -0700
+++ src/sage/rings/real_mpfr.pyx 2020-02-27 15:48:31.179289531 -0700
@@ -2037,7 +2037,7 @@ cdef class RealNumber(sage.structure.ele
if s is NULL:
raise RuntimeError("unable to convert an mpfr number to a string")
# t contains just digits (no sign, decimal point or exponent)
@ -957,9 +893,9 @@ diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
t = char_to_str(s + 1)
else:
diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.pyx
--- src/sage/structure/sage_object.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/structure/sage_object.pyx 2020-01-07 19:57:46.791664885 -0700
@@ -665,7 +665,7 @@ cdef class SageObject:
--- src/sage/structure/sage_object.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/structure/sage_object.pyx 2020-02-25 13:42:56.898464506 -0700
@@ -671,7 +671,7 @@ cdef class SageObject:
try:
s = self._interface_init_(I)
except Exception:
@ -969,9 +905,9 @@ diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.
if c:
try:
diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
--- src/sage/symbolic/expression.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/symbolic/expression.pyx 2020-01-07 19:57:46.794664883 -0700
@@ -12916,7 +12916,7 @@ cdef class hold_class:
--- src/sage/symbolic/expression.pyx.orig 2020-02-27 09:30:14.669819391 -0700
+++ src/sage/symbolic/expression.pyx 2020-02-27 15:48:31.182289476 -0700
@@ -12945,7 +12945,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
@ -980,7 +916,7 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
def __exit__(self, *args):
"""
@@ -12929,7 +12929,7 @@ cdef class hold_class:
@@ -12958,7 +12958,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
@ -989,15 +925,3 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
def start(self):
"""
diff -up src/setup.py.orig src/setup.py
--- src/setup.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/setup.py 2020-01-07 19:57:46.794664883 -0700
@@ -232,7 +232,7 @@ class sage_build_cython(Command):
cdivision=True,
embedsignature=True,
fast_getattr=True,
- language_level="2",
+ language_level=3,
preliminary_late_includes_cy28=True,
profile=self.profile,
)