On 11/10/24 3:39 PM, Tomas Volf wrote:
Hello,
when reading the documentation for (ice-9 format), this part of
description of ~c caught my eye:
If the charnum parameter is given then an argument is not taken but
instead the character is (integer->char charnum) (see
Characters). This can be used for instance to output characters given
by their ASCII code.
I wanted to give it a try, so I took the example from documentation and
run it in a REPL.
--8<---cut here---start->8---
scheme@(guile-user)> ,use (ice-9 format)
scheme@(guile-user)> (format #f "~65c")
;;; :29:0: warning: "~65c": wrong number of `format' arguments: expected
1, got 0
$7 = "A"
--8<---cut here---end--->8---
So, it does indeed return "A", however is also prints a warning. Am I
doing something wrong? Or is the documentation out-dated and `charnum'
parameter should be used in a different way?
Have a nice day,
Tomas
This looks like a bug in the compiler to me.
For example, check the `format-analysis' procedure in
language/tree-il/analyze.scm
try this: (apply format #f "~65c" '())
Matt