eieio-persistent-validate/fix-slot-value: In save file, list of object constructors found, but no :type specified for slot :inference-rules

Ian Kellett <[email protected]> Fri, 16 Jan 2015 01:54:01 +0100
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
Hi all,

Perhaps this is a bug. At least someone else might find it useful.

I have been experiencing the following problem with the clone of the cedet repository from earlier today
as well as the built-in cedet in emacs:

Upon creating a new Automake or Makefile EDE project, if I would do nothing but add an 'inference-rule'
to the project or add an additional rule to a target, and then, for instance, restart emacs and try
to reload the project using 'M-x ede', I would receive the error message 

'eieio-persistent-validate/fix-slot-value: In save file, list of object constructors found, but no :type specified for slot :inference-rules'

or

'eieio-persistent-validate/fix-slot-value: In save file, list of object 
constructors found, but no :type specified for slot :rules'

depending which kind of rule I tried to add.

To fix this I did the following: 

1) In 'proj.el' changed the 'ede-proj-project' inference-rules slot to have ':type ede-makefile-rule-list'. (shown below)
2) In 'proj.el' similarly for 'ede-proj-target-makefile' (shown below)
3) Byte compile 'proj.el'.

That is changing from
(defclass ede-proj-project (...
...
   (inference-rules :initarg :inference-rules
            :initform nil
            :custom (repeat
                 (object :objecttype ede-makefile-rule))
            :documentation "Inference rules to add to the makefile.")
...)

to

(defclass ede-proj-project (...
...
   (inference-rules :initarg :inference-rules
            :initform nil
            :type ede-makefile-rule-list
            :custom (repeat
                 (object :objecttype ede-makefile-rule))
            :documentation "Inference rules to add to the makefile.")
...)

Changed

(defclass ede-proj-target-makefile (...
...
   (rules :initarg :rules
      :initform nil
      :type list
      :custom (repeat (object :objecttype ede-makefile-rule))
      :label "Additional Rules"
      :group (make)
      :documentation
      "Arbitrary rules and dependencies needed to make this target.
It is safe to leave this blank.")
...)

to

(defclass ede-proj-target-makefile (...
...
   (rules :initarg :rules
      :initform nil
      :type ede-makefile-rule-list
      :custom (repeat (object :objecttype ede-makefile-rule))
      :label "Additional Rules"
      :group (make)
      :documentation
      "Arbitrary rules and dependencies needed to make this target.
It is safe to leave this blank.")
...)

Cheers,
Ian

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet

_______________________________________________
Cedet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cedet-devel