doc/news.texi | 7 +++++++ log.go | 16 +++++++--------- status.go | 4 ++-- usage.go | 2 +- diff --git a/doc/news.texi b/doc/news.texi index d4dc54ca36c1682dee89fa85abb166697b402de5f7435b8bba86ac4ba746f074..117556361c1b1569adf23a21b81d6d382e3ad1876c312cf11ad0e95599fed174 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -1,6 +1,13 @@ @node News @unnumbered News +@anchor{Release 1.4.1} +@section Release 1.4.1 +@itemize +@item + Even more simpler statusline cleaning function. +@end itemize + @anchor{Release 1.4.0} @section Release 1.4.0 @itemize diff --git a/log.go b/log.go index 81e22f42ca3fcddca9ada989b950856787f1c7febd469e55a93b32378ab44e3c..3ebe81b7e1b136758adf6dc965a22f436b38f64cb9c3a51330b676d1fcd07681 100644 --- a/log.go +++ b/log.go @@ -70,7 +70,6 @@ flagLogJS = flag.Bool("log-js", false, fmt.Sprintf("enable jobserver messages logging (%s=1)", EnvLogJS)) LogMutex sync.Mutex KeyEraseLine string - LogWasStatus bool ) func init() { @@ -88,10 +87,10 @@ KeyEraseLine = fmt.Sprintf("%s[K", CReset[0:1]) } func erasedStatus(s, end string) string { - if LogWasStatus { - s += KeyEraseLine + if NoProgress { + return s + end } - return s + end + return s + KeyEraseLine + end } func trace(level, format string, args ...interface{}) { @@ -101,10 +100,9 @@ p = fmt.Sprintf("[%d] ", MyPid) } switch level { case CNone: - p = StderrPrefix + p + fmt.Sprintf(format, args...) + p = erasedStatus(StderrPrefix+p+fmt.Sprintf(format, args...), "\n") LogMutex.Lock() - os.Stderr.WriteString(erasedStatus(p, "\n")) - LogWasStatus = false + os.Stderr.WriteString(p) LogMutex.Unlock() return case CDebug: @@ -139,9 +137,9 @@ p += "warn " } msg := fmt.Sprintf(format, args...) msg = StderrPrefix + colourize(level, p+strings.Repeat(". ", Level)+msg) + msg = erasedStatus(msg, "\n") LogMutex.Lock() - os.Stderr.WriteString(erasedStatus(msg, "\n")) - LogWasStatus = false + os.Stderr.WriteString(msg) LogMutex.Unlock() } diff --git a/status.go b/status.go index 3795c330a841346a9686ed9664e2c1d7b4b416dba2058b0d4d47fe46bd2bb734..d0146f6622e1d877ec615c81c42d3f7925e618febf9e2c7c25895efc87916800 100644 --- a/status.go +++ b/status.go @@ -96,9 +96,9 @@ CWait, waiting, CReset, CJS, done, CReset, ) } + out = erasedStatus(out, "\r") LogMutex.Lock() - os.Stderr.WriteString(erasedStatus(out, "\r")) - LogWasStatus = true + os.Stderr.WriteString(out) LogMutex.Unlock() } }() diff --git a/usage.go b/usage.go index 406d5c23cf4c42a94548f8053c3703125b8233981130de39a1cf94bd394d4b5a..5b12090499be53372e2ea1af310b9bf40622ca61334cd866af0be7bd6425a25d 100644 --- a/usage.go +++ b/usage.go @@ -24,7 +24,7 @@ "os" ) const ( - Version = "1.4.0" + Version = "1.4.1" Warranty = `Copyright (C) 2020-2021 Sergey Matveev This program is free software: you can redistribute it and/or modify