Opened 8 years ago

Last modified 21 months ago

#10483 needs_work defect

Deprecate the misuse of symbolic variables as polynomial variable

Reported by: SimonKing Owned by: AlexGhitza
Priority: major Milestone: sage-8.0
Component: basic arithmetic Keywords: deprecation symbolic polynomial variable
Cc: Merged in:
Authors: Simon King, Ralf Stephan, Jeroen Demeyer Reviewers: Karl-Dieter Crisman, Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: public/10483-4 (Commits) Commit: 938beb01e0dd296790dc2748f99f0e5a0ed4ce26
Dependencies: #23337, #23338, #23343, #23377, #23638, #23640 Stopgaps:

Description (last modified by jdemeyer)

Relatively often on sage-support, users run into a problem since they mix symbolics and polynomials. Typically, they do

sage: z = var('z')
sage: P = QQ[z]

and expect that z is the generator of P - which is of course wrong and will soon mean trouble.

I find even worse that one can do

sage: QQ[x,gap,singular]
Multivariate Polynomial Ring in x, Gap, Singular over Rational Field

since the variable names are obtained from the string representation of the given objects.

It should be clear that the preferred way of constructing a polynomial (or quotient) ring together with its generators is

sage: R.<x,y,z> = QQ[]

Hence, it is quite amazing that in the documentation one occasionally finds the "wrong" usage

sage: x,y,z = var('x y z')
sage: P = QQ[x,y,z]

I suggest to deprecate the possibility of providing the variable names by anything but strings (potentially plus an integer, like PolynomialRing(QQ,'x',5)).

With my patch, one has

sage: QQ[x,gap,singular]
/mnt/local/king/SAGE/sage-4.6/local/bin/sage-ipython:1: DeprecationWarning: (Since Sage Version 4.6.1) Variable name 'x' should be a string, but we obtained <type 'sage.symbolic.expression.Expression'>.
In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
  #!/usr/bin/env python
/mnt/local/king/SAGE/sage-4.6/local/bin/sage-ipython:1: DeprecationWarning: (Since Sage Version 4.6.1) Variable name 'Gap' should be a string, but we obtained <class 'sage.interfaces.gap.Gap'>.
In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
  #!/usr/bin/env python
/mnt/local/king/SAGE/sage-4.6/local/bin/sage-ipython:1: DeprecationWarning: (Since Sage Version 4.6.1) Variable name 'Singular' should be a string, but we obtained <class 'sage.interfaces.singular.Singular'>.
In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
  #!/usr/bin/env python
Multivariate Polynomial Ring in x, Gap, Singular over Rational Field

See also #13187 where the problem of this ticket had the wrong solution (allowing for other types than string).

Attachments (1)

10483deprecate_symbolics_in_polynomial_rings.patch (28.9 KB) - added by SimonKing 8 years ago.

Download all attachments as: .zip

Change History (112)

comment:1 Changed 8 years ago by SimonKing

  • Authors set to Simon King
  • Status changed from new to needs_review

Now the patch is attached. By the way: It also adds some doctests...

comment:2 follow-up: Changed 8 years ago by kcrisman

Just a question - are the changes in symbolics because before the variables might or might not have been strings?

Also, is there an easy way to show what the generator of P would have been in the "bad" old case? I think that's useful to point out, if one is going to make the remarks in the first place.

comment:3 in reply to: ↑ 2 Changed 8 years ago by SimonKing

Replying to kcrisman:

Just a question - are the changes in symbolics because before the variables might or might not have been strings?

As much as I know, the changes that I did in symbolics are indeed "replace a variable v by repr(v) when it is used to define a polynomial ring.

Also, is there an easy way to show what the generator of P would have been in the "bad" old case? I think that's useful to point out, if one is going to make the remarks in the first place.

I am not quite sure what you mean. By "remark", you probably mean

In earlier versions of Sage, the names have not necessarily been 
strings. Some users provided a symbolic variable instead of a string, 
and expected that this symbolic variable is the same as the generator 
of the resulting polynomial ring, which is of course not the case. 
This common mistake is now deprecated. 

So, you suggest to write something like this:

In earlier versions of Sage, the names have not necessarily been 
strings. Some users provided a symbolic variable instead of a string, 
and expected that this symbolic variable is the same as the generator 
of the resulting polynomial ring, which is of course not the case.

The following might be surpising for a user expecting the variable `x`
to be a polynomial::

    sage: P = QQ['x'] # here, some users wrote QQ[x], which is now deprecated
    sage: x == P(x)
    x == x
    sage: type(x == P(x))
    <type 'sage.symbolic.expression.Expression'>
    sage: parent(x+P(x)) == P
    False

I am not so convinced that the above text is good. Do you have a better suggesion?

comment:4 follow-up: Changed 8 years ago by kcrisman

  • Reviewers set to Karl-Dieter Crisman

I'm just saying that the "of course is not the case" is not at all "of course" to me. Current behavior:

sage: P = QQ[x]
sage: P.gen()
x
sage: P.gen() == x
x == x
sage: bool(P.gen() == x)
True
sage: P.gen() is x
False

So unless you think to do the last thing, that is pretty confusing - they have identical representation methods. Which is of course why you want to change this, and introduce the deprecation.

So maybe you could say

... resulting polynomial ring.  However, this was not the case; the generator of a polynomial ring is always a polynomial type, not a symbolic expression, so although they have the same representation, they are not the same.  This explains the following warning:

<deprecation warning doctest

Does that make any sense?

comment:5 in reply to: ↑ 4 ; follow-up: Changed 8 years ago by SimonKing

Replying to kcrisman:

So maybe you could say

... resulting polynomial ring.  However, this was not the case; the generator of a polynomial ring is always a polynomial type, not a symbolic expression, so although they have the same representation, they are not the same.  This explains the following warning:

<deprecation warning doctest

Does that make any sense?

Yes, your formulation sounds much better than mine! Could you make a reviewer patch, changing the formulation?

Best regards, Simon

comment:6 in reply to: ↑ 5 Changed 8 years ago by kcrisman

Replying to SimonKing:

Replying to kcrisman:

So maybe you could say

... resulting polynomial ring.  However, this was not the case; the generator of a polynomial ring is always a polynomial type, not a symbolic expression, so although they have the same representation, they are not the same.  This explains the following warning:

<deprecation warning doctest

Does that make any sense?

Yes, your formulation sounds much better than mine! Could you make a reviewer patch, changing the formulation?

Umm... that might not happen for a little while. I can do it, though. But if I'm going to give it a formal review, I have to make sure I check that all those changes involving making things strings really catch what they are supposed to, and I don't have time to do that right now, and then make the reviewer patch, and I am slow on such things... sorry.

Also, I seem to recall there being some discussion about this on sage-devel. It's enough of a change (particularly since there are doctests which use the old one) that it could inconvenience some heavy users to see the deprecation messages, so if you have a link to that discussion I'd be interested in reading through it.

