#17673: Make NamedBinopMethod remember the name and module
----------------------------+----------------------------------------------
       Reporter:            |        Owner:
  vdelecroix                |       Status:  positive_review
           Type:            |    Milestone:  sage-duplicate/invalid/wontfix
  enhancement               |   Resolution:
       Priority:  major     |    Merged in:
      Component:  coercion  |    Reviewers:
       Keywords:            |  Work issues:
        Authors:            |       Commit:
Report Upstream:  N/A       |     Stopgaps:
         Branch:            |
   Dependencies:            |
----------------------------+----------------------------------------------
Changes (by vdelecroix):

 * status:  needs_review => positive_review
 * author:  Vincent Delecroix =>
 * branch:  public/17673 =>
 * milestone:  sage-6.5 => sage-duplicate/invalid/wontfix
 * commit:  7d2009c7539cb638e492e0518f4dc11cc7f1d34c =>
 * type:  defect => enhancement


Old description:

> Currently
> {{{
> sage: from sage.structure.element import coerce_binop
> sage: @coerce_binop
> ....: def f(a,b): return a+b
> sage: f.__module__
> Traceback (most recent call last):
> ...
> AttributeError: ...
> sage: f.__name__
> Traceback (most recent call last):
> ...
> AttributeError: ...
> }}}
> and with the branch
> {{{
> sage: from sage.structure.element import coerce_binop
> sage: @coerce_binop
> ....: def f(a,b): return a+b
> sage: f.__module__
> '__main__'
> sage: f.__name__
> 'f'
> }}}

New description:

 Currently
 {{{
 sage: from sage.structure.element import coerce_binop
 sage: @coerce_binop
 ....: def f(a,b): return a+b
 sage: f.__module__
 Traceback (most recent call last):
 ...
 AttributeError: ...
 sage: f.__name__
 Traceback (most recent call last):
 ...
 AttributeError: ...
 }}}
 and with the branch
 {{{
 sage: from sage.structure.element import coerce_binop
 sage: @coerce_binop
 ....: def f(a,b): return a+b
 sage: f.__module__
 '__main__'
 sage: f.__name__
 'f'
 }}}

 That way methods with this decorator will looks like method. In particular
 it will not break introspection (e.g. access to the documentation with ?
 and to the source code with ??).

--

Comment:

 It seems that I had a bug on my computer since the introspection is
 perfectly fine without this... obscure!

--
Ticket URL: <http://trac.sagemath.org/ticket/17673#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to