From bed035c56060d008abbfcd7e4100f6aa76031314 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sat, 13 Sep 2014 15:26:37 +0200
Subject: sync-descriptions: Improve output of proposed descriptions.

* build-aux/sync-descriptions.scm (escape-quotes): New procedure.
  Use it.  Add quotes around the proposed description.
---
 build-aux/sync-descriptions.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

(limited to 'build-aux/sync-descriptions.scm')

diff --git a/build-aux/sync-descriptions.scm b/build-aux/sync-descriptions.scm
index 61362a1f88..6ff549c309 100644
--- a/build-aux/sync-descriptions.scm
+++ b/build-aux/sync-descriptions.scm
@@ -47,6 +47,16 @@ (define gnus
                          result))
                    '())))
 
+(define (escape-quotes str)
+  "Replace any quote character in STR by an escaped quote character."
+  (list->string
+   (string-fold-right (lambda (chr result)
+                        (match chr
+                          (#\" (cons* #\\ #\"result))
+                          (_   (cons chr result))))
+                      '()
+                      str)))
+
 ;; Iterate over GNU packages.  Report those whose synopsis defers from that
 ;; found upstream.
 (for-each (match-lambda
@@ -69,7 +79,7 @@ (define gnus
                          (not (string=? (fill-paragraph upstream 100)
                                         (fill-paragraph downstream 100))))
                 (format (guix-warning-port)
-                        "~a: ~a: proposed description:~%      ~a~%"
+                        "~a: ~a: proposed description:~%     \"~a\"~%"
                         (location->string loc) (package-name package)
-                        (fill-paragraph upstream 77 7))))))
+                        (fill-paragraph (escape-quotes upstream) 77 7))))))
           gnus)
-- 
cgit v1.2.3