comment:7 Changed 8 years ago by kcrisman

For reference, here is the sage-devel discussion. Not that much noise, thankfully.

comment:8 Changed 8 years ago by kcrisman

  • Status changed from needs_review to needs_info

Upon further reflection, I think that one would have to change a lot more of the doctests where x is used. This is because even though changing things so that they use SR['x'] instead of SR[x] is good, the same potential for confusion remains. The very first example in the patch provides the opportunity for this:

sage: R = SR['x']
sage: f = R([1/sqrt(2), 1/(4*sqrt(2))])
sage: f
1/8*sqrt(2)*x + 1/2*sqrt(2)
sage: type(f)
<class 'sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field'>
sage: type(1/8*sqrt(2)*x + 1/2*sqrt(2))
<type 'sage.symbolic.expression.Expression'>
sage: type(x)
<type 'sage.symbolic.expression.Expression'>
sage: type(R.gen())
<class 'sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field'>

I don't think we want to actually prohibit this - x is so conventional - but the doctests should all definitely be changed so that some variable other than the one default variable actually pre-defined by Sage is used with polynomial rings! And we might want to put more warnings about this in the polynomial ring generator docs anyway. Not to mention the tutorial :)

So putting 'needs info' until we think about what the best course of action is. But I don't want to just change these doctests, because it hides the real ambiguity, since 'x' is predefined as a variable when Sage initializes - which it should.

comment:9 Changed 8 years ago by SimonKing

--bump--

Any new info in the last 5 months?

comment:10 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:11 follow-up: Changed 5 years ago by rws

Pardon my naivete, why not recreate the symbol as ring element (and discard the symbol) when the user, by using it in a polynomial context, expects it to behave as one?

comment:12 in reply to: ↑ 11 Changed 5 years ago by nbruin

Replying to rws:

Pardon my naivete, why not recreate the symbol as ring element (and discard the symbol) when the user, by using it in a polynomial context, expects it to behave as one?

The following two invocations cannot be distinguished by the code implementing polynomial ring constructions:

x,y,z=var('x,y,z'); R = Q[x,y,z]
R = Q[ SR('x'), SR('y'), SR('z')]

Hopefully you'll agree that in the second case there is no justification to try and reach into the global scope to rebind python names that happen to print as the corresponding strings 'x','y','z'.

But thanks for bumping this ticket. Can we merge it?

comment:13 Changed 5 years ago by kcrisman

Like I said above (3 years ago? wow), it would be best to think about making the default examples for polynomial rings not use x, since that is indeed already defined system-wide, and changing the examples to use the string won't help the confusion. But I have no objection to the change in principle, just the potential for continuing confusion.

comment:14 Changed 5 years ago by jdemeyer

I also agree with the patch in principle, except I would use str() instead of repr().

comment:15 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:16 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:17 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:18 Changed 5 years ago by kcrisman

I tried to rebase this but had some trouble, possibly because of user error.

comment:19 Changed 4 years ago by rws

  • Branch set to public/10483

comment:20 Changed 4 years ago by rws

  • Authors changed from Simon King to Simon King, Ralf Stephan
  • Commit set to cb6547a459cb437f47f8c0fd11bc1d9804364dd7
  • Status changed from needs_info to needs_work

Needed a bit of manual merging. Please review.


New commits:

cb6547a10483: Deprecate the use of non-strings as variable names in polynomial (quotient) rings

comment:21 Changed 4 years ago by rws

  • Status changed from needs_work to needs_review

comment:22 follow-up: Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_work

Surely, all those .orig files are a mistake?

comment:23 Changed 4 years ago by rws

  • Branch changed from public/10483 to public/10483-1

comment:24 Changed 4 years ago by rws

  • Branch changed from public/10483-1 to public/10483-2

comment:25 in reply to: ↑ 22 Changed 4 years ago by rws

  • Commit changed from cb6547a459cb437f47f8c0fd11bc1d9804364dd7 to 7874bd347acdcc1f5b6683c53f6021a623dbb4ac
  • Status changed from needs_work to needs_review

Replying to jdemeyer:

Surely, all those .orig files are a mistake?

Removed.


New commits:

7874bd310483: Deprecate the use of non-strings as variable names in polynomial (quotient) rings

comment:26 follow-up: Changed 4 years ago by jdemeyer

In various places in the library files, you manually call R[repr(x)] or R[str(x)]. Is that really needed? Maybe in some cases it is justified, but you need to convince me.

Then some details:

x, y = 'x', 'y'

is confusing, just use 'x' and 'y' instead of x and y.

Replace

R = PolynomialRing(GF(2)['x'])

by

R = PolynomialRing(GF(2), 'x')

Change

from sage.misc.misc import deprecation
...
if do_something_deprecated():
    deprecation(..)

to

...
if do_something_deprecated():
    from sage.misc.misc import deprecation
    deprecation(..)

comment:27 Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_work

comment:28 Changed 4 years ago by jdemeyer

Also replace

R.<x> = ZZ[x]

by

R.<x> = ZZ[]

comment:29 Changed 4 years ago by git

  • Commit changed from 7874bd347acdcc1f5b6683c53f6021a623dbb4ac to 649f6fb728c51f319a369046490afcda8d367ac7

Branch pushed to git repo; I updated commit sha1. New commits:

649f6fb10483: various cosmetics addressing reviewer's comments

comment:30 in reply to: ↑ 26 ; follow-up: Changed 4 years ago by rws

  • Status changed from needs_work to needs_review

Replying to jdemeyer:

In various places in the library files, you manually call R[repr(x)] or R[str(x)]. Is that really needed? Maybe in some cases it is justified, but you need to convince me.

Can you please give an example?

comment:31 follow-up: Changed 4 years ago by nbruin

This example:

sage: R.<xx> = QuotientRing(QQ['x'], QQ['x'].ideal(x^2 + 1)); R

is still referring to a wild x for the ideal generator. The meaning of this code really depends on what x happens to be bound to before. I don't see another way than to write this code in multiple steps:

sage: P.<x> = QQ[]; R.<xx> = QuotientRing(P, P.ideal(x^2 + 1)); R

In fact, if you put that on one line, it's hardly longer anyway. It might be better style to split it, though.

For jdemeyer's comments: search for "str(" in the git diff view. Your uses looked probable at first glance, but you might want to check the context.

comment:32 in reply to: ↑ 30 ; follow-up: Changed 4 years ago by jdemeyer

Replying to rws:

Can you please give an example?

R = ZZ_q[x if isinstance(x,basestring) else str(x)].quotient(quotient, x if isinstance(x,basestring) else str(x))

comment:33 in reply to: ↑ 31 Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_work

Replying to nbruin:

This example:

sage: R.<xx> = QuotientRing(QQ['x'], QQ['x'].ideal(x^2 + 1)); R

is still referring to a wild x for the ideal generator. The meaning of this code really depends on what x happens to be bound to before. I don't see another way than to write this code in multiple steps:

