GNU bug report logs -
#18299
Analyzer issues warning with ~:p expansion of ‘format’
Previous Next
Full log
View this message in rfc822 format
Hello Guile developers,
I was trying this:
(use-modules (ice-9 format))
(format #t "~d block~:p~%" 1) ;; and 0, and 2 etc...
This triggers a warning about the format-string argument count:
;;; <stdin>:3:0: warning: "~d block~:p~%": wrong number of `format'
arguments: expected 2, got 1
The manual says this about "~:p":
~:p re-uses the preceding argument instead of taking a new
one, which can be convenient when printing some sort of count.
(format #t "~d cat~:p" 9) ⊣ 9 cats
(format #t "~d pupp~:@p" 5) ⊣ 5 puppies
I was looking at the code, and it appears that the warning is triggered
in "module/language/tree-il/analyze.scm" in ‘format-analysis’ and more
precisely in ‘check-format-args’, due to the lack of support for "~:p"
and presumably "~:@p" in ‘format-string-argument-count’.
Regards, Frank
--
In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
-- RFC 1925
This bug report was last modified 10 years and 270 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.