Emitting the carriage return right before flushing the port is necessary to avoid flickering when running commands such as: guix build -S coreutils --no-substitutes because the daemon sends input to ‘guix build’ only upon CR/LF (see ‘LocalStore::getLineFromSubstituter’), and in turn the client flushes only upon CR/LF (see ‘process-stderr’ in (guix store).) Regarding the column number, we could use the TIOCGWINSZ ioctl via (guix build syscalls), though that would only work for ‘guix download’ and not for downloads performed by the daemon on behalf of clients. Thanks! Ludo’.