1 Aug 01:37
Re: Serious bug in 3.10
Igor Stasenko <siguctua <at> gmail.com>
2008-07-31 23:37:39 GMT
2008-07-31 23:37:39 GMT
2008/8/1 Ramon Leon <ramon.leon <at> allresnet.com>: > >> askoh wrote: >> > | block | >> > block := [:i | Transcript cr; show: i]. >> > 1 to: 10 do: [:i | block value: i+1] >> > >> > The above should print ten times. But it only prints the >> five even numbers. >> > That is a bug isn't it? >> > >> > Aik-Siong Koh >> > >> More of a "known limitation" than a bug... due to the fact >> that squeak >> does not have proper closures. >> >> try >> >> | block | >> block := [:j | Transcript cr; show: j]. >> 1 to: 10 do: [:i | block value: i+1] >> >> Keith > > I was going to say that, but why does it work using (1 to: 10) do: rather > than 1 to: 10 do:, seems related to #to:do: being inlined? > #to:do: is a hacky compiler optimization, which replaces true messages. :)(Continue reading)
Yoshiki Ohshima yoshiki at vpri.org
Thu Jul 31 22:45:58 UTC 2008
> > In the Squeak world, it is ok if it works^^;
>
> I know. But I doesn't quite.
> TTCFont>>ascent has a code hole
> that leads to infinite recursion under certain conditions.
> There are several different versions of TTCFont>>ascent.
> AFAIK all the ones currently in use including oplc/3.8 have this property.
> Ralph Johnson patched around this in 3.10.
> To prevent the certain condition, fallback fonts are limited to strikefonts.
> IMO this is unsatisfactory and undesirable.
Youshiki:> Could you tell me the certain condition?
See Mantis:
0006664: TTCFont>ascent can be infinitely recursive.
RSS Feed