all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: daniel sutton <danielsutton01@gmail.com>,
	Michael Heerdegen <michael_heerdegen@web.de>
Cc: emacs-devel@gnu.org
Subject: sea-level rise of byte-compilation warnings  [was: Fixing...byte-compilation warnings...]
Date: Sun, 15 Nov 2015 08:07:01 -0800 (PST)	[thread overview]
Message-ID: <ad749b9d-df0f-4d46-b098-8a4bd5fe50a8@default> (raw)
In-Reply-To: <CAOLS0DNkLV15NR5ay7bhKk23gg=XEnd81m2aGwxoh09Kxvka_Q@mail.gmail.com>

> It seems like this warning needs to go to new consumers
> but not in the core.

You mean don't bother developers of the core, but just
bother everyone else?  Why is that TRT?

Or by "consumers" perhaps you meant new core code as
opposed to old core code?  Old code is still hacked on,
so warnings should be as appropriate for it as for new
code that consumes it.

> Perhaps there could be a list of ignorable warnings
> that could be suppressed when in the core? 

Perhaps we should just remove one or two of the shiploads
of warnings that have been piled on in the last few years?

Or at least provide clear guidelines for 3rd-party
libraries, as to how to make the code itself warningless
when byte-compiled by its users.

The degree of warning is now overkill in many contexts
(even for novices, it could be argued).  But it is
particularly annoying for package authors to have to
reassure users that warnings they see are "normal",
because of code that adapts to multiple Emacs versions.

This kind of warning is far more ubiquitous for 3rd-party
packages than it is for "core" code, which has less
(little) concern/need for such adaptation.  The current
case is an exception that proves the rule.  And I'm glad
that the "core" occasionally gets a taste of its own
medicine in this regard.  Maybe that will help lead to a
saner approach to such warnings in general.

I don't see why the question of drowning in a sea of
typically worthless warnings is relevant only to "when
in the core"?  What is so special about "the core" in
this regard?

Please find a solution for all Emacs developers and
users, not just those hacking on the "core".

And yes, it is useful to have (most) such warnings.
What is needed is to:

* be able to notice the important ones, while also
  showing ones that are less important

* be able to have the code itself easily (and
  conditionally) inhibit them - as a whole or by type

---

FWIW, my crystal ball whispers that just analyzing
the code for sexps that are protected by `fboundp'
might go a long way toward eliminating many spurious
warnings.  I'm not saying that such analysis is easy
or that it would be super-accurate, but any such might
be an optional aid that users could take advantage of.

Another possibility might be to come up with a macro
or two that somehow encapsulates the use of things
like `fboundp' and perhaps even `featurep' or Emacs
version tests for accommodating different Emacs
versions.

(There were (are?) such macros for handling code that
is conditional for XEmacs vs GNU Emacs, for instance.)

Code that uses such macros could easily be optionally
(conditionally) made immune to the corresponding
irrelevant warnings.  But misuse would of course mean
missing some relevant ones.  And then there is the
need to explicitly include the macro definitions when
using older Emacs versions that did not define them.



  parent reply	other threads:[~2015-11-15 16:07 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-13  1:47 Fixing compilation and byte-compilation warnings before 25.1 John Wiegley
2015-11-13 12:18 ` Juanma Barranquero
2015-11-13 14:40 ` Andreas Röhler
2015-11-13 15:37   ` Artur Malabarba
2015-11-14  8:34     ` Andreas Röhler
2015-11-13 15:46   ` John Wiegley
2015-11-13 16:22     ` Paul Eggert
2015-11-13 23:00       ` John Wiegley
2015-11-14  5:54         ` daniel sutton
2015-11-14 10:58           ` Michael Heerdegen
2015-11-14 18:22             ` daniel sutton
2015-11-15 12:41               ` Michael Heerdegen
2015-11-16 14:15                 ` daniel sutton
2015-11-16 23:24                   ` Artur Malabarba
2015-11-15 16:07               ` Drew Adams [this message]
2015-11-15 16:42                 ` sea-level rise of byte-compilation warnings [was: Fixing...byte-compilation warnings...] daniel sutton
2015-11-15 17:38                   ` Drew Adams
2015-11-15 17:47                     ` daniel sutton
2015-11-15 22:39                       ` Drew Adams
2015-11-16 23:48                 ` Artur Malabarba
2015-11-16 23:52                   ` Drew Adams
2015-11-17  0:09                     ` Artur Malabarba
2015-11-17 15:45                       ` Drew Adams
2015-11-17  3:59                   ` Ivan Andrus
2015-11-14 15:23           ` Fixing compilation and byte-compilation warnings before 25.1 Andy Moreton
2015-11-14 10:55 ` Stephen Leake
2015-11-14 16:00   ` John Wiegley
2015-11-14 18:01     ` Stephen Leake
2015-11-15  9:08     ` David Engster

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

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

  git send-email \
    --in-reply-to=ad749b9d-df0f-4d46-b098-8a4bd5fe50a8@default \
    --to=drew.adams@oracle.com \
    --cc=danielsutton01@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=michael_heerdegen@web.de \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.