> >     (apply #'message format args)
> >     (unless byte-compile--interactive
> >       (message nil)))
>
> This is the problem: in order to "not emit a message" this code emits
> the message and then immediately hides it by emitting "the empty
> message" on top of it.
>
> Why not just do:
>
>      (when byte-compile--interactive
>        (apply #'message format args))

Don't we have a new inhibit-messages variable? Why not use it?

(let ((inhibit-messages (not byte-compile--interactive)))
  (apply #'message format args))