This patch implements the ideas outlined in my response to Mike Gran's recent post entitled "Effects of updated number fixes on parsing". In brief, it modifies scm_i_string_to_number to apply exactness specifiers to each component _before_ calling scm_make_rectangular or scm_make_polar, as is done in PLT Scheme. Previously, the exactness specifiers were applied to the complex number itself. It also arranges for 0.0@+inf.0 and 0.0@+nan.0 to become 0.0+0.0i instead of +nan.0+nan.0, by changing scm_c_make_polar. Previously, all of the examples below were parsed as 0.0. The table below shows the new behavior: #i0@9 : -0.0+0.0i #i0@+9 : -0.0+0.0i #i0@-9 : -0.0-0.0i #i0@+nan.0 : 0.0+0.0i #i0@+inf.0 : 0.0+0.0i #i0@-nan.0 : 0.0+0.0i #i0@-inf.0 : 0.0+0.0i For more details, see the commit log entry. Best, Mark