Ticket #889 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

certain symbols with print names like floats cause printer error

Reported by: JohnCarroll Owned by:
Priority: normal Milestone:
Component: other Version: 1.7
Keywords: printing symbols Cc:

Description

Simple test case, in 1.7-r14925M (DarwinX8664):

(print '|40s40|)

Error: FLOATING-POINT-OVERFLOW detected

performing SCALE on (0 363797880709171295166015625000 40)

While executing: CCL::FLOAT-AND-SCALE-AND-ROUND, in process listener(1).

The error comes from %parse-number-token, which tries too hard to actually create a float which could have the same printed representation as the symbol print name.

Change History

comment:1 Changed 3 years ago by JohnCarroll

A couple of further, related test cases which also show this defect:

(print '|1000000000000000000000000000000000000000.0|)

(print '|300/000|)

comment:2 Changed 3 years ago by gb

  • Status changed from new to closed
  • Resolution set to fixed

(In [15023]) WRITE-PNAME: if the call to %PARSE-NUMBER-TOKEN signals an ARITHMETIC-ERROR, treat it as if it succeeded (e.g., the pname has number syntax/would be read as a potential number, even if it's not representable.)

Fixes ticket:889 in the trunk.

Note: See TracTickets for help on using tickets.