From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48971) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzv9N-0002F0-Mz for guix-patches@gnu.org; Tue, 11 Sep 2018 22:45:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzv9K-0002nQ-D9 for guix-patches@gnu.org; Tue, 11 Sep 2018 22:45:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:33354) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fzv9K-0002nG-6P for guix-patches@gnu.org; Tue, 11 Sep 2018 22:45:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fzv9K-0000hK-3V for guix-patches@gnu.org; Tue, 11 Sep 2018 22:45:02 -0400 Subject: [bug#32711] [PATCH] ui: Fix abort on #\nul character in build output. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzv8X-0001yt-Id for guix-patches@gnu.org; Tue, 11 Sep 2018 22:44:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzv3W-0008K3-Rq for guix-patches@gnu.org; Tue, 11 Sep 2018 22:39:05 -0400 Received: from mail.onyx.syn-alias.com ([206.152.134.66]:24597 helo=smtp.centurylink.net) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzv3W-0008Hg-4p for guix-patches@gnu.org; Tue, 11 Sep 2018 22:39:02 -0400 From: ericbavier@centurylink.net Date: Tue, 11 Sep 2018 21:38:23 -0500 Message-Id: <20180912023823.13240-1-ericbavier@centurylink.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 32711@debbugs.gnu.org Cc: Eric Bavier From: Eric Bavier Fixes build of "lz4" package, e.g. * guix/ui.scm (build-output-port)[handle-string]: Check for #\nul before doing any regex matching. --- guix/ui.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index c55ae7e2f..207aba8ad 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1762,18 +1762,19 @@ phase announcements and replaces any other output with a spinner." RED BLUE RED BLUE RED BLUE)))) (lambda (str) (let ((processed - (any (match-lambda - ((pattern #:transform transform) - (and=> (string-match pattern str) - transform)) - ((pattern . colors) - (and=> (string-match pattern str) - (lambda (m) - (let ((substrings - (map (cut match:substring m <>) - (iota (- (match:count m) 1) 1)))) - (string-join (map proc substrings colors) "")))))) - rules))) + (and (not (string-index str #\nul)) ;(ice-9 regex) cannot handle #\nul + (any (match-lambda + ((pattern #:transform transform) + (and=> (string-match pattern str) + transform)) + ((pattern . colors) + (and=> (string-match pattern str) + (lambda (m) + (let ((substrings + (map (cut match:substring m <>) + (iota (- (match:count m) 1) 1)))) + (string-join (map proc substrings colors) "")))))) + rules)))) (when spun? (display (string #\backspace) port)) (if processed -- 2.18.0