sage: P.<x> = QQ[]; R.<xx> = QuotientRing(P, P.ideal(x^2 + 1)); R

In fact, if you put that on one line, it's hardly longer anyway. It might be better style to split it, though.

Yes, please split it:

sage: P.<x> = QQ[]
sage: R.<xx> = QuotientRing(P, P.ideal(x^2 + 1))
sage: R

comment:34 in reply to: ↑ 32 ; follow-up: Changed 4 years ago by rws

Replying to jdemeyer:

Replying to rws:

Can you please give an example?

R = ZZ_q[x if isinstance(x,basestring) else str(x)].quotient(quotient, x if isinstance(x,basestring) else str(x))

Well, it seems I cannot remove the str here, but reducing to R = ZZ_q[str(x)].quotient(quotient, str(x)) is possible, as x is of type Expression.

comment:35 in reply to: ↑ 34 Changed 4 years ago by jdemeyer

  • Dependencies set to #17406

Replying to rws:

Well, it seems I cannot remove the str here, but reducing to R = ZZ_q[str(x)].quotient(quotient, str(x)) is possible, as x is of type Expression.

The fact that quotient should be of type Expression is a bug in itself. Instead of working around this bug, it should instead be fixed: #17406

comment:36 Changed 4 years ago by jdemeyer

  • Dependencies changed from #17406 to #17406, #17407

comment:37 Changed 4 years ago by jdemeyer

  • Branch changed from public/10483-2 to u/jdemeyer/ticket/10483
  • Modified changed from 11/27/14 10:10:37 to 11/27/14 10:10:37

comment:38 Changed 4 years ago by jdemeyer

  • Commit changed from 649f6fb728c51f319a369046490afcda8d367ac7 to 1d3f1037727f0a457ad2bcb4bd28308fbda28af1

I moved all the non-controversial doctest fixes to #17407, so we can concentrate here on the harder stuff.


New commits:

6429596Trac #17407: replace R[x] by R['x'] in doctests
1d3f103Merge branch 'ticket/17407' into ticket/10483

comment:39 Changed 4 years ago by git

  • Commit changed from 1d3f1037727f0a457ad2bcb4bd28308fbda28af1 to cbc1af1635a9022205c97417a611fb5ffd1ea429

Branch pushed to git repo; I updated commit sha1. New commits:

03ece27Use correct form of deprecation
e72814eTrac #17406: quotient parameter should accept polynomials
cbc1af1Merge branch 'u/jdemeyer/ticket/17406' of git://trac.sagemath.org/sage into ticket/10483

comment:40 Changed 4 years ago by jdemeyer

  • Reviewers changed from Karl-Dieter Crisman to Karl-Dieter Crisman, Jeroen Demeyer

There are still several doctest failures and some dubious uses of str().

comment:41 Changed 4 years ago by git

  • Commit changed from cbc1af1635a9022205c97417a611fb5ffd1ea429 to 83df2f35083b2824024c2f326d6f579b40bb04e1

Branch pushed to git repo; I updated commit sha1. New commits:

1ffdb4917407: more doctest fixes
b3289a8Undo non-trivial changes
0730153Merge branch 'ticket/17407' into ticket/10483
83df2f3Trac #10483: more doctest fixes

comment:42 Changed 4 years ago by rws

  • Branch changed from u/jdemeyer/ticket/10483 to public/10483-3

comment:43 follow-up: Changed 4 years ago by rws

  • Commit changed from 83df2f35083b2824024c2f326d6f579b40bb04e1 to 75e2a04227770247968a88f5fd9172d543710fba

Why do you change from public to private branch?


New commits:

47b6617Merge branch 'public/17407' of trac.sagemath.org:sage into t/10483/ticket/10483
75e2a0410483: more fixes
Version 0, edited 4 years ago by rws (next)

comment:44 in reply to: ↑ 43 ; follow-up: Changed 4 years ago by jdemeyer

Replying to rws:

Why do you change from public to private branch?

Because that's what happens by default when using the ./sage --dev scripts.

comment:45 Changed 4 years ago by rws

  • Description modified (diff)

comment:46 Changed 4 years ago by git

  • Commit changed from 75e2a04227770247968a88f5fd9172d543710fba to ad0c7819ba76675064bfdf9a1491ed95143152ec

Branch pushed to git repo; I updated commit sha1. New commits:

b3289a8Undo non-trivial changes
76c34e817407: even more dotest fixes, should be all
ad0c781Merge branch 'u/rws/ticket/17407' of trac.sagemath.org:sage into t/10483/public/10483-3

comment:47 Changed 4 years ago by git

  • Commit changed from ad0c7819ba76675064bfdf9a1491ed95143152ec to 0534b9daea596531e8c6506e372dc718f23d0425

Branch pushed to git repo; I updated commit sha1. New commits:

2c98ad010483: redo changes undone in 17407
0534b9d10483: a few more trivial fixes

comment:48 Changed 4 years ago by rws

At this point nontrivial fails in the following files remain:

sage -t --long src/doc/en/constructions/calculus.rst  # 1 doctest failed
sage -t --long src/sage/algebras/commutative_dga.py  # 7 doctests failed
sage -t --long src/sage/coding/linear_code.py  # 1 doctest failed
sage -t --long src/sage/combinat/ncsf_qsym/qsym.py  # 1 doctest failed
sage -t --long src/sage/combinat/root_system/root_lattice_realization_algebras.py  # 1 doctest failed
sage -t --long src/sage/combinat/subset.py  # 1 doctest failed
sage -t --long src/sage/doctest/forker.py  # 1 doctest failed
sage -t --long src/sage/functions/piecewise.py  # 2 doctests failed
sage -t --long src/sage/libs/singular/groebner_strategy.pyx  # 1 doctest failed
sage -t --long src/sage/modular/modform_hecketriangle/abstract_ring.py  # 1 doctest failed
sage -t --long src/sage/rings/ideal.py  # 1 doctest failed
sage -t --long src/sage/rings/polynomial/multi_polynomial_ideal.py  # 1 doctest failed
sage -t --long src/sage/rings/polynomial/multi_polynomial_libsingular.pyx  # 5 doctests failed
sage -t --long src/sage/rings/polynomial/multi_polynomial_sequence.py  # 2 doctests failed
sage -t --long src/sage/rings/polynomial/plural.pyx  # 5 doctests failed
sage -t --long src/sage/rings/polynomial/polynomial_element.pyx  # 2 doctests failed
sage -t --long src/sage/rings/polynomial/polynomial_ring_constructor.py  # 2 doctests failed
sage -t --long src/sage/rings/quotient_ring.py  # 3 doctests failed
sage -t --long src/sage/rings/ring.pyx  # 1 doctest failed
sage -t --long src/sage/schemes/affine/affine_morphism.py  # 9 doctests failed
sage -t --long src/sage/schemes/affine/affine_point.py  # 4 doctests failed
sage -t --long src/sage/schemes/generic/algebraic_scheme.py  # 1 doctest failed
sage -t --long src/sage/schemes/product_projective/space.py  # 3 doctests failed
sage -t --long src/sage/schemes/projective/projective_morphism.py  # 9 doctests failed
sage -t --long src/sage/schemes/projective/projective_point.py  # 2 doctests failed
sage -t --long src/sage/structure/misc.pyx  # 1 doctest failed
sage -t --long src/sage/structure/parent_gens.pyx  # 1 doctest failed
sage -t --long src/sage/symbolic/expression_conversions.py  # 1 doctest failed
sage -t --long src/sage/symbolic/relation.py  # 3 doctests failed

