Michael Sperber <sperber@informatik.uni-tuebingen.de> writes:
> >>>>> "stktrc" == stktrc <stktrc@yahoo.com> writes:
>
> stktrc> Shouldn't the following two code snippets produce the same output in
> stktrc> Functional PostScript (1.0)?
>
> I guess you're right. I'll keep it in the queue as a test for FPS 2.0.
Now I've had a closer look at it, and believe I have found out what
causes the problem. I believe it is a case of a cached value being
reused that isn't correct anymore.
The problem can be worked around by commenting out the line that uses
the cache so that the starting point is always recalculated. See
patch below. This makes all my test cases give the expected results.
*** fps.ask.scm.orig Wed Nov 19 07:58:48 2003
--- fps.ask.scm Sun Nov 23 12:15:19 2003
***************
*** 313,319 ****
((stroke-outline-path? obj) (loop (stroke-outline-path:path obj)
TM))
((composite? obj) (loop (first-in-composite obj) TM))
! ((instance? obj) (or (instance:start-pt obj)
(let ((start (loop (instance:obj obj)
(matrix*
(instance:TM obj)
TM))))
--- 315,321 ----
((stroke-outline-path? obj) (loop (stroke-outline-path:path obj)
TM))
((composite? obj) (loop (first-in-composite obj) TM))
! ((instance? obj) (or ;(instance:start-pt obj)
(let ((start (loop (instance:obj obj)
(matrix*
(instance:TM obj)
TM))))
|