bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18299: Analyzer issues warning with ~:p expansion of ‘format’


From: Frank Terbeck
Subject: bug#18299: Analyzer issues warning with ~:p expansion of ‘format’
Date: Wed, 20 Aug 2014 14:26:34 +0200
User-agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.50 (gnu/linux)

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]