mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
ui: Gracefully handle Unicode description strings.
Fixes <http://bugs.gnu.org/21536>. Reported by Alex Kost <alezost@gmail.com>. * guix/ui.scm (texi->plain-text): Wrap body in 'with-fluids'. * tests/ui.scm ("package-description-string vs. Unicode"): New test.
This commit is contained in:
parent
75726135ce
commit
08d7e3592f
2 changed files with 11 additions and 1 deletions
|
@ -803,7 +803,10 @@ (define %text-width
|
|||
|
||||
(define (texi->plain-text str)
|
||||
"Return a plain-text representation of texinfo fragment STR."
|
||||
(stexi->plain-text (texi-fragment->stexi str)))
|
||||
;; 'texi-fragment->stexi' uses a string port so make sure it's a
|
||||
;; Unicode-capable one (see <http://bugs.gnu.org/11197>.)
|
||||
(with-fluids ((%default-port-encoding "UTF-8"))
|
||||
(stexi->plain-text (texi-fragment->stexi str))))
|
||||
|
||||
(define (package-description-string package)
|
||||
"Return a plain-text representation of PACKAGE description field."
|
||||
|
|
|
@ -22,6 +22,7 @@ (define-module (test-ui)
|
|||
#:use-module (guix profiles)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix tests)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-19)
|
||||
|
@ -89,6 +90,12 @@ (define guile-2.0.9
|
|||
(fill-paragraph "First line.
|
||||
Second line" 24))
|
||||
|
||||
(test-equal "package-description-string vs. Unicode"
|
||||
"b•ll•t\n\n" ;see <http://bugs.gnu.org/21536>
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(package-description-string
|
||||
(dummy-package "foo" (description "b•ll•t")))))
|
||||
|
||||
(test-equal "package-specification->name+version+output"
|
||||
'(("guile" #f "out")
|
||||
("guile" "2.0.9" "out")
|
||||
|
|
Loading…
Reference in a new issue