unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Stefan Kangas <stefan@marxist.se>
Cc: 44746@debbugs.gnu.org
Subject: bug#44746: 28.0.50; [feature/native-comp] Noisy "*Warnings*" buffer shown on start
Date: Fri, 20 Nov 2020 08:31:18 +0000	[thread overview]
Message-ID: <xjfsg94a0q1.fsf@sdf.org> (raw)
In-Reply-To: <CADwFkmkdoA+UdK76YzACf9At4qX6b9JQjHZibsmT=hjrE2fZKg@mail.gmail.com> (Stefan Kangas's message of "Thu, 19 Nov 2020 16:50:08 -0800")

Stefan Kangas <stefan@marxist.se> writes:

> Every time I start Emacs after recompilation or clearing cache, I see a
> "*Warnings*" buffer popup in a new window, filled with a large amount of
> warnings like these:
>
> Warning (comp): debian-ispell.el:229:17: Warning: assignment to free
> variable Disable showing Disable logging
> Warning (comp): debian-ispell.el:228:28: Warning: reference to free
> variable ‘really-hunspell’ Disable showing Disable logging
> Warning (comp): debian-ispell.el:386:16: Warning: reference to free
> variable Disable showing Disable logging
> Warning (comp): debian-ispell.el:392:16: Warning: reference to free
> variable Disable showing Disable logging
> Warning (comp): debian-ispell.el:393:16: Warning: reference to free
> variable Disable showing Disable logging
> Warning (comp): debian-ispell.el:403:24: Warning: assignment to free
> variable Disable showing Disable logging
> Warning (comp): debian-ispell.el:403:20: Warning: reference to free
> variable Disable showing Disable logging
> [...]
> Warning (comp): init-general.el:44:7: Warning: assignment to free
> variable Disable showing Disable logging
> Warning (comp): init-general.el:45:7: Warning: assignment to free
> variable Disable showing Disable logging
> Warning (comp): init-general.el:47:7: Warning: assignment to free
> variable ‘Man-width’ Disable showing Disable logging
> [...]
>
> (The file init-general.el is required from my init file.)
>
> To reproduce this, I would assume it is sufficient to either run Debian,
> where the debian-ispell.el file is part of the site-files, or having an
> init file requiring a file with, for example, the line:
>
>     (setq display-time-24hr-format t) ; my line 47 above
>
>
> I'm not exactly sure what the best course of action is here.  But
> wouldn't it be better to not show this at all to users, unless they
> explicitly ask for it?  As it stands, it is a bit too noisy and
> in-your-face, I think.
>
> (I also don't understand why the byte-compiler does not complain about
> these variables.)

The byte compiler does not complain because when it compiles these
definitions happen to be present in the compilation environment (read
the file defining these variables was by chance already loaded).  Each
file should be consistent and compilable regardless the load history of
the Emacs used to compile (read specify the correct requires).

Given async compilation start from a fresh Emacs it's more sensitive
into spotting these errors or warnings.

Reporting these messages to the user as warnings was the result of
#44168.  Before #44168 these messages where only reported into the
*Async-native-compile-log*.

This was requested by a number of people because more than one package
missed requiring the feature containing some macro definition.  This
indeed resulted in miscompilations with the diagnostic message being
"hidden" in *Async-native-compile-log*.

Compilation units should *not* rely on the compiler environment for
their definitions.

So yeah these are real warnings or errors and package developers need to
get them somehow.  They could manifest also on non nativecomp builds if
the compilation order or something else chance.  So this is not only a
nice clean-up but also a real fix IMO.

I'm not sure what's the best action we can take to reduce the verbosity
but keep developers informed at the same time.

  Andrea





  reply	other threads:[~2020-11-20  8:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20  0:50 bug#44746: 28.0.50; [feature/native-comp] Noisy "*Warnings*" buffer shown on start Stefan Kangas
2020-11-20  8:31 ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2021-02-25 22:58   ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-02-25 23:59     ` Stefan Kangas
2021-02-26  7:19       ` Eli Zaretskii
2021-02-26 17:26         ` Stefan Kangas
2021-02-26  7:17     ` Eli Zaretskii
2021-02-26 14:27       ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-02-26 14:52         ` Eli Zaretskii
2021-02-26 18:56           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xjfsg94a0q1.fsf@sdf.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=44746@debbugs.gnu.org \
    --cc=akrl@sdf.org \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).