emacs-wiki-discuss
[Top][All Lists]
Advanced

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

Re: [emacs-wiki-discuss] Re: planner.el with-planner and cl


From: Jim Ottaway
Subject: Re: [emacs-wiki-discuss] Re: planner.el with-planner and cl
Date: Thu, 24 Mar 2005 08:58:45 +0000
User-agent: Gnus/5.090024 (Oort Gnus v0.24) Emacs/21.2 (gnu/linux)

>>>>> Mark Triggs <address@hidden> writes:

> Sacha Chua <address@hidden> writes:
>> sf writes:
>> 
>>> I think planner.el requires 'cl because of the use of "declare".
>>> I've seen "... void ..." messages when I am not using planner and
>>> packages requiring cl, too.
>> 
>> Hmm. That's odd. C-h f with-current-buffer has
>> 
>> (defmacro with-current-buffer (buffer &rest body)
>> "Execute the forms in BODY with BUFFER as the current buffer.
>> The value returned is the value of the last form in BODY.
>> See also `with-temp-buffer'."
>> (declare (indent 1) (debug t))
>> `(save-current-buffer
>> (set-buffer ,buffer)
>> ,@body))
>> 
>> from subr.el, which doesn't mention cl. However, declare is defined in
>> cl.

> Hm... it's also defined in subr.el by the looks of it:

>   (defmacro declare (&rest specs)
>     "Do not evaluate any arguments and return nil.
>   Treated as a declaration when used at the right place in a
>   `defmacro' form.  \(See Info anchor `(elisp)Definition of declare'.)"
>     nil)

> It seems that the actual declare form shouldn't ever get evaluated
> because defmacro plucks it out when it encounters it.  Something strange
> happening here, perhaps?

In pre-CVS emacs, such as the 21.2.1 I have here, declare is only
defined in cl-macs.el; in CVS it is defined [differently of course] in
both subr.el and cl-macs.el. 


-- 
Jim Ottaway




reply via email to

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