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


View this message in rfc822 format

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Tassilo Horn <tsdh <at> gnu.org>
Cc: 20141 <at> debbugs.gnu.org, Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
Subject: bug#20141: 24.4.91; Helm is broken after last changes in eieio
Date: Thu, 19 Mar 2015 09:10:22 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> (defclass helm-source ()
>   ((name
>     :initarg :name
>     :initform nil
>    (header-name
>     :initarg :header-name)))
>    
>   "Main interface to define helm sources."
>   :abstract t)
>
> (eieio-class-slots 'helm-source)
>
> Until today it returned (name)

Why is there "header-name" missing in the return value, btw?  Sorry if
this is a dumb question, I don't know eieio much.

> , now, you get
>
> ([cl-struct-cl-slot-descriptor name nil t nil])

Let me add that it breaks this code in helm:

--8<---------------cut here---------------start------------->8---
(defun helm--create-source (object)
  "[INTERNAL] Build a helm source from OBJECT.
Where OBJECT is an instance of an eieio class."
  (cl-loop for s in (object-slots object)
           for slot-val = (slot-value object s)
           when slot-val
           collect (cons s (unless (eq t slot-val) slot-val))))
--8<---------------cut here---------------end--------------->8---

`slot-value' barks that the second arg is not a symbol.




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.