Re: eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, n
Xaver Gerster <[email protected]>
| Newsgroups | gmane.emacs.cedet |
|---|---|
| Message-ID | <[email protected]> |
Ok. This fixed it. Thank you.
Since you mention potential future issues of similar nature - where
could I read off from the stack by myself which ede autoload would be
missing?
Xaver
On 08/18/2014 01:54 AM, Eric M. Ludlam wrote:
> I was working through some tests a month ago, and noticed I needed to add:
>
> (require ede/proj-prog)
>
> to get the test to work. I fixed that by adding those autoloads into
> the project definition directly, but I haven't posted those fixes to
> trunk yet.
>
> There is a list you might need. The above should solve the issue for
> the specific stack below, but you may have other targets, such as from
> ede/proj-misc or others that need to be required also.
>
> Eric
>
> On 08/17/2014 01:58 PM, Xaver Gerster wrote:
>> Hi,
>>
>> I am haunted by a:
>>
>> eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp,
>> nil
>>
>> error, when trying to load a previously created project, or when trying
>> to load files from such projects. Currently I cannot use ede at all. In
>> the following I will describe a stripped down procedure how this error
>> occurs on my system. Any help would be most appreciated.
>>
>> Regards,
>> Xaver
>>
>>
>> Prolog:
>> -------
>> - I'm running GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version
>> 3.10.4)
>>
>> - Torso of an init.el:
>>
>> (global-ede-mode 1)
>> (setq ede-project-directories t)
>>
>>
>> Step 1
>> ------
>> - Created new empty directory 'khl'
>> - Started emacs in this directory
>> - Used ede-new to generate new Automake project
>> - Created single target 'mmm', type program, named 'tessi' in directory
>> 'khl'
>> - Added single *.cc file 'test.cc' to target 'mmm':
>>
>> int main() {
>> return 0;
>> }
>>
>> - The Project.ede files then reads:
>>
>> ;; Object mmm
>> ;; EDE Project Files are auto generated: Do Not Edit
>> (ede-proj-project "mmm"
>> :file "Project.ede"
>> :name "mmm"
>> :targets (list
>> (ede-proj-target-makefile-program "tessi"
>> :name "tessi"
>> :path ""
>> :source '("test.cc")
>> )
>> )
>> :makefile-type 'Makefile.am
>> )
>>
>> - Compiled the project with C-c . C
>> - After that the directory 'khl' contains
>>
>> drwxr-xr-x 4 xxxxxx users 4096 Aug 11 19:29 ./
>> drwxr-xr-x 89 xxxxxx users 4096 Aug 11 13:50 ../
>> -rw-r--r-- 1 xxxxxx users 38803 Aug 11 19:26 aclocal.m4
>> -rw-r--r-- 1 xxxxxx users 33 Aug 11 19:26 AUTHORS
>> drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:29 autom4te.cache/
>> -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 ChangeLog
>> -rw-r--r-- 1 xxxxxx users 722 Aug 11 19:26 config.h
>> -rw-r--r-- 1 xxxxxx users 625 Aug 11 19:26 config.h.in
>> -rw-r--r-- 1 xxxxxx users 11523 Aug 11 19:29 config.log
>> -rwxr-xr-x 1 xxxxxx users 32424 Aug 11 19:29 config.status*
>> -rwxr-xr-x 1 xxxxxx users 133851 Aug 11 19:29 configure*
>> -rw-r--r-- 1 xxxxxx users 479 Aug 11 19:26 configure.ac
>> -rw-r--r-- 1 xxxxxx users 35147 Aug 11 19:26 COPYING
>> -rwxr-xr-x 1 xxxxxx users 23566 Aug 11 19:26 depcomp*
>> drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:26 .deps/
>> -rw-r--r-- 1 xxxxxx users 15749 Aug 11 19:26 INSTALL
>> -rwxr-xr-x 1 xxxxxx users 13997 Aug 11 19:26 install-sh*
>> -rw-r--r-- 1 xxxxxx users 27662 Aug 11 19:29 Makefile
>> -rw-r--r-- 1 xxxxxx users 373 Aug 11 19:26 Makefile.am
>> -rw-r--r-- 1 xxxxxx users 28016 Aug 11 19:29 Makefile.in
>> -rwxr-xr-x 1 xxxxxx users 6873 Aug 11 19:26 missing*
>> -rw-r--r-- 1 xxxxxx users 17 Aug 11 19:26 NEWS
>> -rw-r--r-- 1 xxxxxx users 291 Aug 11 19:25 Project.ede
>> -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 README
>> -rw-r--r-- 1 xxxxxx users 30 Aug 11 19:29 stamp-h
>> -rw-r--r-- 1 xxxxxx users 23 Aug 11 19:29 stamp-h1
>> -rwxr-xr-x 1 xxxxxx users 12887 Aug 11 19:26 tessi*
>> -rw-r--r-- 1 xxxxxx users 27 Aug 11 19:26 test.cc
>> -rw-r--r-- 1 xxxxxx users 2928 Aug 11 19:26 test.o
>>
>> - The program can be run with C-c . R with no error.
>> - * Now I close emacs * !!
>>
>> Step 2
>> ------
>>
>> - Start emacs
>> - Trying to load the project in 'khl' I get the error:
>>
>> eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp,
>> nil
>>
>> - If I toggle the debugger: M-x toggle-debug-on-error RET
>> and try to load the project in 'khl' I get
>>
>> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
>> child-of-class-p(ede-proj-target-makefile-program ede-target)
>> eieio-persistent-validate/fix-slot-value(ede-proj-project :targets
>> (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path ""
>> :source (quote ("test.cc")))))
>> eieio-persistent-convert-list-to-object((ede-proj-project "mmm" :file
>> "Project.ede" :name "mmm" :targets (list
>> (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source
>> (quote ("test.cc")))) :makefile-type (quote Makefile\.am)))
>> eieio-persistent-read("/home/xxxxxx/projects/khl/Project.ede"
>> ede-proj-project)
>> ede-proj-load("/home/xxxxxx/projects/khl/")
>> #[(this dir) "\303#\304\"\204##\305 !\204##\306\307!\210\303#\310\"
>> !\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p
>> ede-directory-safe-p error "Attempt to load an unsafe project (bug
>> elsewhere in EDE)" load-type "Project type error: :load-type failed to
>> create a project" ede-add-project-to-global-list] 4 "Load in the project
>> associated with THIS project autoload description.\nTHIS project
>> description should be valid for DIR, where the project will\nbe
>> loaded."]([object ede-project-autoload "edeproject-makefile" "Make"
>> ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil
>> t nil] "/home/xxxxxx/projects/khl/")
>> apply(#[(this dir) "\303#\304\"\204##\305
>> !\204##\306\307!\210\303#\310\" !\211#\204 #\306\311!\210\312\n!)\207"
>> [this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to
>> load an unsafe project (bug elsewhere in EDE)" load-type "Project type
>> error: :load-type failed to create a project"
>> ede-add-project-to-global-list] 4 "Load in the project associated with
>> THIS project autoload description.\nTHIS project description should be
>> valid for DIR, where the project will\nbe loaded."] ([object
>> ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede"
>> "" unbound nil ede-proj-load ede-proj-project nil t nil]
>> "/home/xxxxxx/projects/khl/"))
>> ede-auto-load-project([object ede-project-autoload
>> "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil
>> ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/")
>> ede-load-project-file("/home/xxxxxx/projects/khl")
>> ede("/home/xxxxxx/projects/khl")
>> call-interactively(ede nil nil)
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Cedet-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/cedet-devel
>>
------------------------------------------------------------------------------