|
From: Ethan M. <merritt@u.washington.edu> - 2008-05-22 18:15:43
|
On Thursday 22 May 2008 10:25, Thomas Sefzick wrote: > > On the other hand, it's possible that by now we have > > wrapped almost all of the terminal calls originating from > > the core code in calls to draw_clip_line() and clip_move(), > > clip_point(), and so on. It might well be worth the effort > > to find and fix the few remaining cases. > > there seem to be many remaining cases in gnuplot/src: > > grep clip_move *.[ch] | wc > 14 50 542 > grep clip_vector *.[ch] | wc > 14 50 569 > > versus > > grep -- "->move" *.[ch] | wc > 105 590 5121 > grep -- "->vector" *.[ch] | wc > 151 875 7338 > > would it be enough to replace every (*t->vector) with clip_vector, > and every (*t->move) with clip_move ? > or would it need extensive testing? No, it takes more than that. For one thing, you have to set the clipping boundaries. Some operations are clipped against the plot boundaries; some are clipped against the screen. Some terminals (postscript, mostly) still insist on drawing outside the clipping area for backwards compatibility. The documentation warns that this may eventually change to hard clipping, but we don't have a consensus on that issue I think. If your version of the simple fix to b_vector() passes muster, let's leave it at that for now. Could you test it by running all.dem through 'set term pbm size 1.0,0.5 large' or something like that? If it segfaults, we've still got a problem. -- Ethan A Merritt |