Subject: bug#16998: with-slots should expand to cl-symbol-macrolet

From: "Eric M. Ludlam" <[email-masked]>
Date: Wed, 12 Mar 2014 18:12:54 -0400

On 03/12/2014 02:00 PM, David Engster wrote:
> Stefan Monnier writes:
>>> Currently with-slots expands to symbol-macrolet
>>> but should instead expand to cl-symbol-macrolet.
>>
>> Current EIEIO still uses `cl' rather than `cl-lib', because it's part of
>> CEDET which wants to run on older Emacsen.
>>
>> I'm waiting for the CEDET guys to drop EIEIO from CEDET (and rely on
>> Emacs's builtin EIEIO instead) to move EIEIO to `cl-lib'.
>>
>> Some rumors make me think it could happen "real soon now", but it's been
>> that way for a while now, so maybe the rumor is wrong, or my
>> understanding of it is wrong.
>
> Yes, I'm sorry about causing this confusion. I tried to remove it, but
> it turned out to be more difficult than it looked, mostly because of the
> changes we made w.r.t. the EDE security fix, which introduced
> type-checking for slots. Older EIEIO versions in Emacs<23.4 don't have
> that, which make them pretty much incompatible with current CEDET, which
> is why we still have it upstream.
>
> However, I think that there's no problem to "officially" state that
> EIEIO development now happens in Emacs, and that the version in CEDET
> will not get updated anymore, but will remain there as a fallback
> library for older Emacsen (similar to what Gnus does).
>
> Eric, would you be OK with that? That would allow us to update the
> built-in EIEIO to current Emacs coding standards without breaking
> CEDET-from-bzr on older Emacsen.

This proposal is fine by me.  Short term we will just need to find a 
good way to have standalone CEDET bootstrap in with either the Emacs 
version, or with the one in CEDET.   Eventually this will become 
unnecessary.

The CEDET bootstrapping still cares about some features missing from 
Emacs (according to the comments) such as:

   ;; Currently, Emacs proper doesn't track EIEIO methods.  Until it
   ;; does, we have to advice `describe-variable' and `describe-function'
   ;; for EIEIO methods to get better help buffers.

  and

   ;; This adds further formatting and hyperlinks.
   (add-hook 'temp-buffer-show-hook 'eieio-help-mode-augmentation-maybee t)

I think we will just need to check the Emacs version, and change how we 
bootstrap and compile.  I'm interested in any advice on this.

Thanks
Eric