Ticket #1051 (new defect)

Opened 19 months ago

Format directives paremeter checking.

Reported by: stassats Owned by:
Priority: normal Milestone:
Component: other Version: trunk
Keywords: Cc:

Description

Several categories of undesirable behavior:

(format t "~v*" 1.2 2) =>
 The value #<BOGUS object @ #x3F99999A00000009> is not of the expected type SINGLE-FLOAT.
(format t "~v|" 'a) => 
infinite loop outputting ^L
(format t "~,,3^") => 
The value NIL is not of the expected type (OR REAL CHARACTER).

Too many arguments in call to #<Compiled-function ... (Non-Global) #x30000052729F>

while others display

  Too many parameters
 "~,,,,,,,,a~"
           ^
(format t "~,,%")
(format t "~,,c")
(format t "~,,~")
(format t "~,,&")
(format t "~,,,,^")
(format t "~,,[]" )
(format t "~,?")
(format t "~,_")
(format t "~,(~)")

Stack overflow:

(format t "~vf" 3.0 2)
(format t "~,vf" 3.0 2)
(format t "~,vg" 3.0 2)
(format t "~,ve" 3.0 2)
(format t "~v$" 3.0 2)

A derived number is being referenced in the error message, might be confusing.

(format t "~,,vg" 3.0 2) => 5.0
(format t "~,,ve" 3.0 2) =>  2.0
(format t "~,v$" 3.0 2) => -6.0
(format t "~,,v$" 3.0 2) => -1.0
Note: See TracTickets for help on using tickets.