comment:49 in reply to: ↑ 44 Changed 4 years ago by rws

Replying to jdemeyer:

Replying to rws:

Why do you change from public to private branch?

Because that's what happens by default when using the ./sage --dev scripts.

With git trac the default is to push to the branch you downloaded from.

Regarding that TODO list above, I completely underestimated what had amassed since Simon uploaded the patch. I will do work on rings/ next.

comment:50 Changed 4 years ago by git

  • Commit changed from 0534b9daea596531e8c6506e372dc718f23d0425 to 52b7f639fdc778d1d56615f2f1275fd3e01e0174

Branch pushed to git repo; I updated commit sha1. New commits:

d4f68b717407: more fixes
cb95eb5Merge branch 'public/17407' of trac.sagemath.org:sage into t/10483/public/10483-3
7a8970d10483: fix doctest fails in rings/poly/plural: normalize_names received non-strings
52b7f6310483: further fixes affecting doctests in rings/

comment:51 Changed 4 years ago by git

  • Commit changed from 52b7f639fdc778d1d56615f2f1275fd3e01e0174 to 58bc7051c72099f619b25ba91407fe2f2d6e5cbb

Branch pushed to git repo; I updated commit sha1. New commits:

58bc70510483: various fixes to prevent deprecation warnings in doctests

comment:52 Changed 4 years ago by rws

  • Status changed from needs_work to needs_review

There is still one fail that is unrelated and pops up only in bulk testing. As this is in a Cython file, I have some problems to resolve it. Can you help please?

File "src/sage/structure/misc.pyx", line 81, in sage.structure.misc.AttributeEr
rorMessage
Failed example:
    isinstance(ElementError.message, sage.structure.misc.AttributeErrorMessage)
Expected:
    True
Got:
    doctest:1: DeprecationWarning: BaseException.message has been deprecated as
 of Python 2.6
    True

comment:53 Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_work
sage -t --long src/sage/tests/french_book/mpoly.py
**********************************************************************
File "src/sage/tests/french_book/mpoly.py", line 273, in sage.tests.french_book.mpoly
Failed example:
    fig = add((eq(t=k/5)*QQ[x,y]).plot() for k in (-15..15))
Expected nothing
Got:
    doctest:867: DeprecationWarning: Variable name 'x' should be a string, but we obtained <type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
    doctest:867: DeprecationWarning: Variable name 'y' should be a string, but we obtained <type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
1 item had failures:
   1 of 148 in sage.tests.french_book.mpoly
    [147 tests, 1 failure, 6.33 s]
sage -t --long src/sage/tests/french_book/polynomes.py
**********************************************************************
File "src/sage/tests/french_book/polynomes.py", line 51, in sage.tests.french_book.polynomes
Failed example:
    x = polygen(QQ); y = polygen(QQ[x], 'y')
Expected nothing
Got:
    doctest:867: DeprecationWarning: Variable name 'x' should be a string, but we obtained <type 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
1 item had failures:
   1 of 108 in sage.tests.french_book.polynomes
    [107 tests, 1 failure, 1.13 s]
sage -t --long src/sage/structure/misc.pyx
**********************************************************************
File "src/sage/structure/misc.pyx", line 81, in sage.structure.misc.AttributeErrorMessage
Failed example:
    isinstance(ElementError.message, sage.structure.misc.AttributeErrorMessage)
Expected:
    True
Got:
    doctest:1: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
    True
**********************************************************************
1 item had failures:
   1 of  17 in sage.structure.misc.AttributeErrorMessage
    [52 tests, 1 failure, 1.67 s]
sage -t --long src/sage/modules/free_module_element.pyx
**********************************************************************
File "src/sage/modules/free_module_element.pyx", line 2479, in sage.modules.free_module_element.FreeModuleElement.pairwise_product
Failed example:
    parent(vector(ZZ[x],[1,2,3,4]).pairwise_product(vector(QQ,[1,2,3,4])))
Expected:
    Ambient free module of rank 4 over the principal ideal domain Univariate Polynomial Ring in x over Rational Field
Got:
    doctest:867: DeprecationWarning: Variable name 'x' should be a string, but we obtained <type 'sage.symbolic.expression.Expression'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
    Ambient free module of rank 4 over the principal ideal domain Univariate Polynomial Ring in x over Rational Field
**********************************************************************
File "src/sage/modules/free_module_element.pyx", line 2486, in sage.modules.free_module_element.FreeModuleElement.pairwise_product
Failed example:
    parent(vector(ZZ[x][y],[1,2,3,4]).pairwise_product(vector(QQ,[1,2,3,4])))
Expected:
    Ambient free module of rank 4 over the integral domain Univariate Polynomial Ring in y over Univariate Polynomial Ring in x over Rational Field
Got:
    doctest:867: DeprecationWarning: Variable name 'y' should be a string, but we obtained <type 'sage.symbolic.expression.Expression'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
    Ambient free module of rank 4 over the integral domain Univariate Polynomial Ring in y over Univariate Polynomial Ring in x over Rational Field
**********************************************************************
1 item had failures:
   2 of  32 in sage.modules.free_module_element.FreeModuleElement.pairwise_product
    [873 tests, 2 failures, 4.50 s]
sage -t --long src/sage/misc/latex.py
**********************************************************************
File "src/sage/misc/latex.py", line 1901, in sage.misc.latex.MathJax.__call__
Failed example:
    str(MathJax().eval(ZZ[x], mode='display')) == str(MathJax()(ZZ[x]))
Expected:
    True
Got:
    doctest:867: DeprecationWarning: Variable name 'x' should be a string, but we obtained <type 'sage.symbolic.expression.Expression'>.
    In an interactive session, you should use a definition of the form 'R.<x,y,z>=QQ[]'.
    See http://trac.sagemath.org/10483 for details.
    True
**********************************************************************

comment:54 Changed 4 years ago by jdemeyer

I might work more on this ticket, but not before #17406 and #17407 are merged.

comment:55 Changed 4 years ago by jdemeyer

Note that my repeated comments about the adding of str() have not yet been addressed.

Ideally, this patch would only deal with the deprecation of ZZ[x] and not with adding str() in so many places. In the one case I looked at, the fact that str() was needed was clearly a bug, and that's now #17406. For the other places where you are adding str(), you should also check whether the adding of str() is hiding a bug.

