On Wed, Dec 28, 2011 at 13:18, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> Thanks for all the new info! I don't think that it's a bytcode problem. > I start to wonder if it's in number parsing... > > On line 1102 of "src/racket/src/numstr.c", there's a call to STRTOD(). > Does it change anything if you wrap that call with calls to > scheme_push_c_numeric_locale() and scheme_pop_c_numeric_locale(loc)?: > > { > GC_CAN_IGNORE char *loc; > loc = scheme_push_c_numeric_locale(); > d = STRTOD(ffl_buf, &ptr); > scheme_pop_c_numeric_locale(loc); > } > It works! Though: I downloaded the nightly Unix sources, and did: mkdir build cd build ../configure make But no drracket executable appears (did I do something wrong?). So I did: gracket/gracket3m and it took a full minute with 100% CPU to start (same for simply racket3m). Then Welcome to Racket v5.2.0.7. This is a simple window for evaluating Racket expressions. Quit now and run DrRacket to get a better window. The current input port always returns eof. > .3 0.3 > In case this does not completely solve the issue, here is another minimalistic interesting interaction in the buggy gracket: Welcome to Racket v5.2.0.6. This is a simple window for evaluating Racket expressions. Quit now and run DrRacket to get a better window. The current input port always returns eof. > .3 0.0 > 3.3 3.0 > .3 0.3 So it seems that it's the fact that using a >= 1 floating point number make the bug go away. Anyway, I hope this does solves the issue! Thank you very much, Laurent
_________________________ Racket Developers list: http://lists.racket-lang.org/dev