Hi,
durings some work on the unification of linestyle options I found the 
following little bug:

var('y')
plot_vector_field((sin(x), cos(y)), (x,-3,3), (y,-3,3),linestyle='dotted')

crashes with a "maximum recursion depth" error. 

One would however expect that it prints out a warning, that the linestyle 
option is ignored, togehter with a lis of the allowed options.

The reason for this problem is simple: .options() checks whether there are 
unknown options and if this is the case prints a warning. While printing 
this it calls ._repr_. Unfortunately in .plot_field.py the function 
._repr_() calls options again which reates the infinite loop:

   def _repr_(self):
        """
        String representation of PlotField graphics primitive.

        EXAMPLES::

            sage: x,y = var('x,y')
            sage: P=plot_vector_field((sin(x), cos(y)), (x,-3,3), (y,-3,3))
            sage: P[0]
            PlotField defined by a 20 x 20 vector grid
        """
        return "PlotField defined by a %s x %s vector grid"%(self.options()[
'plot_points'], self.options()['plot_points'])


I would propose openig a ticket and uploading a patch which replaces
self.options()
by
self._options

However being completely unexperienced with fixing bugs in sage I wanted to 
mail it to the list first and ask whether some more experienced developpers 
see some problems, better solutions or other functions that could be 
affacted.

Thanks for your feed-back

Tobi


-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to