comment:56 follow-up: Changed 4 years ago by jdemeyer

To be clear: I'm not against adding str(), I am against adding of str() without justification.

comment:57 in reply to: ↑ 56 ; follow-up: Changed 4 years ago by rws

Replying to jdemeyer:

To be clear: I'm not against adding str(), I am against adding of str() without justification.

OK, you are right. For example, the case in coding/linear_code.py(3004) where the preconditions to weight_enumerator() state name2 - string or symbolic variable. Do we change the precondition to string instead of converting everything?

comment:58 in reply to: ↑ 57 Changed 4 years ago by jdemeyer

Replying to rws:

Do we change the precondition to string instead of converting everything?

Yes, that's indeed the right thing to do. It's much more in the spirit of this ticket.

comment:59 Changed 4 years ago by git

  • Commit changed from 58bc7051c72099f619b25ba91407fe2f2d6e5cbb to c0103274a38a2b37c187eb223bcecb76df615283

Branch pushed to git repo; I updated commit sha1. New commits:

c01032710483: doctest fixes; reimplementations to reduce ring var usage

comment:60 Changed 4 years ago by jdemeyer

What's with all the spacing changes in src/sage/rings/polynomial/plural.pyx? Please don't do that. It's fine to do a few corrections nearby edits that you're making anyway, but changing a whole file for no reason isn't right.

comment:61 Changed 4 years ago by jdemeyer

And like I said on #17407, I would keep the doctests for the french_book and just add the deprecation message.

comment:62 Changed 4 years ago by git

  • Commit changed from c0103274a38a2b37c187eb223bcecb76df615283 to 0d43d61df56f2e841f31ec985ba44361c951b573

Branch pushed to git repo; I updated commit sha1. New commits:

0d43d6110483: oops, roll back unintended changes

comment:63 Changed 2 years ago by git

  • Commit changed from 0d43d61df56f2e841f31ec985ba44361c951b573 to 756cd6501269432e6308f7f7693a9f4d7461da6b

Branch pushed to git repo; I updated commit sha1. New commits:

756cd65Merge branch 'develop' into t/10483/public/10483-3

comment:64 Changed 2 years ago by rws

  • Milestone changed from sage-6.4 to sage-7.6
  • Status changed from needs_work to needs_review

comment:65 Changed 2 years ago by git

  • Commit changed from 756cd6501269432e6308f7f7693a9f4d7461da6b to 31755f6d4838ee642965add2c48ed6f6fef51839

Branch pushed to git repo; I updated commit sha1. New commits:

31755f6Merge branch 'develop' into t/10483/public/10483-3

comment:66 Changed 2 years ago by jdemeyer

  • Status changed from needs_review to needs_work

Patchbot is not happy.

comment:67 Changed 2 years ago by jdemeyer

Also, there are some unintended files added. In order to clean up this mess, please squash and rebase.

comment:68 Changed 2 years ago by rws

  • Branch changed from public/10483-3 to public/10483-4

comment:69 Changed 2 years ago by rws

  • Commit changed from 31755f6d4838ee642965add2c48ed6f6fef51839 to 76f27e3477a06b448ff9ca03dae3b705e368a094
  • Milestone changed from sage-7.6 to sage-8.0
  • Status changed from needs_work to needs_review

New commits:

76f27e310483: Deprecate the misuse of symbolic variables as polynomial variable

comment:70 Changed 2 years ago by git

  • Commit changed from 76f27e3477a06b448ff9ca03dae3b705e368a094 to 946f9435e592c79150729c3de28e523cc8a29d7b

Branch pushed to git repo; I updated commit sha1. New commits:

946f94310483: fix doctests

comment:71 Changed 23 months ago by jdemeyer

  • Commit changed from 946f9435e592c79150729c3de28e523cc8a29d7b to 190391227d6129c50d82a10bf438f371c9c2c4e9

New commits:

1903912Merge tag '8.0.beta12' into t/10483/public/10483-4

comment:72 Changed 23 months ago by jdemeyer

  • Dependencies #17406, #17407 deleted

Merged latest beta.

comment:73 Changed 23 months ago by jdemeyer

  • Status changed from needs_review to needs_work

See 26 and 55

comment:74 Changed 23 months ago by jdemeyer

The very first file in the diff already has this problem:

diff --git a/src/sage/categories/rings.py b/src/sage/categories/rings.py
index 72c253a..27625b8 100644
--- a/src/sage/categories/rings.py
+++ b/src/sage/categories/rings.py
             # 2. Otherwise, try to return a polynomial ring
 
             from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
-            return PolynomialRing(self, elts)
+            return PolynomialRing(self, list(str(elt) for elt in elts))

comment:75 Changed 23 months ago by git

  • Commit changed from 190391227d6129c50d82a10bf438f371c9c2c4e9 to 3930917e0aad8cd3f62af6035eb0932311c1820d

Branch pushed to git repo; I updated commit sha1. New commits:

393091710483: fixes

comment:76 Changed 23 months ago by rws

My that was long ago. This commit is part of upcoming fixes, which leaves cfinite_sequence.py (much work, separate ticket if you insist on removing str()), rings/polynomial/flatten.py where I have no idea how to fix, and symbolic/expression.pyx (tomorrow).

comment:77 Changed 23 months ago by jdemeyer

In src/sage/coding/linear_code.py, I don't see why you have an explicit check. I would remove that and just let PolynomialRing() raise the exception.

comment:78 Changed 23 months ago by jdemeyer

Note that basestring does not exist in Python 3: use six.string_types instead. In Cython code, basestring is fine.

comment:79 follow-ups: Changed 23 months ago by jdemeyer

The function PolynomialRing() is really messy. It does too much checking which really should be delegated to normalize_names(). I feel like it would be better to fix this first in a separate ticket. I'm willing to do this, but then this ticket would need to be rebased on that. I also think that the deprecation warning from this ticket should really be in normalize_names() then. Thoughts?

comment:80 in reply to: ↑ 79 Changed 23 months ago by rws

Replying to jdemeyer:

I feel like it would be better to fix this first in a separate ticket. I'm willing to do this, but then this ticket would need to be rebased on that.

NP. Please go ahead.

comment:81 Changed 23 months ago by git

  • Commit changed from 3930917e0aad8cd3f62af6035eb0932311c1820d to a6374c814f3244f167c4e2bfb174f100007b7e3a

Branch pushed to git repo; I updated commit sha1. New commits:

a6374c810483: fixes

comment:82 Changed 23 months ago by rws

I wouldn't want to change anything in symbolic, after some thought.

comment:83 Changed 23 months ago by jdemeyer

OK, please stop working on this ticket for now. I will make some changes and split one or two tickets from this one.

comment:84 Changed 23 months ago by git

  • Commit changed from a6374c814f3244f167c4e2bfb174f100007b7e3a to 466e315e5496025ec65a2eb17201edc60f7c5de3

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

