unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16998: with-slots should expand to cl-symbol-macrolet
@ 2014-03-12 14:22 Jonas Bernoulli
  2014-03-12 15:12 ` Juanma Barranquero
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Jonas Bernoulli @ 2014-03-12 14:22 UTC (permalink / raw)
  To: 16998

Currently with-slots expands to symbol-macrolet
but should instead expand to cl-symbol-macrolet.

  Best regards,
  Jonas





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 14:22 bug#16998: with-slots should expand to cl-symbol-macrolet Jonas Bernoulli
@ 2014-03-12 15:12 ` Juanma Barranquero
  2014-03-12 15:35 ` Stefan Monnier
  2020-08-16 18:57 ` Jonas Bernoulli
  2 siblings, 0 replies; 10+ messages in thread
From: Juanma Barranquero @ 2014-03-12 15:12 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 16998

> Currently with-slots expands to symbol-macrolet
> but should instead expand to cl-symbol-macrolet.

I've committed this change.

But still, eieio.el should require 'cl-lib, or `cl-symbol-macrolet'
should have an autoload.

(progn
  (require 'eieio)
  (defclass test nil ((test-slot)))
  (with-slots ((s test-slot)) (make-instance 'test)
    (message "Slot = %s" s)))

Debugger entered--Lisp error: (void-function cl-symbol-macrolet)

Stefan?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 14:22 bug#16998: with-slots should expand to cl-symbol-macrolet Jonas Bernoulli
  2014-03-12 15:12 ` Juanma Barranquero
@ 2014-03-12 15:35 ` Stefan Monnier
  2014-03-12 16:04   ` Juanma Barranquero
  2014-03-12 18:00   ` David Engster
  2020-08-16 18:57 ` Jonas Bernoulli
  2 siblings, 2 replies; 10+ messages in thread
From: Stefan Monnier @ 2014-03-12 15:35 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 16998

> 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.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 15:35 ` Stefan Monnier
@ 2014-03-12 16:04   ` Juanma Barranquero
  2014-03-12 18:00   ` David Engster
  1 sibling, 0 replies; 10+ messages in thread
From: Juanma Barranquero @ 2014-03-12 16:04 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Jonas Bernoulli, 16998

On Wed, Mar 12, 2014 at 4:35 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:

> Current EIEIO still uses `cl' rather than `cl-lib', because it's part of
> CEDET which wants to run on older Emacsen.

My change shouldn't cause problems, because if you require 'cl you
require cl-lib.

But if you want to revert it, we still have a problem that an autoload
for symbol-macrolet or a (require 'cl) is needed.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 15:35 ` Stefan Monnier
  2014-03-12 16:04   ` Juanma Barranquero
@ 2014-03-12 18:00   ` David Engster
  2014-03-12 18:46     ` Stefan Monnier
  2014-03-12 22:12     ` Eric M. Ludlam
  1 sibling, 2 replies; 10+ messages in thread
From: David Engster @ 2014-03-12 18:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Jonas Bernoulli, 16998, Eric M. Ludlam

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.

-David





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 18:00   ` David Engster
@ 2014-03-12 18:46     ` Stefan Monnier
  2014-03-12 22:12     ` Eric M. Ludlam
  1 sibling, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2014-03-12 18:46 UTC (permalink / raw)
  To: David Engster; +Cc: Jonas Bernoulli, 16998, Eric M. Ludlam

> Yes, I'm sorry about causing this confusion.

No need to be sorry.  It's not an urgent task anyway.

> 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.

Aha, so the rumor was wrong ;-)

> 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).

That would be fine by me.  I just want to avoid having two divergent
versions, so if the version bundled with CEDET is frozen it's fine since
it means it won't diverge.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 18:00   ` David Engster
  2014-03-12 18:46     ` Stefan Monnier
@ 2014-03-12 22:12     ` Eric M. Ludlam
  2014-03-12 22:52       ` David Engster
  1 sibling, 1 reply; 10+ messages in thread
From: Eric M. Ludlam @ 2014-03-12 22:12 UTC (permalink / raw)
  To: David Engster; +Cc: Jonas Bernoulli, 16998

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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 22:12     ` Eric M. Ludlam
@ 2014-03-12 22:52       ` David Engster
  0 siblings, 0 replies; 10+ messages in thread
From: David Engster @ 2014-03-12 22:52 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: Jonas Bernoulli, 16998

Eric M. Ludlam writes:
> On 03/12/2014 02:00 PM, David Engster wrote:
>> 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.

Yes. I'd move EIEIO upstream in some 'fallback-libs' directory or
similar, and put this in load-path when Emacs version is <23.4 during
compilation as well as when CEDET is loaded.

>   Eventually this will become unnecessary.

Yes. Our minimum version currently is 23.2, and as long as it does not
become too painful, there's no need to bump it.

> 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)

Actually, that feature will be part of the upcoming 24.4 release, so it
won't be needed there.

> 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.

I don't think this should be too difficult, but if it turns out to be a
nightmare, I think we could bump the minimum version to 23.4 without
alienating too many people...

-David





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2014-03-12 14:22 bug#16998: with-slots should expand to cl-symbol-macrolet Jonas Bernoulli
  2014-03-12 15:12 ` Juanma Barranquero
  2014-03-12 15:35 ` Stefan Monnier
@ 2020-08-16 18:57 ` Jonas Bernoulli
  2020-08-16 19:09   ` Lars Ingebrigtsen
  2 siblings, 1 reply; 10+ messages in thread
From: Jonas Bernoulli @ 2020-08-16 18:57 UTC (permalink / raw)
  To: 16998


>> Currently with-slots expands to symbol-macrolet
>> but should instead expand to cl-symbol-macrolet.

> I've committed this change.

This is what this issue was about and it has been taken care of a long
long time ago.

> But still, eieio.el should require 'cl-lib, or `cl-symbol-macrolet'
> should have an autoload.

Nowadays it requires `eieio-core', which requires `cl-lib', so this has
been taken care of as well.

> 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'.

Done too.


This issue can be closed.

     Jonas





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#16998: with-slots should expand to cl-symbol-macrolet
  2020-08-16 18:57 ` Jonas Bernoulli
@ 2020-08-16 19:09   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 10+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-16 19:09 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 16998

Jonas Bernoulli <jonas@bernoul.li> writes:

> This issue can be closed.

OK; closing.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-08-16 19:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-12 14:22 bug#16998: with-slots should expand to cl-symbol-macrolet Jonas Bernoulli
2014-03-12 15:12 ` Juanma Barranquero
2014-03-12 15:35 ` Stefan Monnier
2014-03-12 16:04   ` Juanma Barranquero
2014-03-12 18:00   ` David Engster
2014-03-12 18:46     ` Stefan Monnier
2014-03-12 22:12     ` Eric M. Ludlam
2014-03-12 22:52       ` David Engster
2020-08-16 18:57 ` Jonas Bernoulli
2020-08-16 19:09   ` Lars Ingebrigtsen

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).