Andre Poenitz wrote:
On Wed, Apr 16, 2008 at 03:38:00PM -0400, Richard Heck wrote:
> And sometimes that works. But it's also true, as many of us, I think, have
> experienced, that it isn't always easy to get feedback. For example, Andre
> recently criticized some of the changes I made to InsetCommandParams. In
> fact, I think he was right to do so and that there is a better way, but:
> (a) The ideas I implemented were ones that had originally been suggested to
> me on the list and discussed openly; (b) before proceeding, I posted
> several messages concerning general design questions and got almost no
> response (silence is assent); and (c) I posted at least many of the patches
> on the list before committing them. Now, to be sure, we can't all read
> everything, but it is frustrating to try to get feedback, not get it, and
> then later be criticized.
I did not criticize the process, and I think I did comment in the
discussion on the alieness of the approach, but I was not too concerned
about it as it seemed to be a fairly isolated change. My "non-opinion"
changed as soon as this new architectural detail was used as an argument
against a conceptually unrelated feature.
Well, as I said, ultimately you were right, and the argument made by
Georg was wrong. What convinced me was your insistence that we not "fake
inheritance", and that's what the current architecture forced me to do.
It's what we were already doing, in fact. I don't think now is the time
to re-work all of that along the lines you suggested, but I plan to do
so early in the 1.7 development cycle.
I'd have to go back and look at the emails, but I also remember that there
was some discussion of how this should be implemented. I think that Jose
raised objections way back then that were not very different form the ones
he raised just recently, and I don't think there really was a resolution,
but I guess Bo felt he could proceed, and did. But then just a month or so
ago, he completely changed the implementation, in ways that intruded
significantly on the inset code, and there was NO discussion of that.
Wasn't the affected inset code mainly parameter handling, which, in
turn was not exactly of ancient make?
No, there were (are) other changes, too. The original patch had very
little (maybe even no) inset specific code in it. But my main concern
was that the embedding feature was, in effect, spread all over the code.
I can only say this on the basis of having tried to figure it out. The
way the embedding code was mixed up with the parameter handling was just
the first, and most obvious, way in which encapsulation had been
violated. The changes I'd made to parameter handling had nothing to do
with it. The same bugs would have been created had I not made those
changes; they would in fact have been there even if we did ICP the way
you have (rightly) suggested we should.
Richard