When running PackageCompiler in a non-interactive terminal (e.g. emacs shell-mode), the printing of animated spinners and progress bars does not overwrite previous frames, resulting in the spinner/bar frames filling the entire terminal output. PackageCompiler should either check that the current terminal supports printing back over previous lines (e.g by checking the TERM environment variable) or should provide users a way to disable the printing of animated spinners and progress bars (e.g. with a flag like --progress=plain or similar). Currently, the only way to not overload the terminal output is to redirect all output to /dev/null, which is not practical because it also hides all the useful messages (e.g. error logs etc.).
I have found two places where this occurs; one is the progress bar and half-filled circle spinner when compiling dependencies, the other is the 6-dots spinner when compiling sysimages.
When running PackageCompiler in a non-interactive terminal (e.g. emacs shell-mode), the printing of animated spinners and progress bars does not overwrite previous frames, resulting in the spinner/bar frames filling the entire terminal output. PackageCompiler should either check that the current terminal supports printing back over previous lines (e.g by checking the TERM environment variable) or should provide users a way to disable the printing of animated spinners and progress bars (e.g. with a flag like
--progress=plain
or similar). Currently, the only way to not overload the terminal output is to redirect all output to /dev/null, which is not practical because it also hides all the useful messages (e.g. error logs etc.).I have found two places where this occurs; one is the progress bar and half-filled circle spinner when compiling dependencies, the other is the 6-dots spinner when compiling sysimages.
Example output from a non-interactive terminal: