Subject: bug#36001: 26.2; compile-mode.el/compilation-mode spontaneous behaviour

From: Evgeniy Dushistov <[email-masked]>
Date: Thu, 30 May 2019 17:10:27 +0300

On Thu, May 30, 2019 at 12:40:09PM +0100, Basil L. Contovounesios wrote:
> Evgeniy Dushistov <[email-masked]> writes:
> 
> > compile-mode.el (compilation-mode) works in really spontaneous way.
> >
> > I run compilation via:
> >
> > (defun rust-compile ()
> >   "Compile using `cargo build`"
> >   (interactive)
> >   (compile "cargo build"))
> >  
> > Sometimes errors are highlighted, sometimes aren't.
> > For example I run compilation, and the first error is not highlighted:
> >
> > https://user-images.githubusercontent.com/156697/58186628-f013bf80-7cbd-11e9-956b-741e64fabbe6.png
> >
> > Then I switch buffer '*compilation*' and run M-x compilation-mode,
> > and error is highlighted in the right way:
> >
> > https://user-images.githubusercontent.com/156697/58186629-f013bf80-7cbd-11e9-88c4-7a1fc90b08d8.png
> >
> > Also jump to the error via C-x ` sometimes doesn't work (emacs insitead of jump to code,
> > asks where find source file), but after I would switch to '*compilation*' and
> > run M-x compilation-mode, C-x ` works again. 
> >
> > These are spontaneous errors, I have ~10 good cases,
> > when all works fine vs 1 bad case, when rending or jump to source location works
> > only for subset of errors/warnings.
> 
> Are you able to reproduce these issues starting from 'emacs -Q'?
> 

I can reproduce it with:
emacs -Q 
M-: (load "~/.emacs.d/elpa/rust-mode-20190517.2037/rust-mode.el")

and then 
M-x compile
cargo build <-- command to run rust code compilation

Interesting, that `cargo build` works in deterministic way, it produces
the same output for the same code set on the Rust language.
So the content of *compilation* buffer is always the same,
except of course:
Compilation started at ...
Compilation exited abnormally with code 101 ...

But sometimes it renders ok, sometimes bad.
And if I run 
M-x compile
cat /tmp/saved-compilation-buffer-content.txt

the *compilation* rendering is always fine, no errors.

-- 
/Evgeniy