i am having difficulties with some code which works fine in clisp 2.30
as long as i only use the default require / provides mechanism for
defining dependencies. but when i use defsystem from clocc i get an error.
the original program is not mine, and i am just trying to understand it,
but in the attached file you can see the part of the code that produces
the problem. when i load the original program (not this boiled down test
file) with defsystem i get the following problem:
1. Break > (type-of jt-node)
1. Break > (get-setf-expansion '(jt-table jt-node))
(SYSTEM::%STRUCTURE-STORE 'JT-SEPARATOR #:G2873 2 #:G2874) ;
i have an object of type jt-node, but the setf expansion wants to have a
jt-separator object and the error produced looks like this:
*** - SYSTEM::%STRUCTURE-STORE:
#S(JT-NODE :VARIABLES (BOWEL FAMILY DOG)
#3A(((1.0 1.0) (1.0 1.0))
((1.0 1.0) (1.0 1.0)))
:NAME #:C2845 :NEIGHBOURS NIL) is not a structure of type JT-SEPARATOR
i did not find any defsetf or similar in the original program which
would have an influence on the behaviour of the jt-table slot. and
besides that everything works fine with require / provides.
the single test file is just giving the bare minimum of the program and
i am not able to reproduce the problem with this signle test file, but i
am able to reproduce it in the original program.
my question is now if anybody could tell me if there are certain
pitfalls i should watchout for in order to debug this problem?
many thanks for any hints!!