unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Dave Love <d.love@dl.ac.uk>
Cc: Richard Stallman <rms@gnu.org>,  emacs-devel@gnu.org
Subject: Re: bytecomp warning for CL functions
Date: 01 Jul 2002 19:11:19 +0100	[thread overview]
Message-ID: <rzqofdrfhdk.fsf@albion.dl.ac.uk> (raw)
In-Reply-To: 200206261410.g5QEASU11961@rum.cs.yale.edu

"Stefan Monnier" <monnier+gnu/emacs@rum.cs.yale.edu> writes:

> Could someone explain to me what this really does ?

It detects all (I hope) use of cl functions in the compiled code to
help me debug it.

> I had installed a hack that tries to notice when you call a function
> that will not be available at runtime (because the library
> was loaded via (eval-when-compile (require 'LIB)) as is done for CL).

The cases of interest are when that isn't done, or when you're in a
session that's already loaded it for some reason (e.g. Debian with
various Emacs packages installed) or when there's an explicit autoload
defined for a cl function, &c.  (Real examples.)

> I notice for example that it warns about code that uses `values' but
> since the CVS has replaced the defvalias with a defsubst for `values',
> a call to `values' gets replaced during byte-compilation so that
> it works just fine even without using CL at runtime.

The warning would be useful regardless, if you're trying to make stuff
run in 21.2.  In principle it would also list things problematic in
Emacs 20, but I don't currently need that.

> What I'm trying to figue out is if there is a way to get the benefits
> of Dave's code without having to hard-code any particular list
> of functions.

Sure.  You'd have to check the indirections of aliases to see if they
contained anything defined in the cl files.  Obviously you could
generalize it to deal with packages other than cl, but I can't think
of any for which that would be useful.

  reply	other threads:[~2002-07-01 18:11 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <rzqhejse35l.fsf@albion.dl.ac.uk>
2002-06-25 23:32 ` bytecomp warning for CL functions Richard Stallman
2002-06-26 14:10   ` Stefan Monnier
2002-07-01 18:11     ` Dave Love [this message]
2002-07-02 19:45       ` Richard Stallman
2002-07-03  7:21         ` Juanma Barranquero
2002-07-08 18:20           ` Richard Stallman
2002-07-18 18:48           ` Dave Love
2002-07-19  6:09             ` Juanma Barranquero
2002-07-19 16:54             ` Richard Stallman
2002-07-08 18:19     ` Richard Stallman
2002-07-18 18:53       ` Dave Love
2002-07-19 16:54         ` Richard Stallman
2002-07-19 17:49           ` Stefan Monnier
2002-07-20  0:35             ` Richard Stallman
2002-07-29 22:46           ` Dave Love
2002-07-30 18:46             ` Richard Stallman
2002-07-08 18:20     ` Richard Stallman
2002-07-08 19:30       ` Luc Teirlinck
2002-07-09 18:51         ` Richard Stallman
2002-07-18 18:34         ` Dave Love
2002-07-19 16:54           ` Richard Stallman
2002-07-22 22:15             ` 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=rzqofdrfhdk.fsf@albion.dl.ac.uk \
    --to=d.love@dl.ac.uk \
    --cc=emacs-devel@gnu.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).