unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Martin Stjernholm <mast@lysator.liu.se>
Cc: Dave Love <d.love@dl.ac.uk>, Kenichi Handa <handa@m17n.org>,
	rms@gnu.org, emacs-devel@gnu.org
Subject: Re: cc-vars.el
Date: 19 Nov 2002 16:45:19 +0100	[thread overview]
Message-ID: <5bwun97ecw.fsf@lister.roxen.com> (raw)
In-Reply-To: <buod6p2xrol.fsf@mcspd15.ucom.lsi.nec.co.jp>

Miles Bader <miles@lsi.nec.co.jp> wrote:

> Martin Stjernholm <mast@lysator.liu.se> writes:
> > Dave Love <d.love@dl.ac.uk> wrote:
> > > A change for that I once suggested greatly reduced the noise and I
> > > don't think it's a big issue to re-write a few things to forms such a
> > > compiler check would be documented to recognize.
/.../
> E.g. when it sees (if (fboundp 'SYMBOL) ACTION ...), it could push
> SYMBOL on a list of functions not to warn about, while it was compiling
> ACTION.  [other forms that macroexpand into `if' without modifying the
> condition would work too]
> 
> _That_ sort of change is pretty easy, and has the advantage of working
> even with old compilers that don't special case it (they'll just emit a
> warning like before, but the generated code will be the same).

That's a good property. It can however be worked around anyway with
something like this:

    (eval-when-compile
      (unless (fboundp 'bytecomp-nowarn-funbound)
        (defmacro bytecomp-nowarn-funbound (dummy form) form)))

> [Think of it as a pragma expressed in code...]

That's the problem; you can't get the pragma without getting the code
then. E.g. if ACTION gets very large and I decide to split it up in
several functions I had to add otherwise completely unnecessary
fboundp checks in them just to silence the compiler.

Your suggestion will work most of the time, but it still needs to be
complemented with some pragma forms that doesn't have other effects.

  reply	other threads:[~2002-11-19 15:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E18CrrF-0005AT-00@fencepost.gnu.org>
     [not found] ` <rzqwunberel.fsf@albion.dl.ac.uk>
2002-11-18  0:57   ` cc-vars.el Kenichi Handa
2002-11-18 19:09     ` cc-vars.el Richard Stallman
2002-11-18 19:51     ` cc-vars.el Dave Love
2002-11-18 22:15       ` cc-vars.el Martin Stjernholm
2002-11-19  1:40         ` cc-vars.el Miles Bader
2002-11-19 15:45           ` Martin Stjernholm [this message]
2002-11-19 16:57             ` cc-vars.el Miles Bader
2002-11-19 21:58               ` cc-vars.el Martin Stjernholm
2002-11-20  2:22                 ` cc-vars.el Miles Bader
2002-11-20 13:58                   ` cc-vars.el Stefan Monnier
2002-11-20 15:43                     ` cc-vars.el Kim F. Storm
2002-11-20 15:01                       ` cc-vars.el Stefan Monnier
2002-11-20 16:37                         ` cc-vars.el Kim F. Storm
2002-11-24 19:32                           ` cc-vars.el Dave Love
2002-11-24 19:30                         ` cc-vars.el Dave Love
2002-11-20 21:29                     ` cc-vars.el Miles Bader
2002-11-20 21:44                       ` cc-vars.el Stefan Monnier
2002-11-22  1:51                       ` cc-vars.el Martin Stjernholm
2002-11-21 17:12                     ` cc-vars.el Richard Stallman
2002-11-21 18:55                       ` cc-vars.el Stefan Monnier
2002-11-22  2:00                         ` cc-vars.el Martin Stjernholm
2002-11-20 16:40                 ` cc-vars.el Dave Love
2002-11-20 16:35             ` cc-vars.el Dave Love
2002-11-19 16:59           ` cc-vars.el Dave Love
2002-11-20 21:14             ` cc-vars.el Richard Stallman
2002-11-24 19:33               ` cc-vars.el Dave Love
2002-11-20 21:41             ` cc-vars.el Miles Bader
2002-11-24 19:36               ` cc-vars.el Dave Love
2002-11-19  7:49         ` cc-vars.el Kai Großjohann
2002-11-19 16:55         ` cc-vars.el Dave Love
2002-11-19 20:35           ` cc-vars.el Martin Stjernholm
2002-11-20  9:46             ` cc-vars.el Kai Großjohann
2002-11-21 17:12               ` cc-vars.el Richard Stallman
2002-11-20 16:38             ` cc-vars.el Dave Love
2002-11-18 22:17       ` cc-vars.el Stefan Monnier
2002-11-19 17:01         ` cc-vars.el Dave Love

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=5bwun97ecw.fsf@lister.roxen.com \
    --to=mast@lysator.liu.se \
    --cc=d.love@dl.ac.uk \
    --cc=emacs-devel@gnu.org \
    --cc=handa@m17n.org \
    --cc=rms@gnu.org \
    /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).