--- Begin Message ---
Subject: |
[PATCH 3/3] ui: Fix port-buffering with address@hidden |
Date: |
Wed, 10 Oct 2018 20:52:46 -0500 |
From: Eric Bavier <address@hidden>
* guix/status.scm (build-event-output-port)address@hidden: Do not call 'setvbuf'
on custom binary port.
* tests/status.scm (current-build-output-port, UTF-8 + garbage)address@hidden:
Use "?" in place of REPLACEMENT CHARACTER.
---
guix/status.scm | 5 +++--
tests/status.scm | 5 ++++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/guix/status.scm b/guix/status.scm
index 13537c70c..6dba7e049 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -502,8 +502,9 @@ The second return value is a thunk to retrieve the current
state."
;; The build port actually receives Unicode strings.
(set-port-encoding! port "UTF-8")
- (setvbuf port (cond-expand (guile-2.2 'line) (else _IOLBF)))
-
+ (cond-expand
+ ((and guile-2 (not guile-2.2)) #t)
+ (else (setvbuf port 'line)))
(values port (lambda () %state)))
(define (call-with-status-report on-event thunk)
diff --git a/tests/status.scm b/tests/status.scm
index 486ad04dd..846a6f415 100644
--- a/tests/status.scm
+++ b/tests/status.scm
@@ -124,7 +124,10 @@
(test-equal "current-build-output-port, UTF-8 + garbage"
;; What about a mixture of UTF-8 + garbage?
- '((build-log "garbage: �lambda: λ\n"))
+ (let ((replacement (cond-expand
+ ((and guile-2 (not guile-2.2)) "?")
+ (else "�"))))
+ `((build-log ,(string-append "garbage: " replacement "lambda: λ\n"))))
(let-values (((port get-status) (build-event-output-port cons '())))
(display "garbage: " port)
(put-bytevector port #vu8(128))
--
2.19.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#33012] [PATCH 3/3] ui: Fix port-buffering with address@hidden |
Date: |
Tue, 16 Oct 2018 17:31:23 -0500 |
On Sun, 14 Oct 2018 23:43:28 +0200
address@hidden (Ludovic Courtès) wrote:
> address@hidden skribis:
>
> > From: Eric Bavier <address@hidden>
> >
> > * guix/status.scm (build-event-output-port)address@hidden: Do not call
> > 'setvbuf'
> > on custom binary port.
> > * tests/status.scm (current-build-output-port, UTF-8 +
> > garbage)address@hidden:
> > Use "?" in place of REPLACEMENT CHARACTER.
>
> LGTM, thanks!
>
> Ludo'.
Pushed in 278f86a43f1561b1c064ce88da012db414ec7efc
pgpm4B1X8EOWh.pgp
Description: OpenPGP digital signature
--- End Message ---