From 1f6faeb50fb13f1e3e678296ebd238a614682e81 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Mon, 23 Sep 2019 15:52:40 -0700 Subject: [PATCH] Use ctx.Fatalln instead of log.Fatalln for absolute path errors log.Fatalln calls os.Exit, which skips deferred functions and leaves the console with the cursor disabled. Use ctx.Fatalln instead, which uses a panic to exit and calls the deferred function to restore the cursor. Test: DIST_DIR=/tmp/\test\ foo m dist Change-Id: Ie92297075e37c171d5ba48848a0ddb19652b051c --- ui/build/config.go | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/ui/build/config.go b/ui/build/config.go index 665d2f0fa..def3345e9 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -16,7 +16,6 @@ package build import ( "io/ioutil" - "log" "os" "path/filepath" "runtime" @@ -189,27 +188,27 @@ func NewConfig(ctx Context, args ...string) Config { checkTopDir(ctx) if srcDir := absPath(ctx, "."); strings.ContainsRune(srcDir, ' ') { - log.Println("You are building in a directory whose absolute path contains a space character:") - log.Println() - log.Printf("%q\n", srcDir) - log.Println() - log.Fatalln("Directory names containing spaces are not supported") + ctx.Println("You are building in a directory whose absolute path contains a space character:") + ctx.Println() + ctx.Printf("%q\n", srcDir) + ctx.Println() + ctx.Fatalln("Directory names containing spaces are not supported") } if outDir := ret.OutDir(); strings.ContainsRune(outDir, ' ') { - log.Println("The absolute path of your output directory ($OUT_DIR) contains a space character:") - log.Println() - log.Printf("%q\n", outDir) - log.Println() - log.Fatalln("Directory names containing spaces are not supported") + ctx.Println("The absolute path of your output directory ($OUT_DIR) contains a space character:") + ctx.Println() + ctx.Printf("%q\n", outDir) + ctx.Println() + ctx.Fatalln("Directory names containing spaces are not supported") } if distDir := ret.DistDir(); strings.ContainsRune(distDir, ' ') { - log.Println("The absolute path of your dist directory ($DIST_DIR) contains a space character:") - log.Println() - log.Printf("%q\n", distDir) - log.Println() - log.Fatalln("Directory names containing spaces are not supported") + ctx.Println("The absolute path of your dist directory ($DIST_DIR) contains a space character:") + ctx.Println() + ctx.Printf("%q\n", distDir) + ctx.Println() + ctx.Fatalln("Directory names containing spaces are not supported") } // Configure Java-related variables, including adding it to $PATH