summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-07 15:42:18 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-07 15:46:45 +0100
commit024d5275c5cd72c0121b4f70d64c63f859a68f17 (patch)
tree0e8bcf52ec176f4f197f4b5d2bd099af12d6b698
parent9c6124f8297cfffb7c754f109882f8962ba56ef2 (diff)
downloadguix-024d5275c5cd72c0121b4f70d64c63f859a68f17.tar.gz
status: Do not systematically erase the previous line.
After a successful download, we'd erase the download-progress line, and
the end result would be two empty lines following the "downloading …"
line.

Reported by Ricardo Wurmus <rekado@elephly.net> at
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33470#27>.

* guix/status.scm (print-build-event)[erase-current-line*]: Set to a
no-op when PRINT-LOG? is true.
Move calls to 'erase-current-line*' to the 'build-succeeded' and
'build-failed' events.
-rw-r--r--guix/status.scm8
1 files changed, 4 insertions, 4 deletions
diff --git a/guix/status.scm b/guix/status.scm
index 984f329964..cd5027ef17 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -498,14 +498,12 @@ addition to build events."
              (spin! #f port))))))
 
   (define erase-current-line*
-    (if (isatty?* port)
-        (lambda (port)
+    (if (and (not print-log?) (isatty?* port))
+        (lambda ()
           (erase-current-line port)
           (force-output port))
         (const #t)))
 
-  (unless print-log?
-    (erase-current-line* port))             ;clear the spinner or progress bar
   (match event
     (('build-started drv . _)
      (let ((properties (derivation-properties
@@ -530,6 +528,7 @@ addition to build events."
           (format port (info (G_ "building ~a...")) drv))))
      (newline port))
     (('build-succeeded drv . _)
+     (erase-current-line*)                      ;erase spinner or progress bar
      (when (or print-log? (not (extended-build-trace-supported?)))
        (format port (success (G_ "successfully built ~a")) drv)
        (newline port))
@@ -542,6 +541,7 @@ addition to build events."
                     (length ongoing))
                 (map build-derivation ongoing)))))
     (('build-failed drv . _)
+     (erase-current-line*)                      ;erase spinner or progress bar
      (format port (failure (G_ "build of ~a failed")) drv)
      (newline port)
      (match (derivation-log-file drv)