emacs-devel
[Top][All Lists]
Advanced

[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: Wed, 05 Dec 2007 21:35:00 +0100
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1.50 (gnu/linux)

On Tue, Dec 04 2007, Dan Nicolaescu wrote:

> Reiner Steib <address@hidden> writes:
>
>   > On Sun, Dec 02 2007, Dan Nicolaescu wrote:
>   > 
>   > > Such files can just add a 1 line compatibility code:
>   > >
>   > > (unless (fboundp 'declare-function) (defmacro declare-function (&rest 
> r)))

That still gives compiler warnings:

$ grep declare-function emacs/lisp/net/imap.el
(unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))
(declare-function sasl-find-mechanism "sasl" (mechanism))
[...]
(declare-function sasl-step-set-data  "sasl" (step data))
$ /usr/bin/emacs -Q -batch -f batch-byte-compile emacs/lisp/net/imap.el 

In toplevel form:
imap.el:970:19:Warning: reference to free variable `sasl-find-mechanism'
[...]
imap.el:975:52:Warning: reference to free variable `data'

In end of data:
imap.el:2970:1:Warning: the following functions are not known to be defined:
    declare-function, 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
 
>   > I think this is not a good idea...
>   > 
>   > ,----[ (info "(elisp)Coding Conventions") ]
[...]
> This situation is not similar, declare-function does not perform any
> active action. Why do you think it would matter? 

If some code test (fboundp 'declare-function) it probably expects that
`declare-function' exists an DTRT.  And it might be confusing if the
availability of `declare-function' depends on whether or not the user
has loaded such a package.

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]