all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: "Andreas Röhler" <andreas.roehler@online.de>,
	emacs-devel@gnu.org, "Juanma Barranquero" <lekktu@gmail.com>
Subject: Re: Fixing compilation and byte-compilation warnings before 25.1
Date: Fri, 13 Nov 2015 08:22:03 -0800	[thread overview]
Message-ID: <56460E2B.10603@cs.ucla.edu> (raw)
In-Reply-To: <m2d1vd7vhx.fsf@Vulcan.attlocal.net>

On 11/13/2015 07:46 AM, John Wiegley wrote:
> The policy should be: We never have warnings in our build on GNU Linux

That's a good goal, but the devil's in the details and the details 
aren't written down. Here's a first cut at the current situation; 
comments welcome. I suppose something like this should go into a text 
file somewhere....


I run "./configure --enable-gcc-warnings" on Fedora x86-64 with the 
latest GCC, and rewrite the code to fix all C-level warnings that this 
uncovers. This doesn't fix all warnings for older GCC versions, or for 
non-GCC compilers, or for x86 or sparc, or for code that is #ifdeffed 
out or not compiled on my plastform, etc. Some of these are not worth 
the hassle (e.g., older compilers) as the cost of code-clutter is not 
worth the benefit of possibly finding bugs with older compilers. Others 
are worth doing (e.g., non-x86-64 platforms, non-Fedora distros) but I 
lack the time and/or system access and it'd be nice if someone would 
volunteer.

I also occasionally run valgrind on Emacs executables (actually, 
temacs), and try to fix the warnings it generates. This is considerably 
harder to do, but is a real nice thing to have on our checklist.  (Right 
now, for example, there are a couple of memory-allocation bugs that I 
really would rather be fixing than writing administrative text like 
this. :-)

It'd be nice if someone would volunteer to clean up Elisp warnings (and 
thanks, Juanma, for volunteering to help). For these I see the following 
classes:

* Warnings where people install changes to .el files but don't bother to 
fix the warnings. I hope these are rare. We really need to get out of 
the habit of doing this.

* Warnings where people change module X but don't clean up the warnings 
that this causes to modules other than X. It's a hassle for developers 
to catch these ('make compile-always' is little-known and expensive). 
Perhaps our autobuild process could catch these and send email to the 
developer whose changes to X causes warnings in Y.

* Warnings where people change the byte-compiler to generate new, useful 
warnings, but don't clean up all the .el files accordingly. Here it can 
be a bit much to expect the developer to clean up everyone else's code. 
But it'd be nice if volunteers could strive to get these fixed while 
preparing for a release.

* Warnings generated because code is intended to be portable to XEmacs 
or to older GNU Emacs, and so uses deprecated interfaces on purpose. As 
far as I know there's no convenient way to say "I know FOO is 
deprecated, I want to use it anyway, don't issue a warning" in code that 
will also work in older Emacs. This should get fixed.



  reply	other threads:[~2015-11-13 16:22 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 [this message]
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               ` sea-level rise of byte-compilation warnings [was: Fixing...byte-compilation warnings...] Drew Adams
2015-11-15 16:42                 ` 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=56460E2B.10603@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=andreas.roehler@online.de \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    /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.