GNU bug report logs - #70142
[PATCH] Fix error messages containing format strings

Previous Next

Package: guile;

Reported by: Michael Käppler <xmichael-k <at> web.de>

Date: Tue, 2 Apr 2024 14:08:03 UTC

Severity: normal

Tags: patch

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

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: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#70142: closed ([PATCH] Fix error messages containing format
 strings)
Date: Mon, 06 May 2024 09:44:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 06 May 2024 11:42:34 +0200
with message-id <87v83rl1it.fsf <at> gnu.org>
and subject line Re: bug#70142: [PATCH] Fix error messages containing format strings
has caused the debbugs.gnu.org bug report #70142,
regarding [PATCH] Fix error messages containing format strings
to be marked as done.

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


-- 
70142: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70142
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Michael Käppler <xmichael-k <at> web.de>
To: bug-guile <at> gnu.org
Subject: [PATCH] Fix error messages containing format strings
Date: Tue, 2 Apr 2024 09:52:34 +0200
[Message part 3 (text/plain, inline)]
Hi all,
I recently ran into the issue that some error messages in Guile are not
formatted properly.
As a simple reproducer, fire up a REPL and do

,option on-error 'foo

Which will yield

"While executing meta-command:
Bad on-error value ~a; expected one of ~a foo (debug backtrace report pass)"

The reason is that format strings occurring in the message are
escaped, see `module/ice-9/boot-9.scm`  and
`module/language/tree-il/primitives.scm`.

So a call of

`(error "Wrong argument: ~a" 42)`

is rendered as

"Wrong argument: ~a 42"
Some callers did not take this behavior into account.

Patch attached.

Michael
[0001-Fix-error-messages-containing-format-strings.patch (text/plain, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Michael Käppler <xmichael-k <at> web.de>
Cc: 70142-done <at> debbugs.gnu.org
Subject: Re: bug#70142: [PATCH] Fix error messages containing format strings
Date: Mon, 06 May 2024 11:42:34 +0200
Hi Michael,

Michael Käppler <xmichael-k <at> web.de> skribis:

> The reason is that format strings occurring in the message are
> escaped, see `module/ice-9/boot-9.scm`  and
> `module/language/tree-il/primitives.scm`.
>
> So a call of
>
> `(error "Wrong argument: ~a" 42)`
>
> is rendered as
>
> "Wrong argument: ~a 42"
> Some callers did not take this behavior into account.

Good catch, applied.  Thanks!

Ludo’.


This bug report was last modified 1 year and 18 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.