[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: declare-function in files from Gnus (hashcash.el, imap.el)

From: Reiner Steib
Subject: Re: declare-function in files from Gnus (hashcash.el, imap.el)
Date: Sat, 01 Dec 2007 19:35:52 +0100
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1.50 (gnu/linux)

On Sat, Dec 01 2007, Glenn Morris wrote:

> Reiner Steib wrote:
>> Maybe we could add (defalias 'declare-function 'ignore ...) (like in
>> Emacs 22.2) to `gnus/lisp/dgnushack.el' (in Gnus).
> I think that's the best idea. 

I'm not so sure.  Several problems come to my mind:

- `dgnushack.el' itself is considered harmful by some people.  Instead
  of compiling all lisp files at once, the make procedure should maybe
  call "emacs ... -f batch-byte-compile FILE.el" for each file as the
  Makefile in Emacs does.

- When compiling with Emacs 22.1 (or Emacs 21) even with `ignore', I
  get additional bogus warnings:

  /usr/bin/emacs-22.1 -Q -batch --eval \
  "(unless (fboundp 'declare-function) (defalias 'declare-function 'ignore))" \
  -f batch-byte-compile emacs/lisp/net/imap.el 

  In toplevel form:
  imap.el:969:19:Warning: reference to free variable `sasl-find-mechanism'
  imap.el:970:19:Warning: reference to free variable `sasl-mechanism-name'
  imap.el:971:19:Warning: reference to free variable `sasl-make-client'
  imap.el:971:57:Warning: reference to free variable `name'
  imap.el:971:62:Warning: reference to free variable `service'
  imap.el:971:70:Warning: reference to free variable `server'
  imap.el:972:19:Warning: reference to free variable `sasl-next-step'
  imap.el:972:54:Warning: reference to free variable `step'
  imap.el:973:19:Warning: reference to free variable `sasl-step-data'
  imap.el:974:19:Warning: reference to free variable `sasl-step-set-data'
  imap.el:974:52:Warning: reference to free variable `data'
  In end of data:
  imap.el:2969:1:Warning: the following functions are not known to be defined:
      mechanism, client, step, sasl-mechanism-name, sasl-make-client,
      sasl-next-step, sasl-step-data, sasl-step-set-data
  Wrote [...]/emacs/lisp/net/imap.elc

- When loading `*.el' or evaluating the buffer (sometimes necessary to
  get a better backtrace or for testing), you get:

  eval-buffer: Symbol's function definition is void: declare-function

- Doesn't it work for XEmacs?  When building an XEmacs package,
  `dgnushack.el' isn't used, I'd guess.

> This would let us add similar statements to files in gnus/. 

Please don't do this yet.  Let's wait until we come to a good solution
in this thread and until Miles has synched the current
declare-function changes to Gnus and we see which (other) problems it
may cause for the stand-alone Gnus.

> (I just posted to ding suggesting this; may as well use this thread
> to discuss it rather than that one.)

Yes.  I hadn't seen your message when writing/sending mine.

Bye, Reiner.
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]