466e315Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:85 Changed 23 months ago by git

  • Commit changed from 466e315e5496025ec65a2eb17201edc60f7c5de3 to 4574f6633888af3f18e1b913553742ee6d16a21f

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f8f7b0dUse variable names instead of symbolic variables
4574f66Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:86 Changed 23 months ago by git

  • Commit changed from 4574f6633888af3f18e1b913553742ee6d16a21f to 495642cf7b5401610ada90311c01f7e07bee8129

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

495642cTrac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:87 Changed 23 months ago by jdemeyer

First step: I moved some non-controversial changes to a new ticket #23337. Those changes can be applied independently.

comment:88 Changed 23 months ago by jdemeyer

I'm still working on this, but I already have some comments:

  1. src/sage/matrix/matrix2.pyx: cyclic_subspace is explicitly documented to support variables as argument.
  1. src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py: smooth_critical_ideal is explicitly documented to support variables as argument.

comment:89 in reply to: ↑ 79 ; follow-ups: Changed 23 months ago by tscrim

Replying to jdemeyer:

The function PolynomialRing() is really messy. It does too much checking which really should be delegated to normalize_names(). I feel like it would be better to fix this first in a separate ticket. I'm willing to do this, but then this ticket would need to be rebased on that. I also think that the deprecation warning from this ticket should really be in normalize_names() then. Thoughts?

From a somewhat quick look, it doesn't seem like it is doing so much what normalize_names() is doing. Yes, some of it is there, but it also needs to know of what the input is before proceeding. So I don't see as good of a utility for normalize_names(). However, I am willing to review any such ticket.

comment:90 in reply to: ↑ 89 Changed 23 months ago by jdemeyer

Replying to tscrim:

From a somewhat quick look, it doesn't seem like it is doing so much what normalize_names() is doing. Yes, some of it is there, but it also needs to know of what the input is before proceeding. So I don't see as good of a utility for normalize_names(). However, I am willing to review any such ticket.

It's not just normalize_names(). It needs to be cleaned up in many ways. I opened #23338 and I'm working on that right now.

comment:91 in reply to: ↑ 89 Changed 23 months ago by jdemeyer

  • Dependencies set to #23337, #23338

After working on #23338 a bit, it seems that the PolynomialRing() constructor itself would not need to be changed in this ticket. I am using normalize_names() to deal with parsing the variable names. So this ticket would need to change normalize_names() instead of PolynomialRing().

comment:92 Changed 23 months ago by git

  • Commit changed from 495642cf7b5401610ada90311c01f7e07bee8129 to b9d365c77db5a504dd245bce2c7d2405aace0de8

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

b9d365cTrac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:93 Changed 23 months ago by jdemeyer

  • Dependencies changed from #23337, #23338 to #23337, #23338, #23343

comment:94 Changed 23 months ago by git

  • Commit changed from b9d365c77db5a504dd245bce2c7d2405aace0de8 to 218e1521afa9e0174e7b4624c0830fe86e586c6f

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

34d816fPut deprecation in normalize_names() for non-string variable names
5681e17f
218e152Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:95 Changed 23 months ago by jdemeyer

  • Dependencies changed from #23337, #23338, #23343 to #23337, #23338, #23343, #23377

comment:96 Changed 23 months ago by git

  • Commit changed from 218e1521afa9e0174e7b4624c0830fe86e586c6f to 41dcf096de137347253a517e7caabcdc7bdc5e61

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

02364bbPut deprecation in normalize_names() for non-string variable names
41dcf09Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:97 Changed 23 months ago by jdemeyer

  • Dependencies changed from #23337, #23338, #23343, #23377 to #23337, #23338, #23343, #23377, #23378

New commits:

02364bbPut deprecation in normalize_names() for non-string variable names
41dcf09Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:98 Changed 21 months ago by git

  • Commit changed from 41dcf096de137347253a517e7caabcdc7bdc5e61 to 000b9d13e56b5b6e3ca4895ca9c59a3a0a5faaa6

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

8108128Clean up MPolynomialRing_generic.completion
92bafe2Merge tag '8.1.beta2' into t/23377/clean_up_mpolynomialring_generic_completion
514ffffPut deprecation in normalize_names() for non-string variable names
000b9d1Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:99 Changed 21 months ago by jdemeyer

Rebased on top of #23377. This still needs work though, there are various failing doctests.

comment:100 Changed 21 months ago by jdemeyer

  • Dependencies changed from #23337, #23338, #23343, #23377, #23378 to #23337, #23338, #23343, #23377

comment:101 Changed 21 months ago by jdemeyer

All doctest failures in src/sage/rings:

sage -t src/sage/rings/qqbar.py
**********************************************************************
File "src/sage/rings/qqbar.py", line 3827, in sage.rings.qqbar.AlgebraicNumber_base.radical_expression
Failed example:
    a = QQ[x](x^7 - x - 1).roots(AA, False)[0]
Expected nothing
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.qqbar.AlgebraicNumber_base.radical_expression[3]>", line 1, in <module>
        a = QQ[x](x**Integer(7) - x - Integer(1)).roots(AA, False)[Integer(0)]
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/categories/rings.py", line 1075, in __getitem__
        return PolynomialRing(self, elts)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
1 item had failures:
   1 of  19 in sage.rings.qqbar.AlgebraicNumber_base.radical_expression
    [1395 tests, 1 failure, 10.66 s]
sage -t src/sage/rings/cfinite_sequence.py
**********************************************************************
File "src/sage/rings/cfinite_sequence.py", line 17, in sage.rings.cfinite_sequence
Failed example:
    fibo = CFiniteSequence(x/(1-x-x^2))        # the Fibonacci sequence
