GNU bug report logs - #20141
25.0.50; Helm is broken after last changes in eieio

Previous Next

Package: emacs;

Reported by: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>

Date: Thu, 19 Mar 2015 05:19:01 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


Message #32 received at 20141 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 20141 <at> debbugs.gnu.org, Thierry Volpiatto <thierry.volpiatto <at> gmail.com>,
 Tassilo Horn <tsdh <at> gnu.org>
Subject: Re: bug#20141: 24.4.91; Helm is broken after last changes in eieio
Date: Thu, 19 Mar 2015 10:20:26 -0400
> (eieio-class-slots 'helm-source)
[...]
> Until today it returned (name), now, you get
> ([cl-struct-cl-slot-descriptor name nil t nil])

eieio-class-slots is new in Emacs-25, so it's OK if it's different
from yesterday.  But indeed, it looks I failed to adapt object-slots.
Does the patch below fix the problems people are seeing?


        Stefan


diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 4ba6769..8d76df8 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -453,10 +453,11 @@ The CLOS function `class-direct-subclasses' is aliased to this function."
   (mapcar #'identity (eieio--class-slots class)))
 
 (defun object-slots (obj)
-  "Return list of slots available in OBJ."
+  "Return list of slot names available in OBJ."
   (declare (obsolete eieio-class-slots "25.1"))
   (cl-check-type obj eieio-object)
-  (eieio-class-slots (eieio--object-class obj)))
+  (mapcar #'cl--slot-descriptor-name
+	  (eieio-class-slots (eieio--object-class obj))))
 
 (defun eieio--class-slot-initarg (class slot)
   "Fetch from CLASS, SLOT's :initarg."




This bug report was last modified 10 years and 64 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.