I just discovered something puzzling with lazyimport: if I import the 
classes below with

from test_doc import *

I have the following (desirable) behaviour:

* Instance1?  gives me the "Generic" class docstring together with the 
__init__ docstring of Instance1
* Instance2? gives me the "Generic" class docstring together with the 
__init__ docstring of Generic
* Instance3? gives me twice the __init__ docstring of the "Generic" class

However, if the classes are imported using lazy_import, I get only the 
Generic class docstring.

Why is that?  Is there something that can be done about it?

Martin


############ test_doc.py ####################
from sage.structure.sage_object import SageObject
class Generic(SageObject):
    """
    Initialise a generalized Schensted growth diagram ...

    INPUT:
    - ``filling``

    .. automethod:: _forward_rule
    """
    def __init__(self):
        """
        Hints for implementing your own class
        """
        pass

class Instance1(Generic):
    __doc__ = Generic.__doc__
    def __init__(self):
        """
        This is the greatest growth diagram ever
        """
        pass

    def _forward_rule(self, a,b,c):
        """
        Euler invented it!
        """
        pass

class Instance2(Generic):
    __doc__ = Generic.__doc__

class Instance3(Generic):
    pass

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

Reply via email to