GNU bug report logs - #18299
Analyzer issues warning with ~:p expansion of ‘format’

Previous Next

Package: guile;

Reported by: Frank Terbeck <ft <at> bewatermyfriend.org>

Date: Wed, 20 Aug 2014 12:31:02 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#18299: closed (Analyzer issues warning with ~:p expansion of
 ‘format’)
Date: Tue, 26 Aug 2014 21:43:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 26 Aug 2014 23:42:22 +0200
with message-id <87ppfndj29.fsf <at> gnu.org>
and subject line Re: bug#18299: Analyzer issues warning with ~:p expansion of ‘format’
has caused the debbugs.gnu.org bug report #18299,
regarding Analyzer issues warning with ~:p expansion of ‘format’
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
18299: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18299
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Frank Terbeck <ft <at> bewatermyfriend.org>
To: bug-guile <at> gnu.org
Subject: Analyzer issues warning with ~:p expansion of ‘format’
Date: Wed, 20 Aug 2014 14:26:34 +0200
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


[Message part 3 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Frank Terbeck <ft <at> bewatermyfriend.org>
Cc: 18299-done <at> debbugs.gnu.org
Subject: Re: bug#18299: Analyzer issues warning with ~:p expansion of
 ‘format’
Date: Tue, 26 Aug 2014 23:42:22 +0200
Frank Terbeck <ft <at> bewatermyfriend.org> skribis:

> 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

I believe commit 8ac39b3 fixes it.  It will be in 2.0.12.

Thanks!

Ludo’.


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.