[PATCH] scripts: lint: Fix Guile build warning.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Mathieu Othacehe
Severity
normal
M
M
Mathieu Othacehe wrote on 14 Apr 2017 15:11
(address . guix-patches@gnu.org)(name . Mathieu Othacehe)(address . m.othacehe@gmail.com)
20170414131113.831-1-m.othacehe@gmail.com
* guix/scripts/lint.scm (warn-if-package-has-input): Put (_ message)
in let, to avoid the following warning :

guix/scripts/lint.scm:251:37: warning: non-literal format string
---
guix/scripts/lint.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

Toggle diff (30 lines)
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index 811f16706..1105dc418 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -245,10 +246,13 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
(package-name package)
(if (> (length output) 0)
(string-append ":" (car output))
- ""))))
+ "")))
+ ;; Putting tr-msg in let prevents from this
+ ;; Guile warning: "non-literal format string".
+ (tr-msg (_ message)))
(when (member input input-names)
(emit-warning linted
- (format #f (_ message) input)
+ (format #f tr-msg input)
'inputs-to-check)))))
packages outputs))))
--
2.12.2
L
L
Ludovic Courtès wrote on 16 Apr 2017 12:09
(name . Mathieu Othacehe)(address . m.othacehe@gmail.com)(address . 26498-done@debbugs.gnu.org)
87inm4pstr.fsf@gnu.org
Hi Mathieu,

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

Toggle quote (34 lines)
> * guix/scripts/lint.scm (warn-if-package-has-input): Put (_ message)
> in let, to avoid the following warning :
>
> guix/scripts/lint.scm:251:37: warning: non-literal format string
> ---
> guix/scripts/lint.scm | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
> index 811f16706..1105dc418 100644
> --- a/guix/scripts/lint.scm
> +++ b/guix/scripts/lint.scm
> @@ -6,6 +6,7 @@
> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
> ;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
> +;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -245,10 +246,13 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
> (package-name package)
> (if (> (length output) 0)
> (string-append ":" (car output))
> - ""))))
> + "")))
> + ;; Putting tr-msg in let prevents from this
> + ;; Guile warning: "non-literal format string".
> + (tr-msg (_ message)))
> (when (member input input-names)
> (emit-warning linted
> - (format #f (_ message) input)
> + (format #f tr-msg input)

Not OK. :-)

The warning is expected here, it warns about a real issue, which is that
we’re passing a non-literal format string.

I fixed it by decoupling the computational from the UI part in commit
1730c5b509c236a948b5a91ae6b7063384c1eee6.

Thanks,
Ludo’.
Closed
?