|
|
|
|
|
by sillysaurus3
3432 days ago
|
|
getenode is only called in a few places, and each call looks like: (getenode znode)
i.e. getenode is only called on znodes. The definition of makeznode is: (defun makeznode (node)
(prog (l znode)
(setq l (list (list '(1 . 1) node)))
(xzfield node (list l node nil))
(setq znode (tellz l node))
(or (null znode) (eq znode node) (break makeznode))
(return l)))
So it seems like getenode is called on a regular list whose structure looks like (list (list '(1 . 1) node))
Assuming "node" is an enode, the way to access it would be (cadar znode), not (cdar znode). Try changing the definition of getenode to (defun getenode (l) (cadar l))
and see if it runs. |
|
Also, see
which indicate that znodes are hunks/structures, not lists. This is inconsistent, yet somehow it used to work.(If you want to talk privately about this, I'm at "nagle@animats.com". Too much detail for HN.)