Hi André and Michael,
On 14.07.11, André Wobst wrote:
> > On 07/07/11, André Wobst wrote:
> >> The float comparisions should probably use an epsilon. In
> >> _mp_make_choices the comparisons look similar to the epsilon we have
> >> in normpath (epsilon in units of pt). This epsilon could be a
> >> parameter of the path, defaulting to 1e-5pt. However, this would
> >> mean you can't use *elems to receive the list of elements. Instead
> >> path should take a list of elements. We had this issue at other
> >> places as well and resolved it by using lists. I suggest to do it
> >> here too.
> > Yes, there should certainly be an epsilon. I must think about it and
> > see where to include it. It will take a little while because I have to
> > understand the different cases in the code. It will, however, be a
> > pity to loose the *elems notation, because it is very similar to the
> > path construction at the moment.
> Right, but compared to similar situations in PyX the path constructor is already feels inconsistent. We had a great discussion years ago whether it we should use lists explicitly or multiple arguments instead. An example are the stroke and fill methods. The styles as a single parameter and thus require to be a list. We do this almost always that way nowadays with the path constructor being a (bad) exception. I would not mind to change that even though our users will likely be annoyed. (For the path we could accept the old style for some period of time printing a deprecation warning.) Anyway, I do not consider this to be a good argument that we should not require a list explicitly instead of multiple arguments.
Yes, the way this is currently done in the path constructor is really
a relict, in my opinion. I would not mind changing that even before
the big cleanup - in the way proposed by André.
If we decide to not do that, we should keep consistency of different
path constructors, however.