summaryrefslogtreecommitdiff
path: root/guix/ui.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-04-14 23:43:31 +0200
committerLudovic Courtès <ludo@gnu.org>2016-04-15 00:32:18 +0200
commit069d43a7652e5b8bf07d33fd1013bdb8465012ac (patch)
treee0cc4366c200606f6baae9b2d83b07da1703bd23 /guix/ui.scm
parent29ff6d9fcc05b283b6d797146330e950286028ed (diff)
downloadgnu-guix-069d43a7652e5b8bf07d33fd1013bdb8465012ac.tar
gnu-guix-069d43a7652e5b8bf07d33fd1013bdb8465012ac.tar.gz
ui: 'package->recutils' accurately honors the number of columns.
* guix/ui.scm (package->recutils)[width*]: New variable. Use it instead of WIDTH.
Diffstat (limited to 'guix/ui.scm')
-rw-r--r--guix/ui.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index f95c63a81b..391af9a99f 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -855,11 +855,16 @@ followed by \"+ \", which makes for a valid multi-line field value in the
(define* (package->recutils p port #:optional (width (%text-width)))
"Write to PORT a `recutils' record of package P, arranging to fit within
WIDTH columns."
+ (define width*
+ ;; The available number of columns once we've taken into account space for
+ ;; the initial "+ " prefix.
+ (if (> width 2) (- width 2) width))
+
(define (dependencies->recutils packages)
(let ((list (string-join (map package-full-name
(sort packages package<?)) " ")))
(string->recutils
- (fill-paragraph list width
+ (fill-paragraph list width*
(string-length "dependencies: ")))))
(define (package<? p1 p2)
@@ -901,7 +906,7 @@ WIDTH columns."
(format port "~a~2%"
(string->recutils
(string-trim-right
- (parameterize ((%text-width width))
+ (parameterize ((%text-width width*))
(texi->plain-text
(string-append "description: "
(or (and=> (package-description p) P_)