GNU bug report logs -
#32711
[PATCH] ui: Fix abort on #\nul character in build output.
Previous Next
Reported by: ericbavier <at> centurylink.net
Date: Wed, 12 Sep 2018 02:45:01 UTC
Severity: normal
Tags: patch
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
[Message part 1 (text/plain, inline)]
Your bug report
#32711: [PATCH] ui: Fix abort on #\nul character in build output.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 32711 <at> debbugs.gnu.org.
--
32711: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32711
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi Eric,
ericbavier <at> centurylink.net skribis:
> From: Eric Bavier <bavier <at> member.fsf.org>
>
> Fixes build of "lz4" package, e.g.
>
> * guix/ui.scm (build-output-port)[handle-string]: Check for #\nul before doing
> any regex matching.
This is fixed in the new (guix status) code, commit
dc0f74e5fc26977a3ee6c4f2aa74a141f4359982 (see the ‘color-rules’ macro.)
Thank you, and sorry for not responding earlier!
Ludo’.
[Message part 3 (message/rfc822, inline)]
From: Eric Bavier <bavier <at> member.fsf.org>
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
This bug report was last modified 6 years and 236 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.