[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/04: download: Check whether HORIZONTAL ELLIPSIS can be encoded.
From: |
Ludovic Courtès |
Subject: |
04/04: download: Check whether HORIZONTAL ELLIPSIS can be encoded. |
Date: |
Thu, 01 Oct 2015 09:32:53 +0000 |
civodul pushed a commit to branch master
in repository guix.
commit fde1783087ba93fcadc4b26bd4611ae03626d105
Author: Ludovic Courtès <address@hidden>
Date: Thu Oct 1 11:28:58 2015 +0200
download: Check whether HORIZONTAL ELLIPSIS can be encoded.
* guix/build/download.scm (ellipsis): New procedure.
(store-path-abbreviation): Use it.
---
guix/build/download.scm | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 4b7c53d..240e79e 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -110,6 +110,13 @@ column."
(padding (make-string num-spaces #\space)))
(string-append left padding right)))
+(define* (ellipsis #:optional (port (current-output-port)))
+ "Make a rough guess at whether Unicode's HORIZONTAL ELLIPSIS can be written
+in PORT's encoding, and return either that or ASCII dots."
+ (if (equal? (port-encoding port) "UTF-8")
+ "…"
+ "..."))
+
(define* (store-path-abbreviation store-path #:optional (prefix-length 6))
"If STORE-PATH is the file name of a store entry, return an abbreviation of
STORE-PATH for display, showing PREFIX-LENGTH characters of the hash.
@@ -117,7 +124,7 @@ Otherwise return STORE-PATH."
(if (string-prefix? (%store-directory) store-path)
(let ((base (basename store-path)))
(string-append (string-take base prefix-length)
- "…"
+ (ellipsis)
(string-drop base 32)))
store-path))