M guix/ui.scm => guix/ui.scm +11 -10
@@ 635,16 635,17 @@ report what is prerequisites are available for download."
(define (right-arrow port)
"Return either a string containing the 'RIGHT ARROW' character, or an ASCII
replacement if PORT is not Unicode-capable."
- (with-fluids ((%default-port-encoding (port-encoding port)))
- (let ((arrow "→"))
- (catch 'encoding-error
- (lambda ()
- (call-with-output-string
- (lambda (port)
- (set-port-conversion-strategy! port 'error)
- (display arrow port))))
- (lambda (key . args)
- "->")))))
+ (let ((encoding (port-encoding port))
+ (arrow "→"))
+ (catch 'encoding-error
+ (lambda ()
+ (call-with-output-string
+ (lambda (port)
+ (set-port-encoding! port encoding)
+ (set-port-conversion-strategy! port 'error)
+ (display arrow port))))
+ (lambda (key . args)
+ "->"))))
(define* (show-manifest-transaction store manifest transaction
#:key dry-run?)
M tests/ui.scm => tests/ui.scm +7 -4
@@ 248,9 248,12 @@ Second line" 24))
(lambda ()
(show-manifest-transaction store m t)))))
(string-match "guile\t1.8.8 -> 2.0.9"
- (with-fluids ((%default-port-encoding "ISO-8859-1"))
- (with-error-to-string
- (lambda ()
- (show-manifest-transaction store m t)))))))))
+ (with-error-to-string
+ (lambda ()
+ ;; In Guile 2.2, %DEFAULT-PORT-ENCODING doesn't
+ ;; influence the encoding of string ports.
+ (set-port-encoding! (current-error-port)
+ "ISO-8859-1")
+ (show-manifest-transaction store m t))))))))
(test-end "ui")