[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Science to suppress compiler warnings
From: |
Lennart Borgman |
Subject: |
Re: Science to suppress compiler warnings |
Date: |
Wed, 3 Jun 2009 11:58:55 +0200 |
On Wed, Jun 3, 2009 at 6:43 AM, Stephen J. Turnbull <address@hidden> wrote:
> Xavier Maillard writes:
>
> > Elisp manual at "Compiler Errors" section (16.6) says we should
> > conditionalize variable use with a boundp test (same thing for
> > undefined function) but I find it very unpractical.
>
> If this is related to your work on supporting old versions of Emacs,
> my advice is "live with it". Either use the runtime test if it's an
> Emacs-defined variable, or use an appropriate `defvar' or `defconst'
> to initialize the variable.
>
> Suppressing compiler warnings is very likely to lead to runtime
> errors, often intermittent ones. Eg, there may be an unusual code
> path that leads to reference to a void variable very early in an Emacs
> session. Boom! But unless you type that exact sequence of commands
> immediately after starting Emacs, something requires the relevant
> library, and no problem can be found.
>
> Such bugs are quite hard to diagnose, even to localize, if the user is
> not an Emacs expert. A boundp check with a good error message, or a
> proper initialization with `defvar', will prevent or at least help
> diagnose a lot of problems.
But if you combine (defvar foo) with tests everywhere foo is used you
should be safe ...
- RE: Science to suppress compiler warnings, (continued)
- Science to suppress compiler warnings, Stephen J. Turnbull, 2009/06/03
- Re: Science to suppress compiler warnings,
Lennart Borgman <=