Re: eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, n
"Eric M. Ludlam" <[email protected]>
| Newsgroups | gmane.emacs.cedet |
|---|---|
| Message-ID | <[email protected]> |
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
>
------------------------------------------------------------------------------