Expected nothing
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.cfinite_sequence[0]>", line 1, in <module>
        fibo = CFiniteSequence(x/(Integer(1)-x-x**Integer(2)))        # the Fibonacci sequence
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 329, in __classcall_private__
        parent = CFiniteSequences(QQ, variables)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 170, in CFiniteSequences
        return CFiniteSequences_generic(polynomial_ring, category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1021, in __classcall__
        instance = typecall(cls, *args, **options)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 933, in __init__
        CommutativeRing.__init__(self,base_ring, self._polynomial_ring.gens(), category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'>
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
File "src/sage/rings/cfinite_sequence.py", line 35, in sage.rings.cfinite_sequence
Failed example:
    CFiniteSequence(y/(1-y-y^2))
Expected:
    C-finite sequence, generated by y/(-y^2 - y + 1)
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.cfinite_sequence[10]>", line 1, in <module>
        CFiniteSequence(y/(Integer(1)-y-y**Integer(2)))
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 329, in __classcall_private__
        parent = CFiniteSequences(QQ, variables)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 170, in CFiniteSequences
        return CFiniteSequences_generic(polynomial_ring, category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1021, in __classcall__
        instance = typecall(cls, *args, **options)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 933, in __init__
        CommutativeRing.__init__(self,base_ring, self._polynomial_ring.gens(), category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name y should be a string, not <type 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'>
    See http://trac.sagemath.org/10483 for details.
    C-finite sequence, generated by y/(-y^2 - y + 1)
**********************************************************************
File "src/sage/rings/cfinite_sequence.py", line 212, in sage.rings.cfinite_sequence.CFiniteSequence
Failed example:
    CFiniteSequence(1/(1-X))
Expected:
    C-finite sequence, generated by 1/(-X + 1)
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.cfinite_sequence.CFiniteSequence[8]>", line 1, in <module>
        CFiniteSequence(Integer(1)/(Integer(1)-X))
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 329, in __classcall_private__
        parent = CFiniteSequences(QQ, variables)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 170, in CFiniteSequences
        return CFiniteSequences_generic(polynomial_ring, category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1021, in __classcall__
        instance = typecall(cls, *args, **options)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 933, in __init__
        CommutativeRing.__init__(self,base_ring, self._polynomial_ring.gens(), category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name X should be a string, not <type 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'>
    See http://trac.sagemath.org/10483 for details.
    C-finite sequence, generated by 1/(-X + 1)
**********************************************************************
File "src/sage/rings/cfinite_sequence.py", line 919, in sage.rings.cfinite_sequence.CFiniteSequences_generic.__init__
Failed example:
    C.<x> = CFiniteSequences(ZZ); C
Expected:
    The ring of C-Finite sequences in x over Integer Ring
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.cfinite_sequence.CFiniteSequences_generic.__init__[2]>", line 1, in <module>
        C = CFiniteSequences(ZZ, names=('x',)); (x,) = C._first_ngens(1); C
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 170, in CFiniteSequences
        return CFiniteSequences_generic(polynomial_ring, category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1021, in __classcall__
        instance = typecall(cls, *args, **options)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/cfinite_sequence.py", line 933, in __init__
        CommutativeRing.__init__(self,base_ring, self._polynomial_ring.gens(), category)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
    See http://trac.sagemath.org/10483 for details.
    The ring of C-Finite sequences in x over Integer Ring
**********************************************************************
File "src/sage/rings/cfinite_sequence.py", line 1104, in sage.rings.cfinite_sequence.CFiniteSequences_generic._coerce_map_from_
Failed example:
    C.has_coerce_map_from(QQ[x])
Expected:
    True
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.cfinite_sequence.CFiniteSequences_generic._coerce_map_from_[3]>", line 1, in <module>
        C.has_coerce_map_from(QQ[x])
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/categories/rings.py", line 1075, in __getitem__
        return PolynomialRing(self, elts)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'>
    See http://trac.sagemath.org/10483 for details.
    True
**********************************************************************
4 items had failures:
   2 of  21 in sage.rings.cfinite_sequence
   1 of  24 in sage.rings.cfinite_sequence.CFiniteSequence
   1 of   6 in sage.rings.cfinite_sequence.CFiniteSequences_generic.__init__
   1 of   6 in sage.rings.cfinite_sequence.CFiniteSequences_generic._coerce_map_from_
    [257 tests, 5 failures, 2.66 s]
sage -t src/sage/rings/polynomial/polynomial_ring.py
**********************************************************************
File "src/sage/rings/polynomial/polynomial_ring.py", line 397, in sage.rings.polynomial.polynomial_ring.PolynomialRing_general.?
Failed example:
    QQbar[x](x^6+x^5+x^4-x^3+x^2-x+2/5)
Expected:
    x^6 + x^5 + x^4 - x^3 + x^2 - x + 2/5
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.polynomial_ring.PolynomialRing_general.?[33]>", line 1, in <module>
        QQbar[x](x**Integer(6)+x**Integer(5)+x**Integer(4)-x**Integer(3)+x**Integer(2)-x+Integer(2)/Integer(5))
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/categories/rings.py", line 1075, in __getitem__
        return PolynomialRing(self, elts)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
    x^6 + x^5 + x^4 - x^3 + x^2 - x + 2/5
**********************************************************************
1 item had failures:
   1 of  35 in sage.rings.polynomial.polynomial_ring.PolynomialRing_general.?
    [416 tests, 1 failure, 1.94 s]
sage -t src/sage/rings/multi_power_series_ring_element.py
**********************************************************************
File "src/sage/rings/multi_power_series_ring_element.py", line 1041, in sage.rings.multi_power_series_ring_element.MPowerSeries._l_action_
Failed example:
    g = f._l_action_(1/2); g
Expected:
    1/2 + 1/2*s + 1/2*t + 1/2*s*t + O(s, t)^3
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.multi_power_series_ring_element.MPowerSeries._l_action_[2]>", line 1, in <module>
        g = f._l_action_(Integer(1)/Integer(2)); g
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/multi_power_series_ring_element.py", line 1062, in _l_action_
        new_parent = PowerSeriesRing(f.base_ring().base_ring(), num_gens = f.base_ring().ngens(), names = f.base_ring().gens())
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/power_series_ring.py", line 338, in PowerSeriesRing
        order=order, default_prec=default_prec, sparse=sparse)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/power_series_ring.py", line 418, in _multi_variate
        names = normalize_names(num_gens, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name s should be a string, not <type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular'>
    See http://trac.sagemath.org/10483 for details.
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.multi_power_series_ring_element.MPowerSeries._l_action_[2]>", line 1, in <module>
        g = f._l_action_(Integer(1)/Integer(2)); g
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/multi_power_series_ring_element.py", line 1062, in _l_action_
        new_parent = PowerSeriesRing(f.base_ring().base_ring(), num_gens = f.base_ring().ngens(), names = f.base_ring().gens())
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/power_series_ring.py", line 338, in PowerSeriesRing
        order=order, default_prec=default_prec, sparse=sparse)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/power_series_ring.py", line 418, in _multi_variate
        names = normalize_names(num_gens, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name t should be a string, not <type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular'>
    See http://trac.sagemath.org/10483 for details.
    1/2 + 1/2*s + 1/2*t + 1/2*s*t + O(s, t)^3
**********************************************************************
1 item had failures:
   1 of  10 in sage.rings.multi_power_series_ring_element.MPowerSeries._l_action_
    [456 tests, 1 failure, 1.26 s]
sage -t src/sage/rings/polynomial/polynomial_ring_constructor.py
**********************************************************************
File "src/sage/rings/polynomial/polynomial_ring_constructor.py", line 400, in sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing
Failed example:
    PolynomialRing(ZZ, [x, singular])
Expected:
    Multivariate Polynomial Ring in x, Singular over Integer Ring
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing[62]>", line 1, in <module>
        PolynomialRing(ZZ, [x, singular])
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing[62]>", line 1, in <module>
        PolynomialRing(ZZ, [x, singular])
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name Singular should be a string, not <class 'sage.interfaces.singular.Singular'>
    See http://trac.sagemath.org/10483 for details.
    Multivariate Polynomial Ring in x, Singular over Integer Ring
**********************************************************************
File "src/sage/rings/polynomial/polynomial_ring_constructor.py", line 405, in sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing
Failed example:
    B = PolynomialRing(ZZ, name=t)
Expected nothing
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing[65]>", line 1, in <module>
        B = PolynomialRing(ZZ, name=t)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 583, in PolynomialRing
        names = normalize_names(n, names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name t should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
1 item had failures:
   2 of  93 in sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing
    [116 tests, 2 failures, 0.54 s]
sage -t src/sage/rings/multi_power_series_ring.py
**********************************************************************
File "src/sage/rings/multi_power_series_ring.py", line 730, in sage.rings.multi_power_series_ring.MPowerSeriesRing_generic._coerce_map_from_
Failed example:
    M._coerce_map_from_(PowerSeriesRing(ZZ,x))
Expected:
    True
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.multi_power_series_ring.MPowerSeriesRing_generic._coerce_map_from_[12]>", line 1, in <module>
        M._coerce_map_from_(PowerSeriesRing(ZZ,x))
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/power_series_ring.py", line 374, in PowerSeriesRing
        name = normalize_names(1, name)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
    True
**********************************************************************
1 item had failures:
   1 of  25 in sage.rings.multi_power_series_ring.MPowerSeriesRing_generic._coerce_map_from_
    [225 tests, 1 failure, 0.89 s]
sage -t src/sage/rings/quotient_ring.py
**********************************************************************
File "src/sage/rings/quotient_ring.py", line 283, in sage.rings.quotient_ring.QuotientRing
Failed example:
    Q = P.quotient(P*[a*b],[x,singular])
Expected:
    doctest:...: DeprecationWarning: Variable name 'x' should be a string, but we obtained <type 'sage.symbolic.expression.Expression'>.
    In an interactive session, you should use a definition of the form 'Q.<x,y,z>=R.quo(I)'.
    See http://trac.sagemath.org/10483 for details.
    ...
Got:
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.quotient_ring.QuotientRing[43]>", line 1, in <module>
        Q = P.quotient(P*[a*b],[x,singular])
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/quotient_ring.py", line 307, in QuotientRing
        names = normalize_names(R.ngens(), names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name x should be a string, not <type 'sage.symbolic.expression.Expression'>
    See http://trac.sagemath.org/10483 for details.
    doctest:warning
      File "/usr/local/src/sage-config/src/bin/sage-runtests", line 98, in <module>
        err = DC.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1150, in run
        self.run_doctests()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/control.py", line 874, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1774, in dispatch
        self.parallel_dispatch()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1664, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1940, in start
        super(DocTestWorker, self).start()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 130, in start
        self._popen = Popen(self)
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/forking.py", line 126, in __init__
        code = process_obj._bootstrap()
      File "/usr/local/src/sage-config/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1913, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 2215, in __call__
        result = runner.run(test)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 660, in run
        return self._run(test, compileflags, out)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.quotient_ring.QuotientRing[43]>", line 1, in <module>
        Q = P.quotient(P*[a*b],[x,singular])
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/rings/quotient_ring.py", line 307, in QuotientRing
        names = normalize_names(R.ngens(), names)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 101, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/misc/superseded.py", line 142, in warning
        warn(message, warning_class, stacklevel)
    :
    DeprecationWarning: variable name Singular should be a string, not <class 'sage.interfaces.singular.Singular'>
    See http://trac.sagemath.org/10483 for details.
**********************************************************************
1 item had failures:
   1 of  45 in sage.rings.quotient_ring.QuotientRing
    [284 tests, 1 failure, 0.87 s]
----------------------------------------------------------------------
sage -t src/sage/rings/qqbar.py  # 1 doctest failed
sage -t src/sage/rings/cfinite_sequence.py  # 5 doctests failed
sage -t src/sage/rings/polynomial/polynomial_ring.py  # 1 doctest failed
sage -t src/sage/rings/multi_power_series_ring_element.py  # 1 doctest failed
sage -t src/sage/rings/polynomial/polynomial_ring_constructor.py  # 2 doctests failed
sage -t src/sage/rings/multi_power_series_ring.py  # 1 doctest failed
sage -t src/sage/rings/quotient_ring.py  # 1 doctest failed
----------------------------------------------------------------------

comment:102 Changed 21 months ago by jdemeyer

As discussed in some other ticket (I don't remember which), I want to require that names are of type str, as opposed to six.string_types which would include unicode in Python 2. This is mainly to keep the code simpler and because I see no advantage to allowing both str and unicode on Python 2.

comment:103 Changed 21 months ago by jdemeyer

  • Dependencies changed from #23337, #23338, #23343, #23377 to #23337, #23338, #23343, #23377, #23638

comment:104 Changed 21 months ago by git

  • Commit changed from 000b9d13e56b5b6e3ca4895ca9c59a3a0a5faaa6 to 43193750841c4caf509c9825afc72c398b6ef7b1

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

635b5f9Trac #10483: deprecate the misuse of symbolic variables as polynomial variable
45b6e82Minor fixes
bb7d9a8Put deprecation in normalize_names() for non-string variable names
4319375Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:105 Changed 21 months ago by git

  • Commit changed from 43193750841c4caf509c9825afc72c398b6ef7b1 to a0e35696c1c6e82575035e573ff726f9e81c3df8

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

139abc8Trac #10483: deprecate the misuse of symbolic variables as polynomial variable
40f62c0Minor fixes
51ba1dfPut deprecation in normalize_names() for non-string variable names
a0e3569Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:106 Changed 21 months ago by jdemeyer

  • Authors changed from Simon King, Ralf Stephan to Simon King, Ralf Stephan, Jeroen Demeyer
  • Description modified (diff)

comment:107 Changed 21 months ago by git

  • Commit changed from a0e35696c1c6e82575035e573ff726f9e81c3df8 to 24e21d8ebe3e0d781f7775a17b9007faddac870e

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

24e21d8Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:108 Changed 21 months ago by jdemeyer

Since the deprecation has now moved to normalize_names, I removed the added doctests in linear_code.py and quotient_ring.py which test the deprecation.

comment:109 Changed 21 months ago by git

  • Commit changed from 24e21d8ebe3e0d781f7775a17b9007faddac870e to 938beb01e0dd296790dc2748f99f0e5a0ed4ce26

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

938beb0Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:110 Changed 21 months ago by jdemeyer

  • Dependencies changed from #23337, #23338, #23343, #23377, #23638 to #23337, #23338, #23343, #23377, #23638, #23640

New commits:

938beb0Trac #10483: deprecate the misuse of symbolic variables as polynomial variable

comment:111 Changed 21 months ago by jdemeyer

I'm going to leave this ticket be for now. So, if other people want to fix things, please go ahead.

Note: See TracTickets for help